Skip to content

Commit 54c742e

Browse files
Kabuki94claude
andcommitted
feat(packages): split GNOME -- new packages-gnome-flatpak-runtime for WSLg portals
The dev_overlay default previously skipped `gnome` entirely, which removed not just the heavy session pieces (gnome-shell / GDM / control-center) but also the runtime bits Flatpaks need to function on WSLg: xdg-desktop-portal* (file dialogs), pipewire/wireplumber (audio routing), gstreamer base (media-render helpers), gvfs (SMB/MTP traversal in Nautilus), Qt-Adwaita theming for non-GTK Flatpaks (Wireshark etc.), flatpak itself. Without those, GUIs routed through WSLg render glitchy file dialogs, no audio, broken theming. So GNOME core IS needed on the dev VM -- just not the session. New section: packages-gnome-flatpak-runtime - xdg-user-dirs, xdg-utils - xdg-desktop-portal, xdg-desktop-portal-gnome, xdg-desktop-portal-gtk - pipewire-alsa, pipewire-pulseaudio, wireplumber - gstreamer1, gstreamer1-plugins-base, gstreamer1-plugins-good - gvfs, gvfs-smb, gvfs-mtp - glibc-langpack-en - qt6-qtbase-gui, qt6-qtwayland, qadwaitadecorations-qt5, adw-gtk3-theme - flatpak Existing packages-gnome (full session: gnome-shell, gnome-session- wayland-session, GDM, control-center, gnome-keyring, extensions, gnome-bluetooth, NetworkManager-wifi, etc.) is kept as-is and remains the right choice for deployed bare-metal / Hyper-V / QEMU MiOS hosts. mios.toml [packages.dev_overlay].sections: add gnome-flatpak-runtime to both vendor and bootstrap defaults. Operators who want the full GNOME desktop on the dev VM tick `gnome` in the configurator. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 5d89929 commit 54c742e

2 files changed

Lines changed: 59 additions & 3 deletions

File tree

usr/share/mios/PACKAGES.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,57 @@ qadwaitadecorations-qt5
237237
adw-gtk3-theme
238238
```
239239

240+
## GNOME Flatpak Runtime -- portals + audio + theming for Flatpaks via WSLg
241+
242+
The MiOS-DEV podman backend (Windows-side) does not host its own
243+
GNOME session -- WSLg is the Windows compositor and operators see
244+
Flatpaks (Ptyxis terminal, Nautilus file manager, Bazaar app store,
245+
Epiphany browser, Flatseal permissions UI) as Windows windows routed
246+
through the WSLg portal. Those Flatpaks ship their own GTK/libadwaita
247+
via `org.gnome.Platform`, but they still need a **host portal +
248+
audio router + Qt-Adwaita theming** so file dialogs, drag-and-drop,
249+
audio output, and consistent theming all work. This section is the
250+
**runtime-only** subset of `packages-gnome` -- the bits required for
251+
Flatpaks to function on the dev VM, with **no display manager, no
252+
gnome-shell, no GDM, no session services**.
253+
254+
Deployed bare-metal / Hyper-V / QEMU MiOS hosts install
255+
`packages-gnome` (full session) instead.
256+
257+
```packages-gnome-flatpak-runtime
258+
# ── Portals: file dialogs / drag-and-drop / desktop integration ──
259+
xdg-user-dirs
260+
xdg-utils
261+
xdg-desktop-portal
262+
xdg-desktop-portal-gnome
263+
xdg-desktop-portal-gtk
264+
# ── Audio: PipeWire is the host router; Flatpaks bind to it via
265+
# portal sockets ──
266+
pipewire-alsa
267+
pipewire-pulseaudio
268+
wireplumber
269+
# ── GStreamer base: required by libsoup / libgweather inside
270+
# Flatpak runtimes for media-rendering helpers ──
271+
gstreamer1
272+
gstreamer1-plugins-base
273+
gstreamer1-plugins-good
274+
# ── GVFS: lets Nautilus / Bazaar / Ptyxis traverse SMB / MTP /
275+
# other backend filesystems via the host ──
276+
gvfs
277+
gvfs-smb
278+
gvfs-mtp
279+
# ── Locale ──
280+
glibc-langpack-en
281+
# ── Qt Adwaita theming -- so Qt apps (e.g. Wireshark Flatpak)
282+
# match GNOME look on WSLg ──
283+
qt6-qtbase-gui
284+
qt6-qtwayland
285+
qadwaitadecorations-qt5
286+
adw-gtk3-theme
287+
# ── Flatpak itself + Bazaar / gnome-software handle install/upgrade ──
288+
flatpak
289+
```
290+
240291
## GNOME Core Apps -- DO NOT INSTALL AS RPM
241292

242293
**PROJECT INVARIANT:** GNOME Core apps are user-facing applications and

usr/share/mios/mios.toml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,18 @@ sections = [
222222

223223
[packages.dev_overlay]
224224
# MiOS-DEV (podman-WSL2 backend on Windows) minimal-but-complete:
225-
# every operator/dev/security daemon + the GPU CDI plumbing for /dev/dxg,
226-
# but NO desktop session (gnome/phosh) -- Ptyxis/Bazaar/Nautilus run as
227-
# Flatpaks routed through WSLg, the dev VM doesn't host its own session.
225+
# every operator/dev/security daemon + the GPU CDI plumbing for /dev/dxg
226+
# + the GNOME Flatpak runtime (portals/audio/theming) so the GNOME
227+
# Flatpaks (Ptyxis, Nautilus, Bazaar, Epiphany, Flatseal) routed through
228+
# WSLg can render with file dialogs / audio / Adwaita theming intact.
229+
# NO full GNOME session (no gnome-shell / GDM / control-center) -- the
230+
# dev VM is a podman backend, not a workstation; the Windows compositor
231+
# IS the WSLg surface.
228232
sections = [
229233
"base", "security", "utils", "build-toolchain", "containers",
230234
"cockpit", "storage", "virt",
231235
"gpu-mesa", "gpu-nvidia", "gpu-amd-compute", "gpu-intel-compute",
236+
"gnome-flatpak-runtime",
232237
"ai", "sbom-tools", "self-build", "network-discovery", "updater",
233238
"cockpit-plugins-build", "k3s-selinux-build", "uki",
234239
]

0 commit comments

Comments
 (0)