Containerised Linux desktop OSes on Linux host displayed through Virtual Desktops

Any plans to support Linux Desktop guests running inside System Containers — such as the LXC Containers created by Incus (the new hypervisor opensourced by a few of the ex-LXD team lead by Stéphane Graber)?

Do Linux Desktop guests in Containers even need something Iike Looking Glass for low latency graphics output to a window (or windows) running on a Linux host?

Would it be possible to display LXC (or Docker) Container guests as a Virtual Desktop on one or multiple monitors managed/controlled by the host?

Incus now supports Docker Application Containers as well as LXC Containers and Virtual Machines:

1 Like

This software offers Linux desktops inside Docker Containers: https://www.kasmweb.com/

It’s not intended for persistant deploys but there’s a way around it. I’m running it through WSL on Windows and works really well.

Yeah, most likely you can. History had a variant of this called ‘multi-seat’ for machine sharing, take a look at what’s available to help managing screens, mice, keyboards and sound devices.

K3n.

Not going to happen. LG relies on features that are currently only available through QEMU/KVM based hypervisors.

Ok, it looks like LG is very specific to just supporting one VFIO passthrough GPU per VM guest and nothing else. Maybe with LXC Containers there will be another method to essentially allow a host to display multiple Container guests into windows managed by the host on the host’s GPU?

It is somewhat unfortunate that the Linux platform remains quite silo’d without a cultural movement to solving much larger problems or innovating in ways that introduce huge improvements in experience and capability - such as a desktop graphics system that allows completely seamless display of VMs and containers through any number of host windows and virtual desktops, all with dynamic resolution adjustment across multiple monitors.

Maybe as innovation with technologies like Wayland accelerates and adoption by app developers (if they don’t destroy themselves in a religious war between Rust and C) increases we can see graphics on the desktop finally get sorted out after decades of stagnation.

LG might be one of the precursors to shaking off this stagnation, albeit solving a very specific problem - essentially gaming on Windows on a Linux host.

Came across Qubes OS and then this interesting article about reproducing Qubes with modern technology:

Qubes OS is a bit of custom desktop software running on a Xen hypervisor which seems to mux passthrough devices across the different guest VMs.

The article explores and explains NixOS well and goes on to list the security problems inherent to the Linux kernel.

The author discovers Spectrum OS which presents VMs inside Wayland windows and it is super interesting.

Integrating LG into a desktop based on a secure hypervisor running system containers, application containers and VMs that are mux’d through hardware devices by the host would be very interesting because any number of guests could be integrated into a seamless experience.

It looks like Wayland has a lot of scope for innovation in this way. Running a Windows VM that doesn’t demand exclusive access to a dedicated passthrough device would be awesome and would fit the above model of shared hardware across guests.

This lean hypervisor model seems to be the future of the desktop.

2 Likes

If you’re looking at linux only, distrobox might be close to what you’re after?

Otherwise, I’ve been using X-forwading over ssh for many years without much issue, but there’s definitely some clunkiness. I’ve heard that wayland has a similar option, but I haven’t dug into that yet. I’ve been fine installing x11 on the vm and then just using xwayland on my host.

1 Like

This presentation seems to address a lot of my questions about a desktop comprised of guests that display through the host desktop environment. In the case of Qubes OS they use a Xen hypervisor and virtual machines instead of container guests:

A lot of the presentation lays down the historical design and dependency of Qubes OS on X11 and the gnarly process of rewriting it to use Wayland.

The benefit of going to Wayland is significant and include being able to take advantage of technologies like Google’s virtio-GPU that can share the host GPU with VM guests at near-native speed and supports Cross-VM Wayland (this seems to be the experience I was wondering about - native display in windows and virtual desktops).

It would be interesting to see if Qubes OS would be interested in Looking Glass for Windows Qubes. Have they expressed an interested in LG?

1 Like

Spectrum OS looks to be very much what I was seeking and could be a great platform to implement Looking Glass.

Spectrum OS is inspired by Qubes OS to create a sophisticated, secure and private desktop — based on isolated workspaces — using the modern Linux KVM hypervisor, Nix packaging, virtio-gpu, Wayland and Rust Lang:
Spectrum Design.

1 Like

Cloud OS virtual machine manager:

Written in Rust the Spectrum devs are modifying the VMM downstream for the OS’s unique goals.

It seems like Spectrum will layer security using VMs, LXC containers, Immutable OS design and Flatpaks, glued together with tech like virtio-gpu, Wayland and Cross-VM Wayland.

1 Like

I guess my question still remains: Where does LG fit in this new world of Linux desktop isolation based on virtio-gpu and a new desktop focused VMM?

I’m keen to build a Spectrum OS desktop right now with a Windows 10 VM that is GPU accelerated but Spectrum is in the very early stages.

I also only have an AMD GPU which currently drives Windows 10 and the 3D apps very well. If virtio-gpu is happy with that hardware I will use it on the host.

Could there be aspects of LG that would benefit a technology approach like Spectrum OS in a new shared hardware model that doesn’t require a GPU dedicated to a specific VM via passthrough?

The LG project’s prime goal is extremely low latency and close to 100% performance as compared to native. Fixed passthrough where hardware is directly and exclusively accessed is currently the best way to achieve this. Any introduction of additional layers (such as paravirtualization) will introduce latency and performance penalties.

1 Like

Is it therefore correct that there is no crossover between these projects and LG will likely stay a niche product for users who simply want to run a Windows VM for gaming or 3D intensive tasks?

That LG could not be incorporated into the broader Wayland/Container/VM compartmentalised desktop innovation occurring on Linux right now (started by Qubes OS) and for the next couple of years? Is this a fair understanding?

Regarding virtio-gpu the Qubes team say it can achieve 97% performance of native and was expected to at least reach 90% for Linux guests. That is good news but so far only ChromeOS runs it.

Things would be very different from old versions of docker if they now allow an OS to be put in a container.

The reason that early containers were fast is that all binaries are static linked at container build time. There are no dynamically loading libraries. The dynamically loading libraries are linked at container build time. Also there was a maximum of 65 files which could be included in the build. Containers were only used for micro services.

1 Like

These guys have an interesting article that explains both virtio-gpu and CrosVM Wayland methods of GPU virtualisation:

What is super odd is all this awesome work towards a clearly defined goal but very little implementation at the grass roots level that would take the Linux desktop out of the dark ages into a true desktop renaissance.

Maybe KVM, Xen, LXC, QEMU and Wayland will spontaneously coalesce in their support for a virtio desktop architecture and all of a sudden the world will get the release?

All that would remain is for LG to be integrated into that scenario to support Windows guests?