Support for Windows guests on LXD

I would like to discuss the support for Windows guests under LXD. Windows currently feels like a 2nd rate citizen running on LXD.

Currently it’s a bit of a trouble to get Windows to work, the main issues you run into are:

  • Windows does not come with VirtIO drivers by default.
  • There is no LXD agent for Windows
  • Windows OSes aren’t available on the image server

Windows does not come with VirtIO drivers by default.

The first issue is because LXD is simply too… modern. Everything is virtualized with VirtIO. Alternative hypervisors often virtualize legacy IDE, e1000 etc by default or ship it as an option.
Of course there’s the lxd image builder to inject these drivers for you but that takes some extra steps that is not required for other OSes, or at all to run Windows on other virtualization platforms.

There is no LXD agent on Windows

The addition of the LXD UI is great for graphic OSes like Windows. Though my Ubuntu Desktop runs more smooth in the web UI than my Windows VM. Its screen auto resizes based on my browser’s size. LXD has a lot of knowledge about the guest’s internal data because of the lxd agent.

LXD made its own agent because initially it did LXC only. Now with the addition of QEMU maybe it’s time to support the QEMU agent?

Incus has added support for a Windows agent and a lot of PRs by Incus get added to LXD. Can we also get this support? (From Incus)

Windows isn’t available on the image server

This would make it a LOT easier to run Windows. This would also immediately solve the first issue.
I understand that this is probably due to a licensing issue, but seeing how Canonical has a great relationship with Microsoft (WSL, Ubuntu being the default for Azure, AKS etc), maybe this is resolvable now that LXD is fully canonical and no longer linuxcontainers.org? It would benefit both players.

It would also benefit the whole “LXD Cloud” idea because with Windows added the options for Operating Systems are completely in line with the big players like Azure and Google Cloud.

Finally

Curious to hear about your experience running Windows based OSes on LXD/MicroCloud

1 Like