This presentation was given at KVM Forum
Düsseldorf, Germany, October 14 - 16, 2014
Navigation
Alex Williamson / alex.williamson@redhat.com
DRI wants to mmap VGA MMIO space
Possible options...
But what about compatibility?
“WE DO NOT BREAK USERSPACE!”-Linus Torvalds
Open Virtual Machine Firmware
An implementation of UEFI built on the EDK II code base
Replaces Seabios
via command line:
/usr/libexec/qemu-kvm ... \
-drive if=pflash,format=raw,readonly,file=/path/to/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=/copy/of/OVMF_VARS.fd
via libvirt:
<domain type='kvm'>
...
<os>
<loader readonly='yes' type='pflash'>/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
<nvram template='/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd'/>
...
</os>
</domain>
PCI ROMs can support multiple images
Most newer cards already support EFI
Newer versions of Linux
Windows 8, Server 2012
Q35 originally recommended for VFIO-VGA
Largely FUD
In reality
440FX is likely the easier path for Windows guests
Driver detects KVM hypervisor, fails to initialize*
Nvidia - "Accidental" breakage, won't fix, unsupported
We can't solve it, but we can work around it
Hide the hypervisor
via command line:
-cpu [type],kvm=off
via libvirt:
<domain type='kvm'>
...
<features>
<kvm>
<hidden state='on'/>
</kvm>
...
</features>
</domain>
*NVIDIA driver version 338.77+
Driver detects Hyper-V extensions, fails to initialize*
Workaround: Disable use of Hyper-V extensions
Performance hit for Windows VMs
Have we entered an arms race?
*NVIDIA driver version 344.11
GeForce: | One still required* |
Radeon: | Not needed! |
*QEMU now enables this independent of x-vga (2.2)
Alex Williamson / alex.williamson@redhat.com