Benchmarks help us better compare the performance of different virtualisation techniques versus bare metal Windows installations. A helpful and free Windows benchmark tool is UserBenchmark which is growing in popularity. See http://www.userbenchmark.com/.

Obviously my Nvidia Quadro 2000 pulls down the general score, be it the desktop score or the workstation score. I bought the Quadro 2000 to use with Lightroom and Photoshop, and there it does work nicely. Gaming, however, is not its strength.

I cannot directly compare my Windows VM performance with a bare metal performance, since I run Windows only as VM and have no bare metal installation. But I would be very interested to see the performance difference between bare metal and VM. So please post both VM performance and bare metal performance, if you can.

Alright, so I went ahead and installed Windows 8.1 as I would normally in its own hard drive, then passed this drive to the Linux VM; I can now effectively dual-boot as well as run the Win8 VM. Note: The Barracuda 500GB is the one that Win8 is installed on.

Thoughts:
Now, I had configured the CPU to use 75% for the VM, so the 60.5% is spot on actually.
Losing 8.8% GPU to overhead isn't terrible
Again, losing 7.1% HDD to overhead isn't too bad. I'm thinking that I really should either get another SSD or use the SSD I have and split it between Windows/Linux installs. As of right now the VM feels a bit laggy, but I haven't actually tried doing anything yet besides setting up network drives and such. So far I'm happy though! Being able to run the VM or boot directly into Win8 is a really nice option to have.

Edit:After a couple days:
So after playing a few games, it became apparent that AAA games like Witcher 3 and GTA V suffered greatly in the VM compared to native. I'm pretty sure that it is due to my sub-par processor and HDD. Other games that aren't so demanding like Stellaris and Divinity Original Sin all work just fine in the VM, though.

I think I'll continue dual-booting when playing the more demanding games, and once I upgrade my processor/motherboard/HDD-SSD things should improve drastically.

Last edited by LittleJoey on Thu Aug 18, 2016 8:47 am, edited 1 time in total.

LittleJoey wrote:Alright, so I went ahead and installed Windows 8.1 as I would normally in its own hard drive, then passed this drive to the Linux VM; I can now effectively dual-boot as well as run the Win8 VM. Note: The Barracuda 500GB is the one that Win8 is installed on.

Thoughts:
Now, I had configured the CPU to use 75% for the VM, so the 60.5% is spot on actually.
Losing 8.8% GPU to overhead isn't terrible
Again, losing 7.1% HDD to overhead isn't too bad. I'm thinking that I really should either get another SSD or use the SSD I have and split it between Windows/Linux installs. As of right now the VM feels a bit laggy, but I haven't actually tried doing anything yet besides setting up network drives and such. So far I'm happy though! Being able to run the VM or boot directly into Win8 is a really nice option to have.

Thanks LittleJoey!

Do I understand you correct: you boot the same Windows 8.1 install directly or as a VM? Or are they two different installs?

In case you use the same Windows installation, it must be installed directly on the drive.

With regard to VM performance, it might be better to use LVM (logical volumes under Linux), unless you pass through the disk controller (which you didn't, since then you would use the native Windows driver).

Could you clarify whether you use two copies of Windows 8.1 (one for the dual-boot, one for the VM), or one and the same installation for both?

I'm a bit surprised at the noticeable difference in GPU performance, though it still is way better than any emulation or other technology I know. But then, 10% I guess is acceptable.

Basically I have the 500gb HDD, and installed Windows 8.1 directly to that one on its own, outside of Linux or the VM.

Then I had to re-install windows 8.1 through the VM since it wouldn't boot, but it reinstalled fine. Then I rebooted back into Windows 8.1 directly to re-install all of the native drivers. So now I can boot into Linux and then boot up the VM, or I can choose to boot directly into the same Windows 8.1 install, bypassing Linux. I figure this might be preferable for really intensive games until I can upgrade my computer some more. I need to get a new motherboard and processor eventually.

LittleJoey wrote:Basically I have the 500gb HDD, and installed Windows 8.1 directly to that one on its own, outside of Linux or the VM.

Then I had to re-install windows 8.1 through the VM since it wouldn't boot, but it reinstalled fine. Then I rebooted back into Windows 8.1 directly to re-install all of the native drivers. So now I can boot into Linux and then boot up the VM, or I can choose to boot directly into Windows 8.1 and bypass Linux entirely!

Unfortunately my motherboard only has one SCSI controller for all 6 ports, so the VM still has to use the virtio driver.

Wow, so you do have only one Windows 8.1 installation! I never thought it was that easy.

With regard to passing through a SCSI controller: you can get a SCSI controller PCIe card for little money. But then - never touch a running system. The performance gain would probably be negligible.

I myself never used PCI passthrough on SCSI controllers, since I like to have access to all of my drives from within Linux. I might process photos under Windows in Lightroom, and while Lightroom is batch processing the photos I switch to Linux and email some finished jpegs. So I jump back and forth between Windows and Linux quite often, or remote desktop to Linux from within Windows. I just have to make sure that accessing Windows partitions (volumes) from Linux is done in read-only mode while Windows is running.
To access the Windows volumes from within Linux I use kpartx - see viewtopic.php?f=42&t=111783

on the command prompt inside Windows 10. This is to make sure Windows recognizes the SSD as such. See step 8 in my KVM how-to.

As you go along optimizing your VM performance, please share the results and the configuration changes. I did a lot of trial and error, but may have missed some important tweaks that can make a difference.

I followed the steps described here, that is I patched the Windows Nvidia driver to remove the "accidental" search for a hypervisor. Windows 10 now starts without the "kvm=off" option. Here the userbenchmark results: