|
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> |
|
<name>vm_gaming</name> |
|
<uuid>fd888352-4004-4047-a6e9-1aa45d6cd461</uuid> |
|
<memory unit='KiB'>16777216</memory> |
|
<currentMemory unit='KiB'>16777216</currentMemory> |
|
<memoryBacking> |
|
<hugepages/> |
|
</memoryBacking> |
|
<vcpu placement='static'>8</vcpu> |
|
<iothreads>1</iothreads> |
|
<cputune> |
|
<vcpupin vcpu='0' cpuset='4'/> |
|
<vcpupin vcpu='1' cpuset='5'/> |
|
<vcpupin vcpu='2' cpuset='6'/> |
|
<vcpupin vcpu='3' cpuset='7'/> |
|
<emulatorpin cpuset='0-3'/> |
|
<iothreadpin iothread='1' cpuset='0-3'/> |
|
</cputune> |
|
<os> |
|
<type arch='x86_64' machine='pc-q35-3.0'>hvm</type> |
|
<loader readonly='yes' type='pflash'>/run/libvirt/nix-ovmf/OVMF_CODE.fd</loader> |
|
<nvram template='/run/libvirt/nix-ovmf/OVMF_VARS.fd'>/var/lib/libvirt/VARS_vm_gaming.fd</nvram> |
|
<boot dev='hd'/> |
|
</os> |
|
<features> |
|
<acpi/> |
|
<apic/> |
|
<hyperv> |
|
<relaxed state='on'/> |
|
<vapic state='on'/> |
|
<spinlocks state='on' retries='8191'/> |
|
<vpindex state='on'/> |
|
<runtime state='on'/> |
|
<synic state='on'/> |
|
<stimer state='on'/> |
|
<reset state='on'/> |
|
<vendor_id state='on' value='whatever'/> |
|
</hyperv> |
|
<kvm> |
|
<hidden state='on'/> |
|
</kvm> |
|
<vmport state='off'/> |
|
</features> |
|
<cpu mode='custom' match='exact' check='none'> |
|
<model fallback='allow'>EPYC</model> |
|
<topology sockets='1' dies='1' cores='4' threads='2'/> |
|
</cpu> |
|
<clock offset='localtime'> |
|
<timer name='rtc' tickpolicy='catchup' track='guest'/> |
|
<timer name='pit' tickpolicy='delay'/> |
|
<timer name='hpet' present='no'/> |
|
<timer name='hypervclock' present='yes'/> |
|
</clock> |
|
<on_poweroff>destroy</on_poweroff> |
|
<on_reboot>restart</on_reboot> |
|
<on_crash>restart</on_crash> |
|
<pm> |
|
<suspend-to-mem enabled='no'/> |
|
<suspend-to-disk enabled='no'/> |
|
</pm> |
|
<devices> |
|
<emulator>/run/libvirt/nix-emulators/qemu-kvm</emulator> |
|
<disk type='block' device='disk'> |
|
<driver name='qemu' type='raw' cache='writeback' io='threads' discard='unmap' detect_zeroes='on'/> |
|
<source dev='/dev/nvme_vg/vm_windows'/> |
|
<target dev='sda' bus='scsi'/> |
|
<address type='drive' controller='0' bus='0' target='0' unit='0'/> |
|
</disk> |
|
<controller type='pci' index='0' model='pcie-root'/> |
|
<controller type='pci' index='1' model='pcie-root-port'> |
|
<model name='pcie-root-port'/> |
|
<target chassis='1' port='0x8'/> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> |
|
</controller> |
|
<controller type='pci' index='2' model='pcie-root-port'> |
|
<model name='pcie-root-port'/> |
|
<target chassis='2' port='0x9'/> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> |
|
</controller> |
|
<controller type='pci' index='3' model='pcie-root-port'> |
|
<model name='ioh3420'/> |
|
<target chassis='3' port='0xa'/> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> |
|
</controller> |
|
<controller type='pci' index='4' model='pcie-root-port'> |
|
<model name='pcie-root-port'/> |
|
<target chassis='4' port='0xb'/> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> |
|
</controller> |
|
<controller type='pci' index='5' model='pcie-root-port'> |
|
<model name='pcie-root-port'/> |
|
<target chassis='5' port='0xc'/> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> |
|
</controller> |
|
<controller type='pci' index='6' model='pcie-to-pci-bridge'> |
|
<model name='pcie-pci-bridge'/> |
|
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> |
|
</controller> |
|
<controller type='pci' index='7' model='pci-bridge'> |
|
<model name='pci-bridge'/> |
|
<target chassisNr='7'/> |
|
<address type='pci' domain='0x0000' bus='0x06' slot='0x01' function='0x0'/> |
|
</controller> |
|
<controller type='pci' index='8' model='pci-bridge'> |
|
<model name='pci-bridge'/> |
|
<target chassisNr='8'/> |
|
<address type='pci' domain='0x0000' bus='0x06' slot='0x02' function='0x0'/> |
|
</controller> |
|
<controller type='pci' index='9' model='pci-bridge'> |
|
<model name='pci-bridge'/> |
|
<target chassisNr='9'/> |
|
<address type='pci' domain='0x0000' bus='0x06' slot='0x03' function='0x0'/> |
|
</controller> |
|
<controller type='pci' index='10' model='pci-bridge'> |
|
<model name='pci-bridge'/> |
|
<target chassisNr='10'/> |
|
<address type='pci' domain='0x0000' bus='0x06' slot='0x04' function='0x0'/> |
|
</controller> |
|
<controller type='pci' index='11' model='pci-bridge'> |
|
<model name='pci-bridge'/> |
|
<target chassisNr='11'/> |
|
<address type='pci' domain='0x0000' bus='0x06' slot='0x05' function='0x0'/> |
|
</controller> |
|
<controller type='pci' index='12' model='pcie-root-port'> |
|
<model name='pcie-root-port'/> |
|
<target chassis='12' port='0xd'/> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/> |
|
</controller> |
|
<controller type='virtio-serial' index='0'> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> |
|
</controller> |
|
<controller type='usb' index='0' model='nec-xhci'> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> |
|
</controller> |
|
<controller type='scsi' index='0' model='virtio-scsi'> |
|
<driver queues='8' iothread='1'/> |
|
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> |
|
</controller> |
|
<controller type='sata' index='0'> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> |
|
</controller> |
|
<interface type='bridge'> |
|
<mac address='52:54:00:b7:07:69'/> |
|
<source bridge='br0'/> |
|
<model type='virtio'/> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> |
|
</interface> |
|
<channel type='spicevmc'> |
|
<target type='virtio' name='com.redhat.spice.0'/> |
|
<address type='virtio-serial' controller='0' bus='0' port='2'/> |
|
</channel> |
|
<input type='keyboard' bus='virtio'> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> |
|
</input> |
|
<input type='mouse' bus='virtio'> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/> |
|
</input> |
|
<input type='mouse' bus='ps2'/> |
|
<input type='keyboard' bus='ps2'/> |
|
<input type='tablet' bus='virtio'> |
|
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> |
|
</input> |
|
<graphics type='spice' port='5900' autoport='no' listen='127.0.0.1'> |
|
<listen type='address' address='127.0.0.1'/> |
|
<image compression='off'/> |
|
<gl enable='no' rendernode='/dev/dri/by-path/pci-0000:04:00.0-render'/> |
|
</graphics> |
|
<video> |
|
<model type='virtio' heads='1' primary='yes'> |
|
<acceleration accel3d='yes'/> |
|
</model> |
|
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> |
|
</video> |
|
<hostdev mode='subsystem' type='pci' managed='yes'> |
|
<source> |
|
<address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/> |
|
</source> |
|
<rom file='/etc/nixos/misc/10de:1b80.rom'/> |
|
<address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> |
|
</hostdev> |
|
<redirdev bus='usb' type='spicevmc'> |
|
<address type='usb' bus='0' port='2'/> |
|
</redirdev> |
|
<redirdev bus='usb' type='spicevmc'> |
|
<address type='usb' bus='0' port='4'/> |
|
</redirdev> |
|
<memballoon model='virtio'> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> |
|
</memballoon> |
|
<shmem name='scream'> |
|
<model type='ivshmem-plain'/> |
|
<size unit='M'>2</size> |
|
<address type='pci' domain='0x0000' bus='0x06' slot='0x06' function='0x0'/> |
|
</shmem> |
|
<shmem name='looking-glass'> |
|
<model type='ivshmem-plain'/> |
|
<size unit='M'>32</size> |
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x10' function='0x0'/> |
|
</shmem> |
|
</devices> |
|
<qemu:commandline> |
|
<qemu:arg value='-object'/> |
|
<qemu:arg value='input-linux,id=mouse0,evdev=/dev/input/by-path/pci-0000:0b:00.3-usb-0:2.2.4:1.0-event-mouse'/> |
|
<qemu:arg value='-object'/> |
|
<qemu:arg value='input-linux,id=keyboard0,evdev=/dev/input/by-path/pci-0000:0b:00.3-usb-0:2.2.3:1.0-event-kbd,grab_all=on,repeat=on'/> |
|
<qemu:arg value='-object'/> |
|
<qemu:arg value='input-linux,id=mouse1,evdev=/dev/input/by-path/pci-0000:0b:00.3-usb-0:2.2.3:1.1-event-mouse'/> |
|
</qemu:commandline> |
|
</domain> |
@adamlwgriffiths I'm using dual GPU passthrough, passing the first GPU to the VM. I'm on unstable and had problems at one time, which I was able to fix by using the
latest
kernel. I've also switched from Intel to AMD (as the 7700k failed and replacing it was not reasonable), using the X570 chipset with a Ryzen 7 3700x.