Hello everyone! I have an MSI GF66 with NVIDIA RTX 3050 Graphics. Qubes OS works well on the integrated Intel graphics. I would like to try using sys-gui to play some games. How do I install the NVIDIA drivers? Do I install them in dom0?
Graphics in Qubes OS is handled either by dom0 (default) or in R4.1 optionally by a dedicated sys-gui. In any case, the programs running in your qubes will be using a software graphics driver and the resulting rendering will be shared to dom0/sys-gui via a shared buffer. This is so no program in any qube can access whatever is rendered in another qube.
Consequently, even if you get the Nvidia drivers to work in dom0 / sys-gui, the programs running inside your various qubes will not benefit from hardware acceleration. Your window decorations might render a bit faster, but I doubt you’ll recognize any benefits. Actually you might just burn countless hours trying to install proprietary drivers, thereby lower your security and in the end frustrated switch back to the integrated GPU because it simply works better in Qubes OS.
You could attempt GPU passthrough to a specific “gaming qube”, but it is my understanding that this is quite experimental and will require lots of troubleshooting. So unless you derive satisfaction from trying to understand how this (could) work in detail, you are probably better off dual booting … which comes with it’s own set of issues.
But can’t you run games in sys-gui? (assuming that you accept the security trade-offs).
Also there are quite a few people on this forum who managed to benefit from the GPU passthrough.
You should definitely evaluate your threat model before doing something like that. However, AFAIK it will probably be more secure than dual booting, since sys-gui has no access to dom0.
You said:
I think this is a negative view discouraging people from trying. I presented a positive view showing that it can work, at least in principle. The more people try this, the more of them make it work, the higher chance that at some point it won’t be “experimental and requiring lots of troubleshooting”, which is why I would encourage everyone to try this if they can. At the end, it may increase the Qubes user base, which is (I guess) we all want.
I don’t want people to get the impression that it will be easy and then be frustrated with the entire project when it doesn’t work. It is experimental and one might get it to work, but it could also break at any time. This function is not officially supported and ones experience should not lead to conclusions about the overall state of Qubes OS.