Suffering with Performance Issue with Xen vCPU pinning and GPU passthrough

Hey, Qubes folks! I am new to here. I just got GPU passthrough working following the @neowutran’s guide.

However, I am currently suffering with the GPU bottleneck that seems caused by the CPU. the game in the HVM has only 30 fps, I’ve notice that after game starts there is one single vCPU hits the 100%. and the GPU is only hits 20%. then, I just follow another guide made by @renehoj talks about how to pin vCPUs, and I pin other system VMs vCPUs to E-cores, and manually pin each gaming’s vCPU to each P-core (SMT disabled) before the game starts. but the result is all the same. single CPU still hits 100% and GPU only has 20% usage.

and I’ve do another test on ArchLinux running on Qemu on ArchLinux on same machine. and in Qemu I use same setting, but instead I just leave it default. I didn’t configure any CPU pinning and the SMT is also disabled, and everything works great. I got avg 144 fps on same scene. and the vCPUs are nice and relax, they’re both working with 20% usage. and GPU works 80%.

I wants to seek some help and advice from the community. I really wants to use Qubes as daily driver. and I don’t want to manually maintain 10 OS installation in virt-manager.


You can check this topic:

I guess I am out of luck here. I am gonna leave the thread open, I guess its an issue specific to Stray on proton Linux on Xen, and I am gonna fallback to plan B which is dual boot Archlinux KVM with hardware disk switch.