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:
- Download the ISO file for Windows along with the VirtIO drivers from the respective links.
- Go to ISO image of your local node and press the Upload Button.
- Knock Upload fileselect the Windows 11 ISO you previously downloaded and click Upload Button.
Repeat the process for the VirtIO ISO File.
- Click on the Create VM option in the upper right corner of the screen.
- 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.
- Activate the Add additional drive for VirtIO driver and select the VirtIO image You transferred money earlier.
- Go through the next four tabs as you would for any other VM and select Intel® E1000 as driver Model in the network Section.
- Click on Finish button after double-checking the specifications of the Windows 11 VM.
After you have created the virtual machine, it is time to start the Windows 11 installation process.
- Start the virtual machine and use the noVNC Console to access it.
- hit Next on the first Windows Setup page and select Windows 11 Pro from the list of options.
- Select the Load driver Option when the installation wizard asks you to select a storage drive.
- Knock Browse in the pop-up window.
- Select the icon w11 Folder in amd64 Folder of VirtIO drive.
- Select the Red Hat VirtIO SCSI passthrough controller and met Next.
Follow the same procedure to install the w11 Drivers for NetKVM And Subscribe.
- 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.
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.
- Shut down the virtual machine.
- Go to Hardware the VM and select the PCI device Option after clicking on the Add Button.
- Choose Raw device and select the Graphics card you want to use within the VM.
- Activate the All functions, ROM BarAnd PCI Express Options, let the Primary GPU Setting remains disabled and tap Add.
- Restart the Windows 11 VM and download the drivers for your GPU from the manufacturer's website.
- (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.
- Run the setup.exe Download the GPU driver file with administrator rights and follow the installation process as you would on a regular PC.
- 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.
- Open the Settings app and note the IPv4 Settings for your Ethernet/Wi-Fi 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:
- Turn off the virtual machine again and switch to Hardware Tab in the Proxmox web interface.
- Select the PCI device you added in the previous section and enable the Primary GPU Option.
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.
- Suppose you are accessing the Proxmox web UI on a Windows client. Right-click start and select Run.
- type mstsc in the search field and press OK.
- Enter the IP address the virtual machine that you created in the last section under the Login settings and met Connect.
- Enter the user name And password the virtual machine when prompted by Windows.
- 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.
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.