Hi Lonnie,
Am 13.11.24 um 15:14 schrieb Lonnie via l4-hackers:
Hello All,
As part of the project effort that I am working on with L4Re, I am considering 2 possible pathways of which both need graphics capabilities to interact with the uvmm for a guest OS:
Possible pathways:
- Use the framebuffer "spectrum" example and port something like FreeRDP, rdesktop or other, so that this will allow for a loabable RDP service VM whose only job is to connect to other VM's. This would be for having a Docker/Podman Container engine running and to be able to connect to a container via a web browser VM that has a graphic console in fullscreen mode.
I don't get it. You don't want to have a VM driving the screen/GPU but an l4re service like mag? And then there is a VM which gets a framebuffer to draw into and this shall connect to some other VMs. And then I'm lost in the container / web browser VM / console description.
You can have a VM driving the GPU/screen, input and NIC. Together with virtio-net-switch all VMs can be on the same virtual network and then you could connect to them via your chosen network-based service. Is this something you considered?
- Find a way to have L4Re be able to access the graphic console (VGA) of each uvmm guest directly and then be able to HotKey switch between active VM's. This might be like having multiple guest OS's running (i.e. Ubuntu 24.04 and Windows 10 for example) and then be able to switch the console between them. This is also an idea to allow L4Re to boot all of the OS's that might reside on a dualboot or multiboot system.
When you implemented windows support into uvmm, please let me know ;-) Jokes aside, I haven't experimented with this, but there is some documentation about framebuffers in the uvmm documentation (pkg/uvmm/doc/uvmm.dox).
I think mag should be able to serve your needs here. It can provide framebuffers and input multiplexing, but I don't know to which extent. It's been a while since I last used it.
Wrt to booting OS from disk. Yes, this is possible, you need to configure uvmm to boot from these partitons and of course you need an l4re driver for the disks (ahci-driver or nvme-driver).
These are the building blocks I see that should get you to do first experiments.
Cheers, Philipp