← Back to server info

🐧 GPU Passthrough on Pop!_OS

Run Windows games at native GPU performance inside a VM

⚠️ You need two GPUs — one for Linux (can be integrated/iGPU), one to pass through to Windows. Single-GPU passthrough exists but is much harder.

Prerequisites

Step 1: Enable Virtualization in BIOS

Reboot into BIOS/UEFI

Look for and enable:

Also disable Secure Boot (causes issues with VFIO).

Step 2: Enable IOMMU in Pop!_OS

Edit kernelstub config

sudo kernelstub -a "intel_iommu=on iommu=pt"

For AMD CPUs, use:

sudo kernelstub -a "amd_iommu=on iommu=pt"

Reboot after this.

Step 3: Verify IOMMU is Working

dmesg | grep -i iommu

You should see lines about IOMMU being enabled. If not, double-check BIOS settings.

Step 4: Find Your GPU's PCI IDs

lspci -nn | grep -i nvidia

You'll see something like:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation [10de:2684]
01:00.1 Audio device [0403]: NVIDIA Corporation [10de:22ba]

Note those IDs in brackets: 10de:2684 and 10de:22ba

Step 5: Bind GPU to VFIO Driver

Create a modprobe config

sudo nano /etc/modprobe.d/vfio.conf

Add this line (using YOUR IDs from step 4):

options vfio-pci ids=10de:2684,10de:22ba

Then update initramfs:

sudo update-initramfs -u

Reboot. Your 4090 will now be reserved for the VM.

Step 6: Install VM Software

sudo apt install qemu-kvm libvirt-daemon-system virt-manager ovmf

Add yourself to the libvirt group:

sudo usermod -aG libvirt $USER

Log out and back in.

Step 7: Create Windows VM

Open Virtual Machine Manager

1. Click Create new VM

2. Select your Windows 11 ISO

3. Give it 8GB+ RAM, 4+ CPU cores

4. Create a 100GB+ disk

5. Check "Customize before install"

Step 8: Add Your GPU

In the VM settings (before first boot)

1. Click Add Hardware → PCI Host Device

2. Select your NVIDIA GPU (the VGA one)

3. Repeat for the NVIDIA Audio device

4. Remove the virtual display (Spice/QXL) — you'll use real monitor

Step 9: Install Windows + Drivers

1. Boot the VM — connect a monitor to your 4090

2. Install Windows normally

3. Install NVIDIA drivers from nvidia.com

4. Install Minecraft Bedrock from Microsoft Store

Step 10: Play!

In Minecraft: Play → Servers → Add Server

Address: mc.kerricklong.com

Port: 19132

💡 Tip: For switching keyboard/mouse between host and VM, look into Looking Glass or use a USB switch/passthrough.