QEMU Q35 Version Difference: Impact on Windows 10 VM Settings
When it comes to virtualization, QEMU (Quick Emulator) is a popular and powerful open-source machine emulator and virtualizer. QEMU has several machine types, one of which is the Q35 machine type. This article will focus on the version difference between QEMU Q35-9.0 and Q35-7.2 and how it impacts Windows 10 VM settings in Virt-Manager.
QEMU Q35 Machine Type
The QEMU Q35 machine type is based on the Intel 440FX chipset and ICH9 southbridge. It provides a more modern and feature-rich platform compared to the previous Q35 machine type. The Q35 machine type is suitable for running modern operating systems, such as Windows 10, in a virtualized environment.
Version Difference: Q35-9.0 vs Q35-7.2
The version difference between Q35-9.0 and Q35-7.2 may seem minor, but it can have a significant impact on Windows 10 VM settings in Virt-Manager. The Q35-9.0 version includes several bug fixes and improvements, such as improved IOMMU support and better handling of PCIe devices.
Impact on Windows 10 VM Settings
When running a Windows 10 VM in Virt-Manager with the Q35 machine type, it is recommended to use the Q35-9.0 version. The improved IOMMU support in Q35-9.0 can provide better performance and stability for the VM. Additionally, the better handling of PCIe devices can allow for more devices to be passed through to the VM, providing increased functionality and compatibility.
To change the machine type in Virt-Manager, follow these steps:
- Shut down the VM.
- Select the VM and click on "Details".
- Under "Firmware", change the "Machine" to "q35-9.0".
- Click "Apply" and start the VM.
Code Block: Example of Q35-9.0 VM Configuration in Virt-Manager
<domain type='kvm' id='1'>
<name>win10</name>
<uuid>f6d46c2b-a9c0-4d6e-9c35-3f8a3a2b9d3c</uuid>
<memory unit='KiB'>4194304</memory>
<currentMemory unit='KiB'>4194304</currentMemory>
<vcpu placement='static' cpuset='0-3'>4</vcpu>
<os>
<type arch='x86_64' machine='q35-9.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic>
<pae/>
</features>
<cpu mode='host-model' check='partial'>
<model>Haswell</model>
<feature policy='require' name='vmx'/>
</cpu>
<clock offset='localtime'>
<timer name='rtc' present='yes'/>
<timer name='pit' present='yes'/>
<timer name='hpet' present='yes'/>
</clock>
<on\_poweroff>destroy</on\_poweroff>
<on\_reboot>restart</on\_reboot>
<on\_crash>destroy</on\_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86\_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/win10.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
<controller type='pci' index='0' model='pcie-root'/>
<controller type='virtio-serial' index='0'/>
<interface type='network'>
<mac address='52:54:00:12:34:56'/>
<source network='default'/>
<model type='e1000'/>
</interface>
<interface type='hostdev' managed='yes'>
<source>
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
</source>
<model type='vfio'/>
<address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
In summary, the version difference between QEMU Q35-9.0 and Q35-7.2 can have a significant impact on Windows 10 VM settings in Virt-Manager. It is recommended to use the Q35-9.0 version for improved IOMMU support and better handling of PCIe devices. The example code block provided shows an example of a Q35-9.0 VM configuration in Virt-Manager.
References
- QEMU: https://www.qemu.org/
- Virt-Manager: https://virt-manager.org/
- QEMU Machine Types: https://wiki.qemu.org/Documentation/Platforms/PC#Machine_Types
- QEMU Changelog: https://wiki.qemu.org/Changelog/9.0