← Back to context

Comment by westurner

24 days ago

Systems with iGPU (CPU RAM) + dGPU (dedicated GPU RAM) support GPU passthrough IIUC.

With the proprietary Nvidia Linux module,

These environment variables cause processes to run on an Nvidia dGPU instead of the iGPU: https://download.nvidia.com/XFree86/Linux-x86_64/435.17/READ... :

  __NV_PRIME_RENDER_OFFLOAD=1 \
  __GLX_VENDOR_LIBRARY_NAME=nvidia \ 
  process-to-run-on-dGPU; 

EnvyControl and supergfxctl support selecting between modes (integrated / hybrid / nvidia) to specify whether processes run on the iGPU or the dGPU(s). https://github.com/bayasdev/envycontrol#hybrid

Bazzite has supergfxctl and the Nvidia modules installed in their OCI system images ("Native Containers"; ublue-os)

IIRC from (awhile ago) trying to run a Windows VM with GPU passthrough to the dGPU, a device selection gui would've helped

Arch wiki > Supergfxctl > 5.1 Using supergfxctl for GPU passthrough (VFIO) https://wiki.archlinux.org/title/Supergfxctl#Using_supergfxc...

Linux for ROG notebooks > VFIO dGPU Passthrough Guide > VM Creation Walkthrough: https://asus-linux.org/guides/vfio-guide/#vm-creation-walkth... ;

> After running this, the terminal will display a list of all your PCI devices, listed by their IOMMU group. Skim through the list until you find the IOMMU group that contains your dGPU.

But then under "selinux considerations" it says: https://asus-linux.org/guides/vfio-guide/#selinux-considerat... :

> /etc/libvirt/qemu.conf and find this line:

  #security_default_confined = 1