2013年8月1日木曜日

MacでDirectXを使うソフトを動かす方法

Rubyでアプリを開発するために、DirectXを使ったDXRubyというライブラリが必要になったので普段使っているMac Book AirでDirectXを動かせないかと色々試しました。下記の三つの方法を試した所、3番目のVMWare Fusion 5を使ったWindowsの仮想化で動きました。

  1. WineでMac上でDirectXをエミュレート
  2. Windowsを仮想マシンとして動かす(Virtual Box)
  3. Windowsを仮想マシンとして動かす(VMWare Fusion 5)
それぞれの失敗点とか説明します。
まず1はWineのインストールがとても面倒でした。gccやらパッケージがuniversalじゃないやらでかなり時間がかかりました。そして、Wineのインストール完了後にDirectXのインストール用exeを実行すると、フリーズして動かなかったので諦めました。(Wineが正常に動作していない可能性もありますw)

2は、無料の仮想化ソフトのVirtual BoxをつかってWindows 7を動かしました。
DirectXを有効化するためには以下二つの設定をしました。
まずは、仮想マシンの"設定"→"ディスプレイタブ"でVideo memoryを128MBに設定、3Dアクセラレーションを有効化する。
次に、Windowsをいったんシャットダウンしてからセーフモードで起動する→Virutual Boxのメニューバーから"デバイス"→"Guest Additions"を選択する。インストール画面がでない場合はCDドライブにVBoxWindowsAdditionといったようなインストール用のプログラム名が表示されるので、これを実行する。
これで設定が終わったので、Win+Rで"dxdiag"と入力して出てくる画面で確認すると、Direct3DとDirectDrawは使用可能なのですがAGPテクスチャが利用不可になっていました。
そんでDXRubyを動かすと、動きませんでした。
原因はわかりませんが、そもそもVirtualBoxで3Dアクセラレーションを利用するには、WindowsXP/Vista/7もしくはLinux 2.6.27以上が必要であるとのことなのでそもそもMacには対応してないのかも知れません。

3番目は最後の手段として、仮想化ソフトのVMWare Fusionを試しました。
これは仮想化技術で有名なVMWareが作ったソフトで有料です。(8000円くらい)
WindowsならVMWare Playerという無償のソフトがあるのですが、Macでは有料ソフトしかないのでそこはユーザ数の違いなんでしょうかね。
とりあえず30日の無償試用期間があるので、試しに入れてみました。
そしたら、なにも設定することなくDXRubyが動きました。
さすが有料と言うだけあると思いました。

三つの方法の内、解決策である3番は有償ソフトが必要になるので、できれば別のやり方で動かせるようにしたいですね。
だけどとりあえず動かせるということで、30日はこれで行こうと思います。
また機会があれば色々試してみます!
Web Analytics