How to solve issues with shader model in VirtualBox?

6

2

I have a virtualized Windows 7 (32bit) machine using VirtualBox software on a native Linux host.

For some advanced software (ArcGIS Desktop 10.1) I need:

OpenGL version 2.0 runtime minimum is required, and Shader Model 3.0 or higher is recommended.

I've been running a system requirements check, these are the results - telling me that there is no shader model available:

system requirements check

Now, I was wondering why? VirtualBox has shader model support since early versions. I downloaded the OpenGL Viewer software to check out video card settings. This are the results:

opengl viewer

The OpenGL Viewer tells me I have OpenGL 2.1 as well as vertex and pixel shader model version 3.0 installed. So how come some software is not detecting this?

By the way ArcGIS is not working correctly - as explained in this thread. That's why I think there are some serious issues with the shader model in VirtualBox.

How to fix this?

Afr

Posted 2013-01-25T09:22:56.127

Reputation: 942

Answers

9

I figured out: To successfully enable shader model, you need to install the experimental WDDM drivers for 3d hardware acceleration. Like described here.

  1. Make sure the device has at least 128MB video memory allocated (256mb recommended).
  2. Safe mode is not required for installing the experimental drivers.
  3. Devices > Install guest additions... (Host + D)
  4. Select: Direct2D-Support (experimental)
  5. It suggests to install the basic 3d driver instead of the WDDM drivers. To install the WDDM drivers, simply click No and Ok.
  6. Finish the installation.
  7. Reboot.

Done.

Afr

Posted 2013-01-25T09:22:56.127

Reputation: 942

1Worked for me on a Windows XP guest system. However, I had to reboot into Safe Mode by running msconfig and checking /SAFEBOOT under BOOT.INI tab before I could install the 3D driver. – joelpet – 2013-03-02T03:54:58.547

1

Well, my answer is about DirectX shader support, i hope it will be useful for someone because sometimes Opengl and DirectX are interchangeable.

Guest additions with experimental WDDM driver do not enable pixel or vertex shader model 3.0 for DirectX or OpenGL. I tried spoofers instead: DXTweaker and Swiftshader.

DXTweaker aka DirectX Tweaker spoofs values but apps/games do some additional checks and do not detect shaders 3.0. By the way, it only exists as time bombed beta and you need to set date in VM to somewhere in 2005 to get it working if you want to try its tweaks.

Swiftshader works but it is available only as demo and it displays its logo over the rendered image. Also it crashes for me in several ways:

  • If I start a game in fullscreen - VM goes to BSOD
  • If I configure a game to any resolution other than my host native (1366*768) - it crashes. Even if i run VM in with different resolution, windowed or fullscreen.

Also keep in mind that spoofed shaders are not emulated, and will not be rendered. You will see glitches in resulting image.

Rast

Posted 2013-01-25T09:22:56.127

Reputation: 181