Matt’s Take: I switched from Proxmox to XCP-ng for my home lab, but I’d rather go back to PVE

I don’t follow XDA Developers, but some things come across my view here and there. The content there is quite varied, from gaming to homelabbing, and more. Since I do not actively check the site, the things I see usually leave me with oh, that’s nice or I guess I am just not interested in this. However, this article hit on a particular interest, and something with which I have several years of professional and personal experience. That would be XCP-ng and Xen Orchestra.

XDA Developers: I switched from Proxmox to XCP-ng for my home lab, but I’d rather go back to PVE

Click that link for the full article, but I would like to address several misconceptions, caveats, and places where the author may have done something differently.

Since I wanted to test XCP-ng’s utility in a conventional home lab, I went with an old PC consisting of a Ryzen 5 1600, 16GB memory, and a GTX 1080 instead of my Xeon server rig… the XOA virtual machine requires 2 v-cores and 2GB memory to run, while most server distros (including Proxmox) consume a fraction of those resources for their management UI. It’s not that big a deal on hardcore Xeon/Epyc servers, but for low-power devices and consumer-grade hardware, allocating 2 v-cores and 2GB RAM to the control interface can be a problem.

This hardware is perfectly viable for a homelab virtualization host, although a bit more RAM may be ideal. He is concerned about XOA requiring 2 vCPUs, but with the way Xen scheduling works, those are not directly 1:1 mapped to physical cores, or even threads. In fact, he could have all of his VMs set to use 12 vCPUs each (Ryzen 5 1600 is 6c/12t) and Xen would figure it out. It would not be ideal as everything would have the same weight and priority on the CPU.

With Citrix drivers installed, even Windows 11 worked well – provided I allocated enough resources to it.

As of October 10, 2025, there are also now signed XCP-ng Windows PV Drivers available to download. No criticism here, but in case he sees this and would like to use non-Citrix drivers.

Despite its solid performance in VM workloads, I really wish XCP-ng included some containerization provisions. Well, technically, it does support Kubernetes via Hub Recipe, but it’s not the same as running lightweight containers directly on the host. Nor is the Kubernetes implementation as simple as pasting scripts from cool repos and watching LXCs spin up in a couple of minutes.

Sure, I could create a dedicated virtual machine for Docker, Podman, and LXC environments, but doing so would result in some performance overhead from the VM. Factor that with XOA’s resource consumption, and I can see ancient machines and budget-friendly mini-PCs buckling under the extra load on XCP-ng – even though these devices work fine as LXC-hosting workstations on Proxmox.

While I do not entirely disagree, he is missing a major difference between the two hypervisors. Proxmox is powered by KVM, which itself is powered by two Linux kernel modules. In effect, Proxmox is a virtualization-centric Linux distribution, and modifying the host OS is entirely possible. XCP-ng, on the other hand, is a Xen distribution. Sure, you can SSH in and get a Linux bash prompt, but that is not running directly on the host. That is a VM acting as the control domain, or Dom0, and functions as a sort of bridge between each DomU (or user VMs) and the hardware. Beyond that difference, Dom0 should not be modified without serious consideration.

There just is not a way to do containerization without an additional VM. The Kubernetes recipe is a big plus, but if Docker or Podman is preferred, than maybe just spin up an Ubuntu or Debian VM. You could deploy a GUI like Portainer, but after years of running containers in my homelab I just use Docker Compose and VSCodium because the GUIs just ended up being much more work overall.

Unlike XOA, which is the official management platform with features locked behind a paywall, Xen Orchestra lets you control XCP-ng without these issues. But rather than letting you deploy the server using a simple button. Xen Orchestra has to be compiled manually from the source repo. There is technically a neat script that takes away some of the hassle, but it’s still a lot more annoying than, say, deploying Proxmox and using a single web UI to manage everything.

He’s not entirely wrong, but I would invite him to look at any of the countless companies who promote their project as open source and truly do paywall essential features. In this case, you can still get the whole thing, even if it needs a little bit of effort. Businesses that have their revenue primarily coming from SMB and enterprise sources cannot always support homelabbers in the ways that homelabbers might like. In my opinion, having the sources available to compile is actually quite generous.

However, between its lack of native support for containers, extra overhead from non-XO Lite UI, and the heavily paywalled nature of XOA, Proxmox is my top choice for home lab platforms. I’ll probably move my XCP-ng instance to an i5-125U system just so I can continue tinkering with it in my spare time. But when it comes to normal home server and self-hosting tasks, I’ll stick with good ol’ Proxmox instead.

While he ends with some misconceptions (see above), I cannot argue with his overall conclusion. XCP-ng and Xen Orchestra are not just set it and forget it and might need a little extra tinkering here and there. I would argue that extra tinkering is very much worth the effort.

Watch this space very soon for some upcoming video content, including deep dives on XCP-ng and Xen Orchestra with a combined emphasis on my professional SMB and homelab experience. Stay tuned!

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *