QEMU 5.2: Error Propertypc-q35-5.2-machine.i8042notfound on Windows Host
QEMU (Quick Emulator) is a powerful open-source machine emulator and virtualizer that can run on various host machines, including macOS and Windows. However, when attempting to run QEMU 5.2 on a Windows host, users may encounter the error "Property 'pc-q35-5.2-machine.i8042' not found." This article will provide a detailed explanation of the issue and offer solutions to resolve it.
Understanding the Error
The error "Property 'pc-q35-5.2-machine.i8042' not found" occurs when QEMU attempts to access the i8042 keyboard controller on the PC-Q35 machine type, which is not supported on Windows hosts. The i8042 controller is an Intel 8042 microcontroller used for keyboard and mouse input in legacy systems. However, modern operating systems, including Windows, do not require this controller, and QEMU can emulate keyboard and mouse input without it.
Resolving the Error
To resolve the error, users can create a custom machine type that does not include the i8042 controller. Here are the steps to create a custom machine type:
Create a new XML file called "pc-q35-no-i8042.xml" with the following content:
<?xml version='1.0' encoding='utf-8'?> <qemu:machine name='pc-q35-no-i8042'> <qemu:property name='machine' value='pc-q35-5.2'/> <qemu:property name='accel' value='hvf'/> <qemu:property name='kernel_irqchip' value='no'/> <qemu:property name='i8042' value='no'/> <qemu:property name='kvm' value='yes'/> <qemu:property name='usb' value='ehci,xhci'/> <qemu:property name='smp' value='2'/> <qemu:property name='boot_order' value='cdn'/> <qemu:property name='boot_menu' value='yes'/> <qemu:property name='firmware' value='bios'/> <qemu:property name='mem-path' value='/Users/<username>/qemu-storage'/> <qemu:property name='nvram' value='/Users/<username>/qemu-storage/nvram.fd'/> <qemu:property name='serial' value='file:/Users/<username>/qemu-storage/serial.log,id=serial0'/> <qemu:property name='std-vga' value='on'/> <qemu:property name='cpu' value='host'/> <qemu:property name='vendor' value='pc'/> <qemu:property name='board' value='q35'/> <qemu:property name='os' value='win11'/> <qemu:property name='feature' value='acpi'/> <qemu:property name='feature' value='apic'/> <qemu:property name='feature' value='pae'/> <qemu:property name='feature' value='vmx'/> <qemu:property name='feature' value='smp'/> <qemu:property name='feature' value='hpet'/> <qemu:property name='feature' value='usb'/> <qemu:property name='feature' value='soundhw'/> <qemu:property name='feature' value='vnc'/> <qemu:property name='feature' value='spice'/> <qemu:property name='feature' value='sdl'/> <qemu:property name='feature' value='vnc-listen'/> <qemu:property name='feature' value='spice-app'/> <qemu:property name='feature' value='sdl-sound'/> <qemu:property name='feature' value='extra-devices'/> <qemu:property name='feature' value='usb-redir'/> <qemu:property name='feature' value='vhost-net'/> <qemu:property name='feature' value='netvsc'/> <qemu:property name='feature' value='net-backend'/> <qemu:property name='feature' value='net-frontend'/> <qemu:property name='feature' value='hax'/> <qemu:property name='feature' value='hax-migration'/> <qemu:property name='feature' value='hax-win-vmsvga'/> <qemu:property name='feature' value='hax-win-vnc'/> <qemu:property name='feature' value='hax-win-sdl'/> <qemu:property name='feature' value='hax-win-directx'/> <qemu:property name='feature' value='hax-win-spice'/> <qemu:property name='feature' value='hax-win-opengl'/> <qemu:property name='feature' value='hax-win-egl'/> <qemu:property name='feature' value='hax-win-d3d11'/> <qemu:property name='feature' value='hax-win-d3d10'/> <qemu:property name='feature' value='hax-win-d3d9'/> <qemu:property name='feature' value='hax-win-d3d8'/> <qemu:property name='feature' value='hax-win-d3d7'/> <qemu:property name='feature' value='hax-win-d3d6'/> <qemu:property name='feature' value='hax-win-d3d5'/> <qemu:property name='feature' value='hax-win-d3d4'/> <qemu:property name='feature' value='hax-win-d3d3'/> <qemu:property name='feature' value='hax-win-d3d2'/> <qemu:property name='feature' value='hax-win-d3d1'/> <qemu:property name='feature' value='hax-win-d3d'/> <qemu:property name='feature' value='hax-win-wddm'/> <qemu:property name='feature' value='hax-win-dxgi'/> <qemu:property name='feature' value='hax-win-dcomp'/> <qemu:property name='feature' value='hax-win-d3d11on12'/> <qemu:property name='feature' value='hax-win-d3d12'/> <qemu:property name='feature' value='hax-win-mf'/> <qemu:property name='feature' value='hax-win-mfplat'/> <qemu:property name='feature' value='hax-win-mfreadwrite'/> <qemu:property name='feature' value='hax-win-mfapi'/> <qemu:property name='feature' value='hax-win-mfstone'/> <qemu:property name='feature' value='hax-win-mfshim'/> <qemu:property name='feature' value='hax-win-mfmetadata'/> <qemu:property name='feature' value='hax-win-mfbytestream'/> <qemu:property name='feature' value='hax-win-mfasync'/> <qemu:property name='feature' value='hax-win-mfasync-manual'/> <qemu:property name='feature' value='hax-win-mfasync-auto'/> <qemu:property name='feature' value='hax-win-mfasync-polling'/> <qemu:property name='feature' value='hax-win-mfasync-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-manual'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-manual'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-polling-manual'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-polling'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered'/> <qemu:property name='feature' value='hax-win-mfasync-buffered-auto-direct-manual-polling-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto-direct-buffered-auto'/> <qemu:property name