How to Pass Arguments to QEMU

Hello, I am trying to pass a command to my HVM: So I can get direct mouse control. Please let me know if there is another way I can get the mouse control.

https://wiki.archlinux.org/title/QEMU#Mouse_integration

Thanks

Qemu is not launched directly, but through libvirt. So you will have to translate any qemu command-line options into their libvirt XML.

The XML configuration for all qubes is instanciated from /usr/share/qubes/templates/libvirt/xen.xml, and from the qube’s properties.

One way of experimenting could be to add conditional jinja constructs to xen.xml, and use qvm-features to activate them on select qubes.

Don’t forget to make a backup of that file first, but it will be restored by a qubes-core-dom0 reinstall - which means you’d better also backup your experiments before updating your dom0.

What I am trying to do is get gaming setup on Qubes. I already have my GPU attached and the driver installed. I just the performance is bad. I believe this due to QEMU.

Passthrough tuning can be tricky to get the best perfs. And most people doing VGA passthrough use KVM, not Xen, which makes it harder to apply good tricks found by others. We’re not far from breaking ground here, experimentation will be needed to get good perfs :slight_smile:

I was considering using a tool like https://parsec.app/ or https://moonlight-stream.org/. The problem is they require acceleration on the host as well as the client. Should I try to use VNC?

They require video acceleration for a reason: they stream h264 or similar to reduce the bandwidth they eat, and decoding 1080p@60Hz in software requires quite some CPU. But if moonlight doesn’t provide a no-compression it could be possible to implement that – just not my chosen target ;).

From VM to VM we likely only need compression if the bandwidth provided by the vchan is not sufficient.

As for VNC I’m not sure it is up to the task, may be worth trying.

Could you elaborate further?

Battling for passthrough of my integrated GPU rather than the secondary, with command streaming from VMs to sys-gui-gpu rather than streaming back the video. A bit more of a longer-term project :slight_smile:

I see. Unfortunately I’m stuck some people have more success than me. When setting up GPU pass-through. Others have seem to get theirs to just work after setting up the pass-through. In my experience I have terrible latency.