Summary

  • Gaming on a Proxmox virtual machine is possible with GPU passthrough and lots of tinkering, but it's not for the faint of heart.
  • Prepare for a complex setup involving a fast processor, adequate RAM, and multiple graphics cards to achieve gaming performance.
  • If you're willing to invest time and effort, utilizing services like Parsec can provide a viable solution for streaming games on a Proxmox VM.

Besides allowing you to test any operating system of your choice, virtual machines work well in home lab workloads. However, gaming is probably the last task you’d associate with VMs. Since you’re unable to utilize the full extent of your hardware inside a virtualized environment, the very notion of gaming on a VM sounds preposterous and downright ridiculous. But with Proxmox supporting GPU passthrough, turning your server into a gaming machine sounds somewhat plausible, right?

After spending hours tinkering with the settings and desktop streaming protocols, I can confirm that it's possible to run games at 4K 60FPS with most graphics settings turned up a notch on a mere virtual machine. If you're curious, here's a log of the entire procedure, including the errors I encountered and the workarounds to fix them.

👁 A Uperfect Ugame K118 displaying a macOS Ventura VM running via Proxmox
I tried running some macOS apps on Proxmox, here's how it went

As long as you have a fast processor, adequate RAM, and a boatload of patience, you can run a surprising number of apps on your Proxmox Hackintosh

The test bench guinea pig I used for the project

Although Proxmox is one of the most simple virtualization platforms I’ve ever used, it has a couple of quirks that I had to take into consideration for this project. Since you’ll need a secondary graphics card when setting up GPU passthrough, I picked my trusty Intel Arc A750 as the dummy device. I also wanted the Proxmox gaming machine to be as free of bottlenecks as possible, so I decided to go with my RTX 3080 Ti instead of using a weaker GPU and calling it a day.

Similarly, I had a couple of options for the CPU. Unfortunately, the X99 motherboard in my dual Xeon-CPU setup doesn’t support IOMMU, so using my server rig was out of the question. As such, my Ryzen 5 5600X served as the heart of my Proxmox machine and I slotted another memory stick into the motherboard to get 32GB of DDR4 RAM (3000MHz). Finally, I used my 1000W Corsair RM1000e power supply to mitigate any PSU-related bottlenecks.

Setting up a Windows 11 VM was a job and a half

And I had to reset the virtual machine multiple times

Before I could create the virtual machine, I had to execute a handful of preliminary commands inside the Proxmox shell to access RTX 3080 Ti from any VM. These are the same commands I mentioned in my guide on setting up PCI passthrough on Proxmox, so all I had to do was follow the instructions I’d compiled in the article.

Once that was done, it was time to whip out a Windows 11 VM. After a couple of resets following botched attempts, I downloaded the VirtIO drives and transferred them to Proxmox before adding them as an additional drive inside the VM creation wizard. Initially, I allocated 8 cores and 16GB RAM to the VM, though I upped the core count and memory to 10 cores and 24GB before conducting my tests.

After deploying the VM, I used noVNC as the Console viewer and selected Windows 11 Pro in the initial setup process. The next hurdle was getting the 60GB virtual drive I created in the Proxmox UI to appear in the Windows Setup wizard. The solution was fairly simple as all I had to do was hit the Load driver button to access the VirtIO disk and install the SCSI passthrough controller. With that, the virtual disk appeared as one of the options inside the Windows Setup wizard, and I entered the OOBE screen.

This is where I faced the biggest hurdle yet: connecting to the Internet. Despite switching the network driver setting in Proxmox and adding different WLAN adapters in USB passthrough mode, I couldn’t proceed with the installation. Thankfully, pressing Shift+F10 allowed me to enter the console, where I entered the OOBE\BYPASSNRO command. After a restart, I selected I don’t have Internet prompt, and the rest of the installation procedure went without any issues.

The VM gave surprisingly high FPS after installing the GPU drivers

Sadly, the latency on RDP ruined the whole experience

After landing on the default Windows 11 desktop, I slotted an NIC into the Proxmox machine and passed it to the VM. With access to the Internet restored, I immediately grabbed drivers for the RTX 3080 Ti and installed them on the virtual machine. But I couldn’t use the graphics card until I set it as the Primary GPU inside the Hardware tab on the Proxmox web UI.

Doing so presented another issue: noVNC stopped displaying the output and any attempts to use it resulted in the Failed to connect to server error message. Remember how I said I installed the Pro version of Windows 11 instead of the Home edition earlier? Well, the reason I did so was that Windows 11 Pro comes with Remote Desktop enabled out-of-the-box, and that was all I needed to access the VM.

Once I was back inside the Windows 11 virtual machine using Remote Desktop, I began testing all my titles. Elden Ring, Cyberpunk 2077 and Baldur’s Gate 3 ran at high FPS at both 1080p and 4K. I’ll admit that the frame rates were a little lower than what I usually get inside my main system but I never expected the games to run at 4K 60FPS with most settings at ultra on a mere virtual machine. Meanwhile, Armored Core VI: Fires of Rubicon gave terribly low FPS at both resolutions, though disabling V-Sync in the Settings got rid of the issue. I also tested a couple of other, less demanding titles, and all worked fairly well. The only outlier was Red Dead Redemption 2, which crashed within minutes of booting it from Steam.

1080p, ultra settings

4K, ultra settings

Armored Core VI: Fires of Rubicon

  • 29 FPS (v-sync enabled)
  • 130 FPS (v-sync disabled)
  • 25 FPS (v-sync enabled)
  • 87 FPS (v-sync disabled)

Baldur's Gate 3

120 FPS

64 FPS

Cyberpunk 2077

110 FPS

66 FPS

Elden Ring

60 FPS

60 FPS

However, a major issue was still unresolved: since RDP isn’t optimized for gaming, there was a massive amount of latency – to the point that I couldn’t even play AC6 or Elden Ring. The settings menu inside Baldur’s Gate 3 revealed that the game was capped at a refresh rate of 32Hz, which meant I had to give up on my, ahem, foolish ambitions of running games on a VM. But I still had one trick up my sleeve…

Using Parsec to stream games provided excellent results

And the VM was finally free from the scourge of latency

Earlier this year, I wrote guides for Parsec and Sunshine/Moonlight and tested the two remote desktop streaming services. So, I had this insane idea of using Remote Desktop to set up Parsec and stream games from the virtual machine to the other devices on my home network. My initial attempt was unsuccessful, and configuring a Sunshine server didn’t work either.

Enabling the Fallback To Virtual Display option and turning off RDP finally allowed me to access the Windows 11 VM using Parsec. Initially, Parsec failed to provide any sound output, though plugging a DAC into the Proxmox host and passing it to the virtual machine solved the audio issues.

For the best experience, I increased the resolution and bandwidth of the stream inside Parsec – and I was blown away by how well everything worked. Sure, there was a slight drop in quality due to compression, but it’s difficult for the untrained eye to tell the difference. Latency was no longer an issue, and I could play the games at sky-high FPS without any lag or micro-stuttering whatsoever. After testing a handful of titles, I’m happy to report that the experiment was a resounding success!

Is a Proxmox virtual machine good for gaming?

Surprisingly, yes! But only if you’re willing to put in a lot of effort to get everything working. For example, you must allocate adequate CPU and RAM resources to the VM. GPU passthrough is also a major hurdle, as you’ll need to slot a minimum of two graphics cards into the host machine. Getting the whole setup up and running can take hours – and that’s before you include the time it takes to troubleshoot everything. But for those willing to get their hands dirty, a Proxmox server is more than capable of running your favorite games!

👁 A Gigabyte Aorus ACW300 cabinet with a Ryzen 5 1600 CPU and a GTX 1080 inside
I turned my old PC into a Proxmox-powered home lab – here's how it went

Long story short, Proxmox has become my favorite tool to experiment with (and break) containers and virtual machines