Qxl Driver

QXL video driver and SPICE client for display. QXL/SPICE is a high-performance display method. However, it is not designed to offer near-bare metal performance. PCI GPU passthrough PCI VGA/GPU passthrough via OVMF. PCI passthrough currently seems to be the most popular method for optimal performance. Driver for QEMU QXL paravirt video (mirrored from sandmann.

I'm running a Windows 10 VM with with the QXL driver and I'd like to increase video performance. I have no plans to do GPU passthrough at this time. Will getting a faster GPU be of use or just a waste of money? I'm currently using a Nvidia GTX 750 and am thinking of moving to an AMD RX 570. QXL video driver and SPICE client for display. QXL/SPICE is a high-performance display method. However, it is not designed to offer near-bare metal performance. PCI GPU passthrough PCI VGA/GPU passthrough via OVMF. PCI passthrough currently seems to. Running spice-guest-tools-0.3.exe in a QEmu/KVM guest VM normally installs the QXL graphics driver alongside the Virtio drivers. However on Windows Vista and presumably Windows 2003, Windows 2008 and Windows 2008r2 this is not the case.

Fedora infrastructure hosts virtIO drivers and additional software agents for Windows virtual machines running on kernel-based virtual machines (KVM). virtIO is a virtualization standard for network and disk device drivers.

Fedora cannot ship Windows virtIO drivers because they cannot be built automatically as part of Fedora’s build system: the only way to build Windows virtIO drivers is on a machine running Windows. In addition, shipping pre-compiled sources is generally against Fedora policies. Microsoft does not provide virtIO drivers, you must download them yourself in order to make virtIO drivers available for Windows VMs running on Fedora hosts.

For details on downloading the drivers, please see: https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md

3rd July 2018

Virtio drivers are paravirtualized device drivers for KVM virtual machines.

Paravirtualized drivers enhance the performance of machines, decreasing I/O latency and increasing throughput to near bare-metal levels.

It is recommended to use the paravirtualized drivers for fully virtualized machines.

Most Linux distributions include the virtio drivers as standard. This guide explains how to install them in Windows.

This guide was written for Zetastack users but applies to any Windows guest VM running on a KVM host.

This includes Nutanix, Red Hat Virtualization (RHEV), Proxmox VE, oVirt and OpenStack.

If your device manager looks like this, then this guide will help you.

Download ISO

We recommend the stable release, the same as what is shipped with Red Hat Enterprise Linux.

This is the link to download:

Download and add the ISO to your virtualization platform.

In Zetastack this is done in Settings Import.

Machine Configuration

Edit the machine configuration and set these:

  • Disk bus: Virtio SCSI pass-through controller
  • NIC model: Virtio Ethernet
  • Video model: QXL
  • Video RAM: 32MB
Qxl

Attach ISO

This bit depends on whether you are installing a new Windows VM or you already have an existing Windows VM.

If you are installing a new Windows VM, set the ISO to be the 2nd CD-ROM drive leaving the Windows install ISO as the 1st CD-ROM drive.

Begin Install

If you are not installing a new Windows VM, you can skip this section.

Storage Driver

At the disk detection stage, the Windows installer cannot detect any disks for installation.


This is expected behaviour, since the virtio drivers have not been loaded yet and are not included by Microsoft in the installation media.

Click 'Load driver' and select 'CD Drive (E:) virtio-win-0.1.1'


The driver required is the 'VirtIO SCSI pass-through controller' located at:

For other editions of Windows, the driver will be located in the relevant directory on the ISO.

Select the driver and click 'Next'.


Qxl Driver Windows 10

The driver is loaded and the and the disk is now detected.

Select the disk for installation and click 'Next'.

Post Install

Once the installation is complete and the VM has booted, the next steps are to install the guest agent and resolve any missing drivers.

Guest Agent

It is essential the guest agent is installed.

The guest agent is used by the hypervisor to communicate directly with the VM.

The guest agent is required for clean VM shutdown and to enable live snapshots of the VM images.

On the task bar click 'File Explorer'.


Select 'This PC' then double click 'CD Drive (E:) virtio-win-0.1.1'.


Open the 'guest-agent' folder.

Right click the 'qemu-ga-x64' file and select 'Install'.


The QEMU guest agent will now install.


Once installed the VM must be completely shutdown before the agent can run.

When the VM is started again, the guest agent service will automatically start.

Device Manager

Qxl Graphics Driver

In Device Manager we can see the following unconfigured devices.


This table lists the devices and the drivers required.

DeviceDriver
Storage controllerVirtio SCSI pass-through controller (already installed)
Ethernet controllerVirtio Ethernet adapter
PCI deviceVirtio balloon driver
PCI input deviceVirtio input driver
PCI simple communications controllerVirtio serial driver
Display adapterQXL video driver
HID button over interrupt driverGeneric bus

The procedure is simple but repetitive.

Generic Bus

Qxl driver ubuntu

This is a Microsoft bug which is easily resolved.

Right click on 'HID Button over Interrupt Driver' and select 'Update Driver Software...'


Select 'Browse my computer for driver software'.


Select 'Let me pick from a list of device drivers on my computer'.


Select the model 'Generic Bus'.


This resolves the bug, and removes the driver warning.


Virtio Ethernet Adapter

This is a high speed driver capable of 10GbE and better.

Right click on 'Ethernet Controller' and select 'Update Driver Software...'.


Select 'Browse my computer for driver software'.


Select 'CD Drive (E:) virtio-win-0.1.1' and click OK.

Qxl Driver

Qxl Driver Qnap


Device Manager will automatically find the correct driver. The path to the driver does not need to be specified.

At the prompt click 'Install'.


The driver is installed.


The device description has now changed in Device Manager.

Virtio Balloon Driver

The balloon driver allows the memory in the VM to be changed dynamically.

Right click on 'PCI Device' and select 'Update Driver Software...'.


Follow the same steps for the Ethernet adapter above to complete the driver installation.

Virtio Input Driver

This provides accurate mouse tracking within the console.

Right click on 'PCI Input Device' and select 'Update Driver Software...'.


Follow the same steps for the Ethernet adapter above to complete the driver installation.

Virtio Serial Driver

This is a virtual serial port for communication between the hypervisor and the VM.

Right click on 'PCI Simple Communications Controller' and select 'Update Driver Software...'.


Follow the same steps for the Ethernet adapter above to complete the driver installation.

QXL Video Driver

This is a video driver that improves performance and allows for higher resolutions.

It also provides a seamless cursor when using the console to manage the VM.

Right click on 'Microsoft Basic Display Adapter' and select 'Update Driver Software...'.

Qxl Driver
Qxl Driver

Follow the same steps for the Ethernet adapter above to complete the driver installation.

Cursor Tweak

When using the QXL driver, the mouse cursor needs to be tweaked.

This will provide a seamless cursor in web based VM consoles.

On the start menu click 'Settings'.


Click 'Devices'.


Click 'Mouse & touchpad'.


Click 'Additional mouse options'.


In the Pointers tab, enable 'Enable pointer shadow' and click OK to update.


This allows the use of black and extra large cursors.

This concludes the guide.

Comments are closed.