Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

consider possibilities that gfxstream may allow for podman qemu windows #25079

Closed
hgkamath opened this issue Jan 22, 2025 · 2 comments
Closed
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@hgkamath
Copy link

hgkamath commented Jan 22, 2025

Feature request description

  • 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
      1. sommelier wayland proxy on the inside
      1. qemu with gfxstream
      1. 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.

Ref:

Suggest potential solution

A clear and concise description of what you want to happen.

  • a way to run containerized pods with vulkan acceleration and/or GUI

Have you considered any alternatives?

A clear and concise description of any alternative solutions or features you've considered.

  • presently running a full VM is the only option
  • no open-source solutions

Additional context

Add any other context or screenshots about the feature request here.

  • na, just thought exploration
@hgkamath hgkamath added the kind/feature Categorizes issue or PR as related to a new feature. label Jan 22, 2025
@hgkamath 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
@arixmkii
Copy link
Contributor

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.

@Luap99
Copy link
Member

Luap99 commented Jan 22, 2025

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

@Luap99 Luap99 closed this as not planned Won't fix, can't repro, duplicate, stale Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

3 participants