From 6d7410b7ab5a42ce0dda29cb0e97fbee2804e91b Mon Sep 17 00:00:00 2001 From: Derek McTavish Date: Wed, 1 Apr 2026 08:35:34 +0000 Subject: [PATCH] --- Linux/Guides/GPU Passthrough.md | 293 +------------------------------- 1 file changed, 2 insertions(+), 291 deletions(-) diff --git a/Linux/Guides/GPU Passthrough.md b/Linux/Guides/GPU Passthrough.md index 8e1f968..d00cb83 100644 --- a/Linux/Guides/GPU Passthrough.md +++ b/Linux/Guides/GPU Passthrough.md @@ -1,293 +1,4 @@ # Windows VM with GPU Passthrough -- [[Linux Host Setup|Linux/Guides/GPU Passthrough/Host]] -- [[Windows VM Setup|Linux/Guides/GPU Passthrough/VM]] - - -## Enable IOMMU - -```bash -sudo vim /etc/default/grub -``` - -Add amd_iommu=on iommu=pt - -`GRUB_CMDLINE_LINUX_DEFAULT="... amd_iommu=on iommu=pt"` - -```bash -sudo grub-mkconfig -o /boot/grub/grub.cfg -sudo reboot -``` - -Verify - -```bash -sudo dmesg | grep -i iommu -``` - -## Find GPU IDs - -```bash -lspci -nn | grep -E "VGA|Audio" -``` - -In my case, I get - -- `10de:28a0` -- `10de:22be` - -## VFIO Module Options - -```bash -sudo vim /etc/modprobe.d/vfio.conf -``` - -> ### Arch -> ```bash -> options vfio-pci ids=10de:28a0,10de:22be -> ``` - -> ### Fedora -> ```bash -> options vfio-pci ids=10de:28a0,10de:22be disable_vga=1 -> softdep nvidia pre: vfio-pci -> softdep nouveau pre: vfio-pci -> ``` - -## Blacklist GPU - -```bash -sudo vim /etc/modprobe.d/blacklist-gpu.conf -``` - -> ### Arch -> ``` -> blacklist nouveau -> blacklist nvidia -> blacklist nvidia_drm -> blacklist nvidia_modeset -> ``` - -> ### Fedora -> ``` -> blacklist nouveau -> blacklist nvidia -> blacklist nvidia_drm -> blacklist nvidia_modeset -> blacklist nvidia_uvm -> blacklist rivafb -> blacklist nvidiafb -> blacklist snd_hda_intel -> ``` - -## Load VFIO - -> ### Arch -> ```bash -> sudo vim /etc/mkinitcpio.conf -> ``` -> ``` -> MODULES=(vfio vfio_iommu_type1 vfio_pci) -> ``` -> ``` -> sudo mkinitcpio -P -> sudo reboot -> ``` - -> ### Fedora -> ```bash -> sudo vim /etc/dracut.conf.d/10-vfio.conf -> ``` -> ``` -> force_drivers+=" vfio vfio_iommu_type1 vfio_pci " -> ``` -> ```bash -> sudo dracut -f -> ``` -> ```bash -> sudo reboot -> ``` - -### Confirm Kernel Driver - -```bash -lspci -nnk -d 10de:28a0 -``` - -```bash -lspci -nnk -d 10de:22be -``` - -## Install Virtualization Stack - -> ### Arch -> ```bash -> sudo pacman -S --needed virt-manager qemu-full libvirt dnsmasq ovmf swtpm -> ``` - -> ### Fedora -> ```bash -> sudo dnf install @virtualization virt-manager qemu-kvm libvirt-daemon-config-network libvirt-daemon-kvm bridge-utils edk2-ovmf swtpm -> ``` - -## User Groups and Permissions - -> ### Arch -> ```bash -> sudo usermod -aG libvirt,kvm,input,render,libvirt-qemu $USER -> ``` - -> ### Fedora -> ```bash -> sudo usermod -aG libvirt,kvm,input,render $USER -> ``` - -Reboot the system. - -And now verify: - -```bash -virsh list --all -``` - -If it doesn't error, you're good. - -# Create the VM - -Start virt-manager - -```bash -virt-manager -``` - -When creating VM: - -- Local ISO -- Windows 11 ISO -- Firmware: UEFI (OVMF) -- Chipset: Q35 -- TPM: emulated - -Before you start the VM: - -```bash -sudo vim /etc/default/ufw -``` - -Find `DEFAULT_FORWARD_POLICY="DROP"` and change it to `DEFAULT_FORWARD_POLICY="ACCEPT"` - -Now boot the VM. - -## Network Issues - -If the network is being wonky, or if you want to bypass updates... Shift-F10 - -``` -OOBE\BYPASSNRO -``` - -Now add the PCI devices in virt-manager. - -```bash -yay -S looking-glass -``` - -On Windows, download the host from https://looking-glass.io/downloads - -```bash -sudo virsh edit win11 -``` - -Inside `` - -```xml - - - 128 - -``` - -```bash -sudo vim /etc/tmpfiles.d/10-looking-glass.conf -``` - -``` -# Type Path Mode UID GID Age Argument -f /dev/shm/looking-glass 0660 YOURUSER kvm - -``` - -```bash -sudo rm -f /dev/shm/looking-glass -``` -```bash -sudo systemd-tmpfiles --create /etc/tmpfiles.d/10-looking-glass.conf -``` -```bash -ls -l /dev/shm/looking-glass -``` - -Should be owned by my user. - -## Install Virtual Display Driver on Windows. - -## Configure Looking Glass - -```bash -vim ~/.looking-glass-client.ini -``` - -```ini -[win] -fullscreen=yes -size=2880x18900 -dontUpscale=yes -``` - -```bash -env -u WAYLAND_DISPLAY looking-glass-client -``` - -## Audio - -Edit XML. Inside `` - -```xml - -