仮想マシンでの3Dアクセラレーション パート2:VirtualBoxとOpenGLの設定方法チュートリアル
本記事は、仮想マシンにおける3D仮想化の設定と活用方法を解説する全3回シリーズの第2回です。今回は、WindowsまたはLinuxホスト上にインストールしたVirtualBoxで動作するWindows仮想マシンに対して、OpenGLアプリケーション(およびゲーム)向けの3Dアクセラレーションを有効にする方法を学びます。
前回の第1回では、VMware製品を使ってWindows上のDirectXプログラムに3Dアクセラレーションを有効化する手順をご紹介しました。このときはホストOSがWindowsでもLinuxでも問題なく動作しました。そして最終回となる第3回では、LinuxホストとLinux仮想マシンの間でGPUリソースを共有する構成に挑戦します。それでは始めましょう。

VirtualBoxとOpenGL
必要なもの
まず、VirtualBox 2.1.0以降がインストールされている必要があります。バージョン2.1.0から、VirtualBoxはOpenGLアプリケーション向けの3Dアクセラレーションを正式にサポートしています。この機能は、VMwareとDirectXの組み合わせを補完するものとして非常に有用です。なお、ホストOSの種類は問いません。
本チュートリアルでは、以下の環境を使用しています。
- Windows XP SP3ホストにインストールしたVirtualBox 2.1.0(Windowsホストの例)
- Ubuntu 8.10ホストにインストールしたVirtualBox 2.1.0(Linuxホストの例)
- いずれの場合もゲストOSとしてWindows XP SP3を使用
- ゲストOSにGuest Additions(ゲストアディションズ)をインストール済み
- 仮想マシン設定の一部変更
- 動作確認用のOpenGL対応ゲーム
また、スムーズに進めるために、「仮想化」セクションの他のチュートリアルも参照することをおすすめします。私のチュートリアルは時系列かつ段階的に構成されており、それぞれが前の内容を踏まえています。VirtualBoxやWindows XPゲストOSのインストール・設定に不安がある方は、以下の記事を先に読んでおくと良いでしょう。
「VirtualBox Guest Additionsのインストール方法 - チュートリアル」
「Windows XPのインストール - 完全チュートリアル」
Guest Additionsのインストールを確認する
まず仮想マシンを一度起動し、Guest Additionsがインストールされているかどうかを確認しましょう。VMware Toolsと同様に、Guest Additionsもシステムトレイにアイコンが表示されます。確認ができたら、仮想マシンをシャットダウンして、3Dアクセラレーションを有効にします。
仮想マシンで3Dアクセラレーションを有効にする設定
VMwareの場合と比べて、この設定は格段に簡単です。設定ファイルを手作業で編集する必要は一切なく、すべてGUI操作だけで完了します。所要時間はわずか17秒程度です。
VirtualBoxを開き、使用したい仮想マシンを選択して「設定」をクリックします。「一般」セクションの「ビデオメモリサイズ」を任意の値(今回は64MB)に変更し、「3Dアクセラレーションを有効化」にチェックを入れるだけです。これで設定完了です!

次にゲストOSを起動し、お好みのゲームをインストールしてテストします。今回は「OpenArena」を選択しました。
設定のテスト
それでは実行してみましょう。
パフォーマンスは驚異的というほどではありませんでしたが、VMware ServerとDirectXの組み合わせで得られた結果と同様、十分許容できる水準でした。ゲームは動作しましたが、ネイティブ環境に比べるとかなり動きは遅めでした。
Linuxホスト+Windowsゲストの組み合わせ
同様の手順を、今度はLinux上で実行します。
すると、驚くことに、Ubuntuホスト上でのパフォーマンスはWindowsホストよりはるかに優れていました!ゲームのパフォーマンスとレスポンスは、ネイティブ環境とほぼ同等のレベルでした。
3Dアクセラレーションはまだ実験的な機能であるため、セットアップによって結果が大きく異なるのはある意味当然と言えます。現時点では、OpenGLアプリケーションを実行したいのであれば、Linuxホストを使用するのが最良の選択のようです。
これは理にかなっています。DirectXは純粋なWindows専用技術であり、OpenGLはそのオープンソース版とも言える存在だからです。オープンソースのパイオニアであるSunが開発したVirtualBoxが、オープンソースのUbuntu上で動作するという構成は、OpenGLとのよりシームレスな統合を実現する有力な候補と言えるでしょう。
まとめ
VirtualBoxとOpenGLは素晴らしい組み合わせです。特にLinuxホストをお使いの場合にその真価を発揮します。確かに、Linuxはこれらのアプリケーションをネイティブでサポートしているため、仮想環境でOpenGLアプリケーションを実行する需要は少ないかもしれません。しかし、必要となった場合には、優れた結果が得られます。
繰り返しになりますが、この機能が現在まだ実験段階であることを忘れないでください。同じ結果を保証することはできません。とはいえ、私は4つの異なるシステム(Windowsと2種類のLinux)、3台の異なるマシン(IntelとAMDアーキテクチャの両方)、32ビットと64ビットの両方のOSでこの機能をテストしており、問題なく動作するはずです。何より嬉しいのは、設定が非常に簡単なことです。10秒もあれば完了します!
以上、2つの記事で2つの優れたソリューションをご紹介してきました。VMwareとDirectXの組み合わせ、そしてVirtualBoxとOpenGLの組み合わせ。どちらも用途に応じて選べます。第3回では、Linuxゲストへの3Dアクセラレーションの導入に挑戦します。
それでは、また次回お会いしましょう。
-
仮想マシンで3Dアクセラレーション 第3回:Linuxホスト×Linuxゲスト環境でVMGLに挑戦 ― 果たして可能なのか?
仮想化に関するシリーズ第3回となる本記事は、おそらくシリーズ中で最も難易度の高い内容です。これまで、VMware製品ではDirectXサポートが、VirtualBoxではOpenGLサポートが提供されてきましたが、いずれもWindowsゲスト限定のものでした。ホスト側のOSは問われません。では、Linuxゲストではどうなるのでしょうか? 当初は不可能だと考えていました。ところが、linux.comの記事で、VMGLというアプリケーションを使えばLinuxゲストでも3D描画を楽しめると知りました。非常に有望に見えた一方で、難しそうでもありました。5〜10分の手軽なハックではなく、かなり大掛かりな
-
仮想マシンで3Dアクセラレーションを実現する方法 パート1:VMwareとDirectXの設定チュートリアル
既存のホストマシンの上で仮想化されたOSを動かすのは、とても魅力的なアイデアです。楽しく、クールで、実際のプラットフォームに導入する前にソフトウェアを試せるだけでなく、通常はためらってしまうような操作にも挑戦できます。さらに大きな柔軟性を得られ、展開コストも大幅に削減できます。しかし、ほとんどの仮想化ソフトウェアに欠けていたのが、ゲストOS向けの3Dアクセラレーションでした。あるいは「欠けていた」と言うべきでしょう……今や、仮想マシンでの3Dアクセラレーションは現実のものとなっています。はじめにこの連載記事では、ゲストOSで3Dアクセラレーションを有効にするために必要な簡単な設定テクニックを紹