Apologies for the delayed response. To completely eliminate screen tearing, you must connect an external monitor directly to the graphics card designated for passthrough. Here’s how I resolved the issue in my own configuration:
I set up a dedicated sys-gui-gpu VM. After configuring all necessary permissions and security policies, I installed the NVIDIA driver in dom0. I then passed through the NVIDIA GPU to sys-gui-gpu and hid the secondary AMD GPU so it could be allocated to other APPVMs. Notably, sys-gui-gpu operates using the open-source Nouveau driver, which eliminated the need for proprietary software.
I primarily use the AMD-equipped VM for running Steam, streaming 4K video, and executing local LLMs via llama.cpp. With 24 GB of VRAM, it comfortably runs Qwen3.6-27B at 50–60 tokens per second with a 200K context window (when MTP is enabled). Disabling MTP allows for MAX model token context, though inference speed drops to approximately 30-35 tokens per second. I’d be glad to draft a detailed step-by-step guide if you’d like, though other community guides already cover Ollama integration.
For configuring an NVIDIA GPU in a dedicated VM specifically for 4K video playback, this community thread serves as an excellent reference: https://forum.qubes-os.org/t/create-a-gaming-hvm/19000.
As highlighted there, you’ll need to hide the GPU from the host system using the rd.qubes.hide_pci kernel parameter. Please don’t hesitate to reach out if you encounter any issues or have additional questions—I’m happy to assist!