Hi I'm trying to make sense of how this libvirt configuration is working so well with the mouse.
Normally, if I start an OSX guest and connect with Spice the mouse is captured - you have to click and ctrl-alt to release. But when I imported the VM into Virt-manager and connected with Spice the mouse is now seamless - no clicking/doesn't grab focus/no ctrl-alt. This is great but seems like magic because I thought Spice required vdagent and OSX doesn't have this. Is Qemu guest agent involved with the mouse? This is passed through and AppleQEMUGuestAgent is running. I built a Catalina guest using quickemu then imported the disks with virtmanager. I'm using the quickemu ppa version of Qemu 6.0 I used this template to import the guest. I added sound(needs correct OpenCore) and USB redirection which works nicely too. https://github.com/kholia/OSX-KVM/blob/master/macOS-libvirt-Catalina.xml - Does virtmanager/libvirt do anything special here or is it the generated Qemu config? Also "-device usb-tablet" doesn't work properly for me in the quckemu setup but it works with the libvirt qemu comands There's a lot going on in the libvirt config - I'm wondering what exactly makes the mouse work. /usr/bin/qemu-system-x86_64 -version QEMU emulator version 6.0.0 (Debian 1:6.0+dfsg-2expubuntu1~focal1.0) Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers This is the env/cmdline setup by virt-manager: LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin HOME=/var/lib/libvirt/qemu/domain--1-macOS XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-macOS/.local/share XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-macOS/.cache XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-macOS/.config /usr/bin/qemu-system-x86_64 -name guest=macOS,debug-threads=on -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-macOS/master-key.aes"}' -blockdev '{"driver":"file","filename":"/home/jmorrison/OSX-KVM/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' -blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' -blockdev '{"driver":"file","filename":"/home/jmorrison/OSX-KVM/OVMF_VARS-1024x768.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' -blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' -machine pc-q35-4.2,accel=kvm,usb=off,dump-guest-core=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,memory-backend=pc.ram -cpu kvm64,vme=on,ssse3=on,sse4.2=on,x2apic=on,popcnt=on,aes=on,xsave=on,avx=on,hypervisor=on,xsaveopt=on,invtsc=on -m 8192 -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":8589934592}' -overcommit mem-lock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 2aca0dd6-cec9-4717-9ab2-0b7b13d111c3 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain--1-macOS/monitor.sock,server=on,wait=off -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -boot strict=on -device pcie-root-port,port=0x8,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 -device pcie-root-port,port=0x9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 -device pcie-root-port,port=0xa,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 -device pcie-root-port,port=0xb,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x3 -device pcie-root-port,port=0xc,chassis=5,id=pci.5,bus=pcie.0,addr=0x1.0x4 -device pcie-root-port,port=0xd,chassis=6,id=pci.6,bus=pcie.0,addr=0x1.0x5 -device pcie-root-port,port=0xe,chassis=7,id=pci.7,bus=pcie.0,addr=0x1.0x6 -device pcie-root-port,port=0xf,chassis=8,id=pci.8,bus=pcie.0,addr=0x1.0x7 -device pcie-pci-bridge,id=pci.9,bus=pci.1,addr=0x0 -device ich9-usb-ehci1,id=usb,bus=pcie.0,addr=0x7.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pcie.0,multifunction=on,addr=0x7 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pcie.0,addr=0x7.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pcie.0,addr=0x7.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x0 -blockdev '{"driver":"file","filename":"/home/jmorrison/OSX-KVM/OpenCore/OpenCore.qcow2","aio":"threads","node-name":"libvirt-3-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' -blockdev '{"node-name":"libvirt-3-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"qcow2","file":"libvirt-3-storage","backing":null}' -device ide-hd,bus=ide.0,drive=libvirt-3-format,id=sata0-0-0,bootindex=2,write-cache=on -blockdev '{"driver":"file","filename":"/home/jmorrison/OSX-KVM/RecoveryImage.img","node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' -blockdev '{"node-name":"libvirt-2-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"raw","file":"libvirt-2-storage"}' -device ide-hd,bus=ide.2,drive=libvirt-2-format,id=sata0-0-2,bootindex=3,write-cache=on -blockdev '{"driver":"file","filename":"/home/jmorrison/OSX-KVM/mac_hdd_ng.img","aio":"threads","node-name":"libvirt-1-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' -blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage","backing":null}' -device virtio-blk-pci,bus=pci.3,addr=0x0,drive=libvirt-1-format,id=virtio-disk0,bootindex=1,write-cache=on -netdev tap,fd=30,id=hostnet0 -device vmxnet3,netdev=hostnet0,id=net0,mac=52:54:00:e6:85:40,bus=pci.9,addr=0x2 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain--1-macOS/org.qemu.guest_agent.0,server=on,wait=off -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -audiodev id=audio1,driver=spice -spice port=5901,addr=0.0.0.0,disable-ticketing=on,seamless-migration=on -device VGA,id=video0,vgamem_mb=64,bus=pci.9,addr=0x1 -device ich9-intel-hda,id=sound0,bus=pcie.0,addr=0x1b -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0,audiodev=audio1 -device 'isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc' -smbios type=2 -device usb-tablet -device usb-kbd -cpu kvm64,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny -msg timestamp=on