
我有一台在本機 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 驅動程式。喜歡此處描述。
- 確保裝置至少分配 128MB 視訊記憶體(建議 256MB)。
- 安裝實驗驅動程式不需要安全模式。
- 設備 > 安裝來賓新增項目...(主機 + D)
- 選擇:Direct2D 支援(實驗性)
- 它建議安裝基本 3d 驅動程式而不是 WDDM 驅動程式。要安裝 WDDM 驅動程序,只需單擊不和好的。
- 完成安裝。
- 重啟。
完畢。
答案2
好吧,我的答案是關於 DirectX 著色器支持,我希望它對某人有用,因為有時 Opengl 和 DirectX 是可以互換的。
實驗性 WDDM 驅動程式的來賓新增不會啟用像素或頂點著色器模型3.0用於 DirectX 或 OpenGL。我嘗試了欺騙:DXTweaker
和Swiftshader
。
DXTweaker 又稱為 DirectX Tweaker 欺騙值,但應用程式/遊戲會執行一些額外的檢查,並且不會偵測著色器 3.0。順便說一句,它只存在於定時炸彈測試版如果您想嘗試其調整,則需要將 VM 中的日期設定為 2005 年的某個時間才能使其正常運作。
Swiftshader 可以工作,但只能作為示範並在渲染圖像上顯示其徽標。它也以多種方式讓我崩潰:
- 如果我以全螢幕模式啟動遊戲 - VM 會出現 BSOD
- 如果我將遊戲配置為除我的分辨率之外的任何分辨率主機本機 (1366*768)- 它崩潰了。即使我以不同的解析度(視窗或全螢幕)運行虛擬機器。
另請記住,欺騙的著色器不會被模擬,也不會被渲染。您會在生成的圖像中看到故障。