You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
filing this feature bug to consider possibilities, can it work?, how may it work?, what is possible? what can it enable? etc
I understand podman is primarily meant for headless server containers
and that those wanting containerized GUI desktop apps are suggested to use flatpak, which is an option on linux but not windows
gfxstream, is a protocol first developed for crossvm android and google-android emulator [1]
It has been upstreamed into qemu-9.1 [2][3]
mesa as guest, also got gfxstream backend support upstreamed [4][5]
it allows an alternate mechanism to virtio-gpu that streams vulkan/opengl to the host graphics mesa/Angle
it was meant to run android, and recent versions of android support the backend
it may require at least 3 new things
sommelier wayland proxy on the inside
qemu with gfxstream
google Angle providing native graphics on the outside or host-Mesa-Magma
possibilities that it may open
allow for something similar to wslG, that allows gui for wsl but only for WinOS on later than Intel 7th gen CPUs [6]
apps started within qemu could use the vulkan and opengl protocols.
another way to run Android, android-apps
another way to run Linux-containerized apps
compute acceleration workloads
This may require other volunteers/groups building pods or a framework that creates containerized solutions, but the enablement may need to precede for any of that to happen.
hgkamath
changed the title
consider possibilties that gfxstream may allow for podman qemu windows
consider possibilities that gfxstream may allow for podman qemu windows
Jan 22, 2025
I see good reasons why it is appealing, but probably is not going to happen and will not happen soon. I will mention some reasons, which are blocking this hard:
QEMU support on Windows hosts is not prime time ready. The major parts are written in a cross platform compatible way, but there are parts like file system mounts (with virtiofs), which are not cross plarform and tailored to a subset of supported host OSes;
current implementation of QEMU integration is very rigid, before there was an option to tweak command line manually, now it is done only via machine settings and implementing all the required settings for GPU forwarding is definitely some work;
Podman machine images are made as small as possible trying to remove all the extras, so, adding graphical parts would probably cause doubling that amount with gfx enabled alternativesl
if this succeeds it could bring back a demand for supporting QEMU also on macOS, which had its challenges historically and was removed due to no resources for maintaining it.
There are other virtualization/containerization projects, which are potentially better suited for this. Like https://github.com/lima-vm/lima They have really flexible and feature reach machine definition via config files. It has steeper learning curve and Windows support for QEMU is currently in limbo, but they might be more prepared for this sort of feature to materialize.
Yes running graphics in podman machine is not a goal for us. And qemu + windows is also a huge other story so this does not seem like something we would be interested in
Feature request description
Ref:
https://www.qemu.org/docs/master/system/devices/virtio-gpu.html#virtio-gpu-rutabaga
https://www.phoronix.com/news/QEMU-8.2-Released
https://www.phoronix.com/news/QEMU-9.2-Released
https://www.phoronix.com/news/Venus-Driver-QEMU-Support
https://www.phoronix.com/news/Mesa-Gfxstream-Merged
https://github.com/microsoft/wslg
https://gitlab.com/qemu-project/qemu/-/issues/2418
https://www.collabora.com/news-and-blog/blog/2025/01/15/the-state-of-gfx-virtualization-using-virglrenderer/
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33190
Suggest potential solution
A clear and concise description of what you want to happen.
Have you considered any alternatives?
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: