How do I use GPU passthrough on a Windows 11 VM in Proxmox?

With its straightforward interface and powerful features, Proxmox is an amazing hypervisor for both newcomers and experienced home lab users. However, the difficulty level increases significantly once you start delving into the more advanced aspects of the virtualization platform.




For example, I recently described the procedure for setting up PCI passthrough on a Proxmox machine. While most expansion cards work fine once you enable them in the Hardware tab of a VM, calibrating all the settings required to use GPUs in virtual machines is a nightmare. However, if you're willing to undergo a strenuous procedure, you can follow this guide to access your graphics card(s) from a Windows 11 VM.

Creating a Windows 11 VM

Unlike most virtual machines, setting up a virtual machine on Windows 11 requires a few extra steps. If you haven't created one yet, here's a quick overview of the entire process:

  1. Download the ISO file for Windows along with the VirtIO drivers from the respective links.
  2. Go to ISO image of your local node and press the Upload Button.
    How to upload ISO files to Proxmox host via web UI

  3. Knock Upload fileselect the Windows 11 ISO you previously downloaded and click Upload Button.
    Uploading the Windows 11 and VirtIO ISO files to the Proxmox host computer via the web UI

    Repeat the process for the VirtIO ISO File.

  4. Click on the Create VM option in the upper right corner of the screen.
    Creating a new VM using the Proxmox web UI

  5. Once you have a name For the VM, select the Windows 11 image file as ISO image and turn on the type Setting under Guest operating system To MicrosoftWindows.
    Selecting the Windows 11 ISO file in the Create Virtual Machine wizard of the Proxmox web UI

  6. Activate the Add additional drive for VirtIO driver and select the VirtIO image You transferred money earlier.
    Selecting the VirtIO driver ISO file in the Create Virtual Machine wizard of the Proxmox web UI

  7. Go through the next four tabs as you would for any other VM and select Intel® E1000 as driver Model in the network Section.
    Selecting the Intel E1000 network driver in the Create Virtual Machine wizard of the Proxmox web interface

  8. Click on Finish button after double-checking the specifications of the Windows 11 VM.
    Click the Finish button in the Create Virtual Machine wizard of the Proxmox web interface.


After you have created the virtual machine, it is time to start the Windows 11 installation process.

  1. Start the virtual machine and use the noVNC Console to access it.
  2. hit Next on the first Windows Setup page and select Windows 11 Pro from the list of options.
    Selecting Windows 11 Pro in a Proxmox VM

  3. Select the Load driver Option when the installation wizard asks you to select a storage drive.
    Selecting the Load Driver option in a Windows 11 Proxmox VM

  4. Knock Browse in the pop-up window.
    Browsing VirtIO drivers in Windows 11 VM running on Proxmox

  5. Select the icon w11 Folder in amd64 Folder of VirtIO drive.
    Selecting SCSI drivers in a Windows 11 Proxmox VM

  6. Select the Red Hat VirtIO SCSI passthrough controller and met Next.
    Installing the SCSI drivers in a Windows 11 Proxmox VM

    Follow the same procedure to install the w11 Drivers for NetKVM And Subscribe.

  7. After the driver installation is complete, virtual drive you assigned to the VM when it was created will be displayed and you can start the installation process by clicking Next.
    Selecting the installation drive within a Windows 11 Proxmox VM


Soon you will be taken to the Windows 11 OOBE screen. In most cases, you can proceed normally without any problems. However, if at any point you are unable to access the network, you can try to network Adapter to VirtIO (paravirtualized). When I set up a VM to run some games on, Windows 11 couldn't connect to the internet. What worked for me was opening the terminal from the Shift+F10 Combo and enter the OOBE\BYPASSNRO Command to open the OOBE interface to display the I don't have internet Option.


Installing GPU drivers on the Windows 11 VM

Once you're done setting up Windows 11, you'll need to run a handful of commands in the shell of your Proxmox node. Since there are too many commands to list in this article, you'll need to follow these steps: Enable GPU passthrough of my PCI Passthrough guide before continuing with the rest of the article.

  1. Shut down the virtual machine.
  2. Go to Hardware the VM and select the PCI device Option after clicking on the Add Button.
    Adding a PCI device to a VM in the Proxmox web UI

  3. Choose Raw device and select the Graphics card you want to use within the VM.
    Passing a GPU to a Windows 11 VM via the Proxmox web UI

  4. Activate the All functions, ROM BarAnd PCI Express Options, let the Primary GPU Setting remains disabled and tap Add.
    Selecting essential features before committing a GPU to a Windows 11 VM via the Proxmox web UI

  5. Restart the Windows 11 VM and download the drivers for your GPU from the manufacturer's website.
    Installing GPU drivers in a Windows 11 Proxmox VM

  6. (Optional) If you are unable to connect to the Internet even after booting Windows, you can USB to WiFi Adapter into the host computer and pass it to the Windows 11 VM with USB passthrough.
    Adding USB passthrough for a USB to WiFi adapter within the Proxmox web UI

  7. Run the setup.exe Download the GPU driver file with administrator rights and follow the installation process as you would on a regular PC.
  8. Once the driver installation is complete, right-click start and select the Driver Manager to confirm if your graphics card is in Display adapter Section.
    Check if GPU drivers are showing up in Windows 11 VM

  9. Open the Settings app and note the IPv4 Settings for your Ethernet/Wi-Fi Connection.
    Checking the IPv4 address of a Windows 11 VM’s Ethernet connection

    You will need it in the next section.


Access to the GPU (via Remote Desktop)

Although you have technically installed the drivers for the graphics card, you will not be able to use the GPU until you complete the following steps:

  1. Turn off the virtual machine again and switch to Hardware Tab in the Proxmox web interface.
  2. Select the PCI device you added in the previous section and enable the Primary GPU Option.
    Enabling the Primary GPU option for a PCI device within the Proxmox web UI

When you restart the virtual machine, you may find that noVNC cannot display the Windows 11 interface, so you need to use the Remote Desktop Protocol to access the virtual machine. This is why we used the Pro version of Windows 11 instead of the Home edition.

  1. Suppose you are accessing the Proxmox web UI on a Windows client. Right-click start and select Run.
    How to open the Run window using the Start button

  2. type mstsc in the search field and press OK.
  3. Enter the IP address the virtual machine that you created in the last section under the Login settings and met Connect.
    Connecting to the Proxmox VM via Remote Desktop

  4. Enter the user name And password the virtual machine when prompted by Windows.
  5. Finally, tap Yes when Windows warns you about the security of the connection, and wait for Remote Desktop to start streaming the contents of the Windows 11 VM.
    Press Yes to access the Windows 11 VM via RDP


Optimal use of GPU performance in the Proxmox VM

If you followed all the steps correctly, you should be able to use your graphics card for demanding workloads in the Windows 11 virtual machine. For video editing and machine training tasks, this setup should work just fine. However, RDP has annoyingly high latency when gaming, and it was nearly impossible to play fast-action games over Remote Desktop.


Fortunately, Parsec offers a simple solution with its Fallback to virtual display option. Once you enable this setting, you can exit RDP and use Parsec to enjoy a lag-free gaming experience.

Leave a Comment