KVM - The Linux Kernel-Based Virtual Machine
News, Blogs and Resources on the Linux (KVM) Kernel-Based Virtual Machine

Using Vmware VGA with KVM Windows Guests

In this post I’ll walk through the procedure for using vmware’s vga driver with your kvm windows guests along with a download for testing. Using vmware’s vga is something that a lot of users have been asking about and , to be honest, I was also curious about. I’ve read claims that vmware’s vga performs better than the standard kvm vga driver however this all depends. Running vmware’s vga driver will certainly perform well on vmware’s hypervisor but how well it performs on kvm’s hypervisor depends on it’s implementation there. I’ve only now started playing with this driver on kvm and I’m already seeing a few bugs but performance seems decent. One obvious bug I can report is screen redraws after changing screen resolution. Anyway, let’s move on.

 

 

 

Install the driver

To install the driver, boot your windows guest with the provided cdrom image included at the end of this post attached. I’ve included two images, one for windows 32-bit guests and another for 64-bit guests. This driver is taken from the cdrom image provided with the free vmware server product. After booting your windows guest, navigate to your cdrom device and simply double click on the device or right click on the cdrom device and run “autoplay” to begin the installation as shown below.

Run Autoplay to being the installation.

Click next to complete the install.

To verify your install, you can go to the “Add/Remove Programs” section of your control panel and you’ll see the vmware vga driver installation as shown below.

This completes the installation of the vmware vga driver.

 

Reboot Windows guest with vmware vga device option

To actually use your newly installed vmware vga driver you need to reboot your windows guest to use the kvm provided vmware vga device option. If you’re managing your kvm , from the command line then you need to use the option –vga vmware option as follows.

qemu-kvm -vga vmware ...

If you’re using a GUI management tool then select the vmware vga option. Since virt-manager seems be popular below shows the option in virt-manager VM details window.

On booting your windows guest, it’ll take a minute to register the driver after logon and you may notice a screen flicker. Once this is complete you will now see the vmware vga driver under your device drivers as shown in the screenshot below.

 

Conclusion

The vmware vga driver seems to be performing decently under kvm with a few minor bugs as mentioned at the beginning of this post. I’ve only just started using this so apart from the screen resolution change bug, I haven’t experienced any other issues. I have only tested this on a windows XP SP3 32-bit guest so far so please give these drivers a test on other windows guest versions and provide some feedback. Attached at the bottom of this post are the drivers for download.
 

AttachmentSize
vmwarevga32-kvm.iso1 MB
vmwarevga64-kvm-2.iso1.14 MB

See Also

Comments

Performance

Is this driver provide any graphics acceleration? Is performing better than -vga std?

Re: performance

I have no numbers to conclude better performance but based on observation it performs very good. There are some minor redraw issues that happens on rare occasions. I've tested on windows xp and 2003 and it seems to be more stable on 2003. The kvm vga device performs pretty good too , probably just as good so I can't say I have a preference.

screen redraw

I am using VBE miniport SVGA driver and having very slow screen redraw. Dragging a window across screen take 2-3 seconds. I tried to using -vga vmware but my vm won't start. I tried to find all over the internet how to set up kvm to use this switch without success. Any info about this set up is very appreciated. I have my server set up with qemu 0.9.1 and kvm under RHEL5.

Re: screen redraw

qemu-0.9.1 is a little old. Are you getting any error messages? Did you try running the qemu command with only the -vga ? to list the available vga devices? As far as the VBE miniport driver, are you saying that you have tried using that driver with -vga std option?

Thank you for your prompt

Thank you for your prompt response. Yes I use -vga std. Here is my whole command: qemu-kvm -name VMID_57370 -m 1024 -net tap,ifname=tap0 -net nic,macaddr=00:50:56:00:00:01 -vnc 10.0.0.101:0 -usbdevice tablet -cdrom /virtuals/netvideo.iso -drive file=/virtuals/efcl6Bkvm/virtual.01/efcl.vm,index=0,media=disk -net nic,model=virtio -vga std -snapshot.

If I try -vga ?, the VM does not boot up. It seems like I was limited to use only cirrus or VBE drivers for the video adapter. Do you have any idea why?

Screen redraw

The errors that I got when trying to use -vga vmware or -vga ? are:
Unkown vga type: vmware and Unkown vga type: ?

Re: screen redraw

That's what I figured. Your version of qemu is so old that it probably didn't support vmware vga device at that time. vmware vga was added somewhere around version 0.10 or 0.11. More recent versions of qemu will list the vga options as follows.

$ /usr/bin/qemu-kvm --help | grep vga
-vga [std|cirrus|vmware|xenfb|none]

The -vga ? seems to be deprecated now... sorry about that.

 

 

Screen redraw

When I tried

/usr/libexec/qemu-kvm --help | grep vga

I got

-vga [std|cirrus|vmware]

Does -vga vmware switch suppose to work on my system?

Thank you.

Re: screen redraw

langmandoi,

Yes, it should work on your system.

Screen redraw

I am really confused now. Why do I have

Unkown vga type: vmware and Unkown vga type: ?

when tried to use -vga vmware and on the other hand have

-vga [std|cirrus|vmware]

when running this command

/usr/libexec/qemu-kvm --help | grep vga

Am I missing something here to make it work?

Thank you.

Re: screen redraw

What version of qemu-kvm are you running?

Screen redraw

I have

QEMU PC emulator version 0.9.1 (kvm-83-maint-snapshot-20090205)

Re: screen redraw

OK, are you the same anonymous user in previous message? I'll have to double check but I don't think that version supported -vga vmware.

Screen redraw

Oh yes it was me. Your help is really appreciated.

Screen

Here is what I found on the QEMU website. Below is the changelog of

version 0.9.1:

- TFTP booting from host directory (Anthony Liguori, Erwan Velu)
- Tap device emulation for Solaris (Sittichai Palanisong)
- Monitor multiplexing to several I/O channels (Jason Wessel)
- ds1225y nvram support (Herve Poussineau)
- CPU model selection support (J. Mayer, Paul Brook, Herve Poussineau)
- Several Sparc fixes (Aurelien Jarno, Blue Swirl, Robert Reif)
- MIPS 64-bit FPU support (Thiemo Seufer)
- Xscale PDA emulation (Andrzej Zaborowski)
- ColdFire system emulation (Paul Brook)
- Improved SH4 support (Magnus Damm)
- MIPS64 support (Aurelien Jarno, Thiemo Seufer)
- Preliminary Alpha guest support (J. Mayer)
- Read-only support for Parallels disk images (Alex Beregszaszi)
- SVM (x86 virtualization) support (Alexander Graf)
- CRIS emulation (Edgar E. Iglesias)
- SPARC32PLUS execution support (Blue Swirl)
- MIPS mipssim pseudo machine (Thiemo Seufer)
- Strace for Linux userland emulation (Stuart Anderson, Thayne Harbaugh)
- OMAP310 MPU emulation plus Palm T|E machine (Andrzej Zaborowski)
- ARM v6, v7, NEON SIMD and SMP emulation (Paul Brook/CodeSourcery)
- Gumstix boards: connex and verdex emulation (Thorsten Zitterell)
- Intel mainstone II board emulation (Armin Kuster)
- VMware SVGA II graphics card support (Andrzej Zaborowski)

Re: screen

 

Please do let me know if

Please do let me know if anything I can do to make this work.
Thank

Need 64-bit DPInst.exe

Hi,

Thanks for the hard work. Is there a problem with the 64-bit iso however? When I try to autoplay it, I get a message. "You have to run the 64-bit version of DPInst.exe on this machine.

Re: 64-bit DPinst.exe

Peter,

Let me look into that and provide an update.

Haydn

Re: 64-bit DPinst.exe

Hi Haydn,

That would be great. I'm not much of a Windows head, but I did try downloading the Windows Driver Kit, which I suppose is what is used to create the driver iso. The WDK I downloaded didn't have a tool for creating drivers for XP x86_64, which is what I'm using. Perhaps I'm misinterpreting all this, or I could have used one of the other 64 tools, etc. It was a long shot anyway, since I don't know the tool.

Peter

(Virtual) blank screen problem in Windows XP guest

Hello Haydn,

and first of all: thanks for your article, it's just what I was looking for a while.
Nevertheless, I still have the problem many other users also report when trying to use the -vga vmware option: during booting the screen stays (virtual) black. I use kubuntu 10.04.

I found this thread http://ubuntuforums.org/showthread.php?t=1170655 but setting the environment variable SVGA_REG_CONFIG_DONE=1 is no solution. Do you have any suggestion? Thanks in advance!

--
Christoph

Solved: (Virtual) blank screen problem in Windows XP guest

Hi again,

I think that I have solved my problem discussed above. And it is kind of trivial: my user account in Windows XP guest-system was password protected, so I had to log into the Windows welcome screen after booting. But that was not possible due to the described (virtual) blank screen problem, so the quest system could never reach a state, where the previously installed vmware drivers could be registered.

Simple deactivating the password of my account solved the problem.

Maybe this also helps someone else.

Greetings!
--
Christoph

Re: 64-bit DPinst.exe

Peter,

I've updated the iso for 64-bit with the correct version of DPinst.exe so it's now listed as "vmwarevga64-kvm-2.iso" at the bottom of this post above the comments section.  Please test and let me know if it works. 

Re: 64-bit DPinst.exe

Hi Haydn,

That worked! The only problem (for my use) is that it does not have a 1920X1200 mode, or something similar. It has 1920x1440 but, of course, that cuts off the bottom of my 1920x1200 screen in full-screen mode.

Elsewhere I have a VM created under VMware 6.5.3, that has a 1904x1200 mode. Not sure whether that driver is free.

Peter

Re: 64-bit DPinst.exe

Peter,

Thanks for the feedback. Out of curiosity, how's it performing?  Noticing any bugs? If you notice any now or in future, please drop a message in this comment section.

Thanks

Haydn

Re: 64-bit DPinst.exe

Hi Haydn,

It seems to perform OK, but it crashes the OS sometimes when I change modes. I was hoping it would be a bit less fuzzy than the vga monitor, but it doesn't seem to be. The driver under VMware is a bit sharper.

Peter

vmwarevga64-kvm-2.iso driver does not work in Windows 7

I tried the ISO in Windows 7 64-bit. That driver does not install. So I assume the driver is Vmware VGA II driver for XP. Windows 7 requires a WDDM driver, however. Vmware Tools has a WDDM driver. But it does not install in KVM.

The new Vmware WDDM driver has 3D/Aero support and is reported to work MUCH better than standard VGA. I can personally attest that the earlier Vmware VGA II driver worked MUCH better than standard VGA in Windows versions that support it. According to Vmware "The WDDM driver only works with harware version (HW) 7 and above." I would think that implementing Vmware v7 VGA WDDM support in kvm’s hypervisor should be fairly straightforward. So I think it would be VERY worthwhile to implement Vmware WDDM driver as an additional interim video improvement until VGA passthrough is worked out. That would be a major KVM improvement!!!

Vmware WDDM

Interesting, I didn't know about this driver. I'll have to read up on it. 

VMWare wddm_video drivers

Hi All:

I just downloaded the VMware-tools-windows-4.0.0-258828.iso, mounted it and extracted the drivers. There are 2 video drivers included, video:
DiskID = "VMware Tools"
CompanyName = "VMware, Inc."
SVGA = "VMware SVGA II"

And wddm_video:
DiskID = "VMware Tools"
CompanyName = "VMware, Inc."
SVGA = "VMware SVGA 3D (Microsoft Corporation - WDDM)"

Has anyone tried this wddm driver? It 'appears" it should at least supply opengl which when used with the wined3d should give 3D accell to KVM?

Has anyone tried this?

Cheers,
john

Have gone back to the cirrus driver

Tried the VMware driver but it screwed up my mouse pointer and it only allows 32bit colour depth, not 16bit depths possible.

Still waiting patiently for open GL support in KVM.

Here's hoping.

Cheers,
john

Have gone back to the cirrus driver 2

Same as with jserink, the vmware driver has screwed my mouse pointer(moving in all directions to edges of the screen). Host Ubuntu 10.04. Gues - XP SP2 x64

I've had same problem with

I've had same problem with mouse cursor.. i've investigated little bit more and i found problem in mouse accelaration... i dont know where exactly is problem but if you go to advanced settings where is screen resolution, troubleshoot, advanced settings and you see slider hardware acceleration.. if you move slider little bit to the left to direction to none you will see that problems with mouse cursor will dissapear... I'm using Windows 7 in KVM.
I hope that this will help.

I installed from

I installed from "VMware-tools-windows-8.3.2-257589.iso" (Run "setup /a" and select extraction to e.g. C:\vmwaretools, the video drivers will be in Common/ [1]).
However, the SVGA 3D drivers do not work with QEMU/KVM 0.13, as reported above. (Device Manager shows the device with a yellow bang, "Code 43" [2])

It would be nice to see QEMU supporting this. :)

[1] http://blog.romant.net/vmware/slipstream-vmware-video-drivers-into-windows/
[2] http://kb.vmware.com/kb/1014964

I roughly followed [1] to

I roughly followed [1] to install the SVGA II drivers on Windows 7:
* Download VMware Tools ISO from [2], directory "esx/4.1/windows/x86/".
* Mount the ISO into your VM
* Start "cmd.exe" in Windows
* Change to the CD driver (e.g. type "d:" in the commandline)
* Run "setup /a" for administrative installation/extraction
* Select e.g. "C:\vmwaretools" as the "network" folder to extract to (it does not have to be on the network)
* Start the Device Manager: Click "Start", right-click "Computer", select "Properties", find "Device Manager" on the left hand panel.
* Select the graphics card from "Display adapters", right-click and select "Properties".
* Go to the "Driver" tab, and select "Update driver". Then press "Browse my computer" and choose "C:\vmwaretools\Common\VMware\Drivers\video" as the location.
* After pressing "Next" Windows will install the drivers and ask you to reboot afterwards.

Notes:
* The SVGA II drivers are in "video\", the SVGA 3D drivers (which do not work with QEMU 0.13, see [3]) are in "wddm_video\".
* If you accidentially installed the 3D drivers, you will have to uninstall the device, make sure to check the "remove software" box, and let Windows redetect the device (right-click in "Device Manager", select "Scan for hardware changes"). You cannot simply update, because the installed drivers are considered to be newer than the SVGA II ones.

[1] http://blog.romant.net/vmware/slipstream-vmware-video-drivers-into-windows/
[2] http://packages.vmware.com/tools
[3] http://kb.vmware.com/kb/1014964

Like in last comment was

Like in last comment was said... download vmware tools from their website. Extract drivers and everything works perfect! I'm using it in windows 7 with wide screen resolutions.
Thank you for everything.

Also remember you can easily

Also remember you can easily add custom resolutions with regedit. See the info:

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd...

Tried on busy host with 9VM

Tried on busy host with 9VM running ( windows XP ,2003 )
Almost all windows VM will stop respond with vmware driver. monitor will show status for VM is running, but it is not. Have to switch back to "vga -std" - problem is gone.
kvm 0.12.5

I am looking for further

I am looking for further updates, thanks for the great work and tips offered. Bookmarked your site.

hi,

It took me a while to see all comments, but I really like the job. Proved very useful. Always clean when you can be informed and entertained, thanks for this good article.

Nice one

Keep up the good work, i like your posts.

This driver doesn't work on Windows 7

This driver doesn't work on Windows 7. It says inappropriate OS.

I successfully installed

I successfully installed VMware SVGA II driver from the latest iso. It works well. The latest VMware SVGA II driver from VMware exe installation doesn't work. In addition, VMware SVGA 3D (Microsoft Corporation - WDDM) doesn't work either from iso installation CD image or from the latest exe installator from VMware.

Hi there,Really nice

Hi there,
Really nice job,There are many people searching about that now they will find enough sources by your tips.
Also looking forward for more tips about that
Regards,

Priceless tutorial

I can not thank you enough for including the drivers in this post along with detailed information on how to implement the vga driver for windows. Looking for other information on Google, there wasn't much until I stumbled upon your tutorial. Having walked through it, in my opinion it is true that vmware's vga is more efficient than the standard driver, at least on the configutation I've used.

Kind regards,
referencement
Sebastian

console unusable

I' running KVM on SL6.1.

qemu-kvm-0.12.1.2-2.160.el6_1.2.x86_64

When I switch to vmvga the console stays black. Is this normal or is there a chance to have a console even with vmvga?

vmvga crashes host on redhat6.1-ELSx64 and openSuse11.4-x64

I have been setting up a new WinSrvr2008R2 server with RedHat ELS6.1, fully patched, and also a Win7Pro-x86 guest on openSuse11.4-x64

In both cases I found the guest machines were unstable, the Redhat server would kernel panic spontaneously and lock up, and the win7 guest on openSuse would work for a while and the screen would corrupt. This only happened when I switched to the vmvga video.

I switched back to cirrus and things seem OK. Since I rdesktop in it's not such a big deal, I only need windows for a small number of purposes, mainly I live with a linux desktop.

Paul

Windows 7 32bit - unpredictable crashes with qemu-kvm-0.12.5

I've got Windows 7 32bit running on qemu-kvm-0.12.5. If it matters, this is Debian's flavour and the exact package label is "0.12.5+dfsg-5+squeeze10". I installed the 32bit driver listed on this page, along with NIC and SCSI virtio drivers obtained elsewhere.

When I use vmvga as my video driver it appears to work, but after about 10-15 minutes the screen glitches into grey horizontal streaks (no content is visible any more) and the guest appears to have crashed (no network response, etc).

If I return to cirrus or vga the OS appears stable indefinitely (hours, at least).

Thanks,
Chris

Post new comment

The content of this field is kept private and will not be shown publicly.
Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.