
ネイティブ Linux ホスト上で VirtualBox ソフトウェアを使用して仮想化された Windows 7 (32 ビット) マシンがあります。
一部の高度なソフトウェア(ArcGIS デスクトップ 10.1) 私は欲しい:
OpenGL バージョン 2.0 ランタイム以上が必要であり、Shader Model 3.0 以上が推奨されます。
私はシステム要件の確認結果は次のようになります。利用可能なシェーダー モデルがないことがわかります。
さて、なぜだろうと思いました。VirtualBox は初期バージョンからシェーダー モデルをサポートしています。ビデオ カードの設定を確認するために、OpenGL Viewer ソフトウェアをダウンロードしました。結果は次のとおりです。
OpenGL ビューアでは、OpenGL 2.1 と頂点およびピクセル シェーダ モデル バージョン 3.0 がインストールされていることが示されています。では、一部のソフトウェアではこれを検出しないのはなぜでしょうか?
ちなみにArcGISは正しく動作していません。このスレッドそのため、VirtualBox のシェーダー モデルには重大な問題があると考えられます。
これを修正するにはどうすればいいでしょうか?
答え1
シェーダーモデルを正常に有効にするには、3Dハードウェアアクセラレーション用の実験的なWDDMドライバーをインストールする必要があることがわかりました。ここで説明。
- デバイスに少なくとも 128 MB のビデオ メモリが割り当てられていることを確認します (256 MB を推奨)。
- 実験的なドライバーをインストールする場合、セーフ モードは必要ありません。
- デバイス > ゲスト追加機能をインストール... (ホスト + D)
- 選択: Direct2D サポート (実験的)
- WDDMドライバーの代わりに基本3Dドライバーをインストールすることを提案します。WDDMドライバーをインストールするには、クリックするだけです。いいえそしてわかりました。
- インストールを完了します。
- リブート。
終わり。
答え2
さて、私の回答は DirectX シェーダーのサポートに関するものです。OpenGL と DirectX は互換性がある場合があるので、誰かにとって役立つことを願っています。
実験的なWDDMドライバによるゲスト追加では、ピクセルまたは頂点シェーダモデルが有効になりません。3.0DirectX または OpenGL の場合。代わりにスプーファーを試しました:DXTweaker
およびSwiftshader
。
DXTweaker、別名DirectX Tweakerは値を偽装しますが、アプリやゲームは追加のチェックを行い、シェーダー3.0を検出しません。ちなみに、これは次のようにのみ存在します。時限爆弾ベータ調整を試してみたい場合は、VM の日付を 2005 年のどこかに設定して動作させる必要があります。
Swiftshaderは動作しますが、デモレンダリングされた画像の上にロゴが表示されます。また、いくつかの方法でクラッシュします。
- ゲームをフルスクリーンで起動すると、VM が BSOD になる
- ゲームを自分の解像度以外の解像度に設定すると、ホストネイティブ (1366*768)- クラッシュします。ウィンドウまたはフルスクリーンで異なる解像度で VM を実行してもクラッシュします。
また、偽装されたシェーダーはエミュレートされず、レンダリングされないことにも注意してください。結果の画像に不具合が発生します。