Getting 3D acceleration on VirtualBox, VMware, or Xen (Linux Host)

By Pratik Shivarkar | Labels: , , , , , , , ,

As many of us know that, Virtual Box/ VMware provides the OpenGL acceleration to virtual graphics cards on VMs.
But that won't help you to get Direct3D acceleration from Direct X on Windows.

There are two options to achieve this.
Wine D3D - If you want Direct3D acceleration on your Microsoft Windows Guest OS. ( No matter what is the host OS )
VMGL (formerly Xen-GL) - vmgl will only work for Linux guest running on Linux guest. It works with Xen, VMware hosts, and it is also know to be working with Qemu, KVM and Virtual box.

Remember WineD3D and VMGL are completely different technologies.

WineD3D -

WineD3D is the component of Wine that implements a replacement for Microsoft Direct3D. WineD3D works as a wrapper for Direct3D calls, and relies on OpenGL for the actual rendering job.
Although primarily designed for use in Wine, WineD3D can also be used on native Windows. This has a number of advantages over using Microsoft Direct3D
( Like you can use DirectX 10 on Windows XP )
Since it relies on OpenGL, it can provide Direct3D without need for specific D3D drivers

All you have to do is -

Install VMware tools / VirtualBox guest additions

Download the WineD3D.exe

Boot your Windows VM in Safe Mode. (By pressing F8 while Windows boots)

Run wined3d.exe. and replace the components you want.

And that's all now you can find the Direct3D acceleration in dxdiag.exe tool

Download : - (FTP)


OpenGL apps running inside a Virtual Machine (VM) can use VMGL to take advantage of graphics hardware acceleration.
VMGL can be used on VMware guests, Xen HVM domains (depending on hardware virtualization extensions)
and Xen paravirtual domains, using XVnc or the virtual framebuffer.
Although we haven't tested it, VMGL should work for qemu, KVM, and
VMGL is available for X11-based guest OS's: Linux, FreeBSD and
OpenSolaris. VMGL is GPU-independent: It supports ATI,
Nvidia and Intel GPUs.

Here is little info to get it working, from VMGL

How to Use:

There are two broad types of guests
  • Guest without a framebuffer using Xvnc: restart vncserver after installation.
  • Guest with a framebuffer using Xorg: modify Xorg configuration in the guest to include the vmglext module, i.e.
in /etc/X11/xorg.conf:
Section "Module"
Load "vmglext"
and restart Xorg.

Then, for all types of guests, connect from the host to the domain using a viewer:
  • Vncviewer for guest with Xvnc, Xen paravirtual guest with vncfb, or Xen HVM guest with vnc qemu-dm output.
  • We provide a patch to enable sdlfb for Xen paravirtual guests, and qemu-dm with sdl output for Xen HVM guests.
After authentication the viewer will output:
"Set GLSTUB var in the guest to point to port "
Usually is 7001. In the guest set the environment variable
and things should work.
Screenshot - (from VMGL)

Download : -

Source - Tar.gz

Binary - RPM

Host Guest

Technorati Tags: , , , , , , , , , , ,

Reblog this post [with Zemanta]

blog comments powered by Disqus


Your Ad Here