I’m currently running QubesOS on a device that unfortunately only has a single GPU, which rules out PCI passthrough of a dedicated GPU to any particular qube. I’m curious to hear how others are using QubesOS for more everyday tasks—especially media consumption like watching videos, streaming content, or anything that typically benefits from GPU acceleration.
Given the single-GPU limitation, what options do I realistically have for improving performance in such scenarios? Have you found tricks, tweaks, or specific configurations that help with smoother playback or reduce system strain when handling media? The system isn’t underpowered and new but some things aren’t usable atm.
I would like to avoid having to dual boot to a different distri and overall the qubes experience has been really interesting as its very flexible. So hopefully there is a way to improve the performance in this area.
If you haven’t done so already, check out https://mpv.io/ for playing media. It’s lightweight, and I’ve found it works much better than VLC. In addition to giving more vCPUs to the qubes (as @solene suggested), more memory helps as well. I routinely play videos at 1080p without any issues. 1440p is more hit/miss depending on the number (and resource profiles) of other qubes that I have open.
I was hoping there would be a way to “solve” this issue. I’m considering assigning more vCPUs, but at the moment, some GUIs, like Vesktop, feel sluggish. My CPU, an Intel Core Ultra 255H, isn’t the most powerful but should be enough to handle video playback.
Do you have any details on the vCPU and RAM allocations that work well for applications like Vesktop, Schildichat, or Telegram? Currently, I’ve assigned 4 vCPUs and 4-8GB of RAM to each.
Additionally, I’d appreciate any general advice on hardware preferences for commonly used Qubes. Is there a resource for such things beside this forum? Or even something like IRC, Matrix to discuss things?
Oh, that’s interesting. I’m using the E16 G3 for Qubes What CPU does your device have? Which player are you using, and how many resources have you assigned? (Edit: Missed the YT part)
Additionally, have you made any changes to your setup that are out of the ordinary?
I have i5-1245U (laptop was used), I’ve changed heatpipe/fan module to gpu version and changed thermal paste. I’ve changed keyboard also from nordic to international. And changed nvme to FireCuda 530. That’s all modifications.
As for system, default xorg.conf was with i915 driver and playback was choppy on any fullscreen with around 50-60% cpu utilization and 500-1000ms stop frame every 3-4s.
It’s much better but I have hard crash of dom0 once a day.
It’s dri = iris fault since it’s forced by modesetting driver but I’ve tested it with i915 and is the same.
Any other options in xorg.conf is either depreciated or changed to modesetting default so no need to include it.
I’ve also played with cpu management but making it use higher power states make cpu power throttle and going to lower frequency than with balanced settings.
For easily playing youtube videos without hardware accel you can use MPV as mentioned above. This command works well for me (taken from a forum thread here, one I can’t find right now):
It’s not so simple. YT is constantly changing it’s API and just passing url to player won’t do.
There are special servers to emulate YT wrb API to stream from it.
I’ve “just” passed the URL to mpv for the past year and a half and it’s worked almost 100% of the time. Thanks for posting the link to the original thread.
If you have a Core Ultra 255H, you should be able to use SR-IOV.
SR-IOV will allow you to split the GPU into multiple virtual devices, that you can pass to multiple VMs at the same time.
There is an HCL report confirming it works with the Core Ultra 155U, but it requires applying some kernel patches manually. There is some information in the replies about how to get it working, but the exact steps needed seems a little unclear.
If you want to try and get SR-IOV working, using the R4.3 alpha release might make it easier.
If you are just having issues with video playback on YouTube, try disabling the “ambient mode” in the YouTube player settings.