What's the experience with using Proxmox as host for development workstations?

ams_tschoening

New Member
Jun 28, 2021
22
6
3
42
Hi everyone,

I'm hosting multiple different Linux and Windows VMs at some server using Proxmox with ZFS and stuff and REALLY like it. At my job I'm a mixture of software developer and sysadmin, need to maintain Windows-only software with Windows-only IDE+tools, but have some Windows and Linux VMs for different test purposes as well. Especially because of the Windows software my workstation uses Windows 10 currently. I know about things like VirtualBox and VMware Workstation. Am using and paying for the latter for multiple years already, but am not too satisfied for various reasons with both those products.

Basing some workstation on Proxmox has benefits like safer OS-updates because of VM- and ZFS-level snapshots, I might implement job vs. private VMs etc. OTOH, such a setup might make especially multimedia and stuff more difficult: I need to be able to use my laptop camera in Teams and Skype, have a bluetooth headset to be used in both and Windows suffers of connection problems natively already and stuff. Forwarding USB-devices like sticks, discs, signature card readers etc. into VMs might be a problem as well. Spice should take care of many of that in theory, but the implementations of viewers and guest tool don't look to mature to me currently.

So, does anyone has any practical experience with such a setup already? At best multiple months of usage, windows with MS Teams and Skype and stuff. If so, I would like to know which remote access protocol is used in the Proxmox host, e.g. SPICE vs. RDP, which client, which problems occurred, how performance was regarding input latencies in the keyboard, if things like multiple desktops worked in Windows and stuff like that.

Thanks!
 
I am in a similar position and virtualised both my Windows and Mac desktops a couple of months ago. I pass through 2 gpu and usb with a kvm inc hdmi switch. The win 10 and Mac guests are running on Nvme storage each with 16gb ram each. The server has dual 8 core xeon V1.

The only issue is that I get a windows blue screen if I choose cpu type as host so I use qemu64 with numa and rock solid.

Overall the performance is acceptable rather than fantastic for development but the convenience is great particularly for backups. So overall I am definitely in favour.
I also have sound working via USB. I added an extra usb card to passthrough usb from mac and windows. So in effect it runs as twp separate machines.

For example I use Dragon dictate and that is an example where Dragon runs slowly. Java is also slow compared to bare metal. I'm not sure what the performance bottleneck is but it feels like latency so could be the cpu type. The disks are qcow2 as I use snapshots.
 
Last edited:
  • Like
Reactions: ams_tschoening
I pass through 2 gpu and usb with a kvm inc hdmi switch.
So no RDP or Spice or ... at all which could be responsible for latencies or slowness, correct? What about things like bluetooth headset or webcam? The headset should be pretty much like interaction with your Dragon dictate. Do you have some micro connected to the USB sound?
 
No passthrough should be be way faster than RDP as its native. Any usb device will work if you passthrough the port. Yes I have a mic. Not tried webcam but dont see why not.
 
The biggest problem is that you probably need Workstation/Server hardware so you get enough PCIe slots that are directly connected to the CPU for PCI passthrough. Would be hard to passthrough 2 GPUs + 2 USB cards for 2 VMs with consumer hardware.
So won't be cheap.
 
You could screw a 1U KVM console on top of a 2U server on top of a 1U UPS and build your own 4U laptop with 4 GPUs and 3 USB cards: ;)
1669832775376.png
I wonder if someone actually tried that.:D


I tested a lot of remote desktop software over the last 2 years (VNC, RDP, SPICE, nomachine, teamviewer, ...) and best latency and quality I got with parsec. But I don't know how well that works without a GPU passedthrough to the VM for hardware accelerated encoding. But didn't tested webcams or other USB devices yet. And I guess GPU passthrough is tough on a laptop, even when it got a dedicated GPU + iGPU. You still might want try to passthrough one of them. But then you are still limited to run a single VM at a time, as you can't add more GPUs.
And USB passthrough isn't that great, as it is fully emulated. So not great for low latency or high throughput. It is always best to PCI passthrough a USB card so you can skip that emulation step and let the VM directly access the real physical USB devices. But again, PCI passthrough of the onboard USB controller will probably not work.
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!