web-dev-qa-db-ja.com

VirtualBoxのシェーダーモデルの問題を解決するにはどうすればよいですか?

ネイティブLinuxホストでVirtualBoxソフトウェアを使用して仮想化されたWindows7(32ビット)マシンを使用しています。

一部の高度なソフトウェアの場合( ArcGIS Desktop 10.1 )必要なもの:

OpenGLバージョン2.0ランタイムの最小要件が必要であり、Shader Model3.0以降をお勧めします。

私は システム要件チェック を実行してきました、これらは結果です-利用可能なシェーダーモデルがないことを教えてくれます:

system requirements check

さて、なぜだろうと思っていましたか? VirtualBoxは、初期のバージョンからシェーダーモデルをサポートしています。ビデオカードの設定を確認するためにOpenGLViewerソフトウェアをダウンロードしました。結果は次のとおりです。

opengl viewer

OpenGLビューアーは、OpenGL 2.1と、頂点およびピクセルシェーダーモデルバージョン3.0がインストールされていることを示しています。では、なぜ一部のソフトウェアがこれを検出しないのでしょうか。

ちなみに、ArcGISは正しく機能していません このスレッド で説明されています。そのため、VirtualBoxのシェーダーモデルにはいくつかの深刻な問題があると思います。

これを修正する方法は?

6
Afr

私は理解しました:シェーダーモデルを正常に有効にするには、3Dハードウェアアクセラレーション用の実験的なWDDMドライバーをインストールする必要があります。のように ここで説明

  1. デバイスに少なくとも128MBのビデオメモリが割り当てられていることを確認してください(256MBを推奨)。
  2. 実験用ドライバのインストールにはセーフモードは必要ありません。
  3. デバイス>ゲスト追加をインストール...(ホスト+ D)
  4. 選択:Direct2D-サポート(実験的)
  5. WDDMドライバーの代わりに基本的な3Dドライバーをインストールすることをお勧めします。 WDDMドライバーをインストールするには、NoおよびOkをクリックするだけです。
  6. インストールを終了します。
  7. リブート。

完了。

9
Afr

さて、私の答えはDirectXシェーダーのサポートについてです。OpenglとDirectXは交換可能であることがあるので、誰かに役立つことを願っています。

実験的なWDDMドライバーを使用したゲストの追加では、DirectXまたはOpenGLのピクセルまたは頂点シェーダーモデル.が有効になりません。代わりにスプーファーを試しました:DXTweakerSwiftshader

DXTweaker別名DirectXTweakerは値をスプーフィングしますが、アプリ/ゲームはいくつかの追加チェックを実行し、シェーダー3.0を検出しません。ちなみに、それは時限爆撃ベータとしてのみ存在し、微調整を試してみたい場合は、日付をVM 2005年のどこかに設定する必要があります。

Swiftshaderは機能しますが、demoとしてのみ使用可能であり、レンダリングされた画像の上にロゴを表示します。また、いくつかの方法でクラッシュします。

  • フルスクリーンでゲームを開始した場合-VMはBSODに移動します
  • ゲームを自分以外の解像度に設定するとホストネイティブ(1366 * 768)-クラッシュします。 VMを異なる解像度、ウィンドウまたはフルスクリーンで実行した場合でも。

また、スプーフィングされたシェーダーはエミュレートされず、レンダリングされないことに注意してください。結果の画像にグリッチが表示されます。

1
Rast