VoLTE/VoWiFi research with $0 of equipment: set up a phone network over Wi-Fi calling
This disables the usual QEMU window, and also enables the virtual machine’s serial port for viewing boot progress. This was harder than I thought: just running rmmod i915 gives the error:Ġ0:02.0 VGA compatible controller : Intel Corporation HD Graphics 5500 (rev 09)Īllows QEMU to start in an SSH terminal. So I keep the GPU on during boot, and only disable it just before starting QEMU. However, I’m using a Live USB, and I needed the screen to configure Wi-Fi and enable SSH. Usually, the GPU is disabled at boot up, either with the nomodeset boot argument or with a modprobe blacklist. Press Ctrl-X to boot with the new argument.
Add intel_iommu=on to the end of the linuxefi line.Hit E when the boot screen appears to edit boot arguments.To enable PCI passthrough, I had to turn on the IOMMU at boot. I tested this on Fedora Workstation 29’s Live image, booted from a USB drive. With passthrough enabled, I was able to boot a Linux VM in QEMU with full GPU acceleration. I tried GPU passthrough with the integrated graphics of my Intel Broadwell CPU. GPU passthrough allows a virtual machine to use the full power of the host’s GPU to speed up graphical performance. I wrote a script to unload the Intel driver while avoiding the “Module i915 is in use” error, and explored what QEMU GPU passthrough options actually do.
Here’s how I setup GPU passthrough with an Intel Broadwell GPU on Fedora 29. I’m leaving this up in case this helps someone with a non-Broadwell integrated GPU. You’ll see Disabling IOMMU for graphics on this chipset in the dmesg, and the integrated GPU will not be visible to vfio.
UPDATE 2020-09: This no longer works for Intel Broadwell integrated GPUs as of Linux 5.4.