Windows Gaming with QEMU/KVM on Ubuntu Linux - AMD Radeon R9 280

Here I demonstrate the potential for gaming within a Windows 7 Kernel-based Virtual Machine running on Ubuntu Linux, utilizing QEMU/KVM VGA PCI Pass-Through of a dedicated AMD Radeon R9 280.

This can be accomplished using a CPU and Motherboard which supports hardware virtualization (Intel VT-x/VT-d or AMD-V) along with two graphics cards, one for the Linux Base and another dedicated PCIe GPU for the Windows Virtual Machine (VM). Gaming experience within the Windows VM is exceptional, yielding a 96% performance return in comparison to native play.

Intended purpose of this VM build is maximum performance and ability to run any Windows game. Team Fortress 2 game play was featured because it is freely available for both Linux and Windows and additionally allowed an opportunity to evaluate performance under both Operating Systems prior to virtualization.

I'll continue experimenting with new hardware & software configurations. Eventually I hope to write a HowTo Play Windows Games Under Linux article to publish here on LinuxLookup.

Details regarding this AMD Radeon R9 280 build:

Hardware

  • Processor: Intel Core i7-4790
  • Motherboard: ASUS Z87-Pro
  • RAM: Crucial Ballistix 32GB (8GBx4)
  • GPU 1: Intel HD 4600 Integrated Graphics
  • GPU 2: AMD Radeon R9 280
  • Monitor1: Connected to Intel HD 4600 (HDMI1) and AMD Radeon R9 280 (HDMI2)
  • Monitor2: Connected to Intel HD 4600 (HDMI1)

Note: Integrated Graphics is set in the BIOS to be primary, AMD Radeon R9 280 to be used for PCI Pass-through.

Software

  • Base: Ubuntu 14.04.1 LTS (amd64)
  • Kernel: 3.13.0-48-generic #80-Ubuntu SMP
  • Packages: qemu-kvm, libvirt-bin, ubuntu-vm-builder, bridge-utils
  • Guest: Windows 7 Premium 64-Bit (Resources: CPU 16GB RAM)
  • Custom: Bash script I've written

Current Issues

  • PCI bus doesn't reset with Radeon R9 280

Additional details

  • Game play demonstrates Team Fortress 2 with high settings
  • Other resource intensive games will be tested