Run Windows games at native GPU performance inside a VM
Look for and enable:
Also disable Secure Boot (causes issues with VFIO).
sudo kernelstub -a "intel_iommu=on iommu=pt"
For AMD CPUs, use:
sudo kernelstub -a "amd_iommu=on iommu=pt"
Reboot after this.
dmesg | grep -i iommu
You should see lines about IOMMU being enabled. If not, double-check BIOS settings.
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
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.
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.
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"
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
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
In Minecraft: Play → Servers → Add Server
Address: mc.kerricklong.com
Port: 19132