Hello! I very much enjoy most of Manjaro KDE Plasma’s defaults, and rolling updates.
I have a use-case to use the Nvidia and/or Intel iGPU in my laptop to accelerate a KVM/QEMU windows virtual machine. However, I don’t want to veer away from best practices with Manjaro and rolling updates. Mostly because there’s no way I’ll remember how I enabled it down the road… I’d rather use whatever defaults Manjaro is setup for.
Do I go the IOMMU route and disable/pass through stuff? Trying to avoid grub/kernel cmdline stuff if I can. Ran into too many support issues with the family devices when i had to edit kernel lines over time.
Is there some default iGPU that can be attached in a a default kvm install perhaps?
Has vGPU become a simple driver install now? highly prefer this route as it seems to solve mixed loads/multiple VMs.
I honestly have no idea how my nvidia quadro and intel igpu is setup, enabled, how to manage/switch. Is there a GUI I haven’t stumbled upon yet? It’s a 12th gen Intel 14C with rtx quadro w/16GB. Seems such a waste to let it sit there, unused. Or wasting battery…
Looking for the simplest solution, vGPU kind of thing that I can use in multiple VMs and not necessarily the best performance. battery life would be second priority, but with some option to go into battery-save mode (shut off VM?).
Which will mean the iGPU (intel) runs everything by default and you can call the dGPU (nvidia) with prime-run.
For your use-case it sorta sounds like you might prefer to not do that and instead allocate the nvidia to these other VMs? Im not really sure - not my forte. But I hope the above answers part of your question.
My main workstation at home has been running VFIO/GPU passthrough with QEMU. I installed this about 3 years ago. I think I only run into one kernel related problem that was was easily avoidable until it was solved.
I have never tried a laptop, I was actually going to attempt it with this one I got recently if I had the time. One thing to look up to make sure you can even do it, is check if your BIOS allows you to enable IOMMU. For Intel CPUs this is called Vt-d (not Vt-x, but you need that too), and for AMD it’s called AMD-V.
If you have that, you can pass most PCIe devices off, such as the dGPU chipset, to a VM. This all works, and on a desktop, very well. On a laptop, I suspect this will vary. I still bang my head on the desktop Nvidia drivers,I just can’t hand it off smoothly to the host and guests as I’d like. In your case, that doesn’t even matter. And I don’t see why it wouldn’t work. There is always the possibility of some GPU driver, sleep state, or whatever issue.
You can always start with a much easier PCIe device to get working first, such as a USB controller, or audio.
That Configure Graphics Cards nailed everything I needed to know. I do have one issue though… For completion, I was originally for, and was very happy to see the default setup on an nvidia laptop with optimus is (and I now see support for AMD graphics switching!! yay! new laptop time!):
uses the cpu iGPU by default (which uses Intel Open Source drivers here)
you can run an app with “prime-run ” to use the dGPU (nvidia proprietary)
All drivers installed, configured, and manging prime-run from this new “mhwd” utility.
Now, to figure out how to do this with qemu… I’ll do more research. Thank you for pointing me in the right direction.
That’s pretty much what I do, I can start a Windows VM capable of gaming. Then put it in a fast Linux dev environment.
The handing off from host to guest, especially with Nvidia, I had trouble with. But there are options now that didn’t exist when I set it up. (Which has been on my list to try.)