https://bugs.kde.org/show_bug.cgi?id=520834

            Bug ID: 520834
           Summary: Regression: KWin 6.6.5-3 breaks display
                    socket/namespace inheritance for unprivileged
                    containers (bwrap) in standalone kiosk sessions
    Classification: Plasma
           Product: kwin
      Version First 6.6.5
       Reported In:
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: wayland-generic
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

DESCRIPTION
I run a minimal kiosk-style Arch Linux setup where I bypass standard desktop
environments. I use a custom systemd service to boot directly into a bare
kwin_wayland_wrapper instance, which then launches the EmulationStation-DE
(es-de) frontend.

On KWin 6.6.5-2, this setup worked flawlessly. However, after upgrading to KWin
6.6.5-3, child processes that rely on XWayland and unprivileged
containerization tools (specifically Bubblewrap / bwrap used by Proton and
umu-launcher) instantly crash upon execution.

Downgrading the kwin package specifically back to 6.6.5-2 (via pacman -U
https://archive.archlinux.org/packages/k/kwin/kwin-6.6.5-2-x86_64.pkg.tar.zst)
immediately resolves the issue and restores full functionality. This indicates
a regression in 6.6.5-3 regarding how XWayland sockets or display variables are
inherited by child processes when KWin is launched outside of a standard
pam_systemd user session.

STEPS TO REPRODUCE

Set up a custom systemd service that bypasses basic.target for a minimal boot
(/etc/systemd/system/autologin.service):

[Unit]
Description=auto login session
# SPEED HACK: DefaultDependencies=no detaches us from "basic.target"
# We start the INSTANT the disk and DBus are ready.
DefaultDependencies=no
After=local-fs.target dbus.socket systemd-logind.service
Before=systemd-user-sessions.service
[email protected] shutdown.target


[Unit]
Description=auto login session
DefaultDependencies=no
After=local-fs.target dbus.socket systemd-logind.service
Before=systemd-user-sessions.service
[email protected] shutdown.target

[Service]
User=adam
WorkingDirectory=~
LANG=en_GB.UTF-8
PAMName=login
Environment=XDG_SESSION_TYPE=wayland
TTYPath=/dev/tty1
StandardInput=tty
UnsetEnvironment=TERM
UtmpIdentifier=tty1
UtmpMode=user
StandardOutput=journal
ExecStart=/usr/bin/st.sh
Restart=always

[Install]
WantedBy=multi-user.target

Create the execution script (/usr/bin/st.sh) that launches the standalone KWin
instance and the frontend GUI:

Bash

#!/bin/sh
kwriteconfig6 --notify --file kcminputrc --group Mouse --key cursorSize 0
dbus-send --type=signal /KGlobalSettings org.kde.KGlobalSettings.notifyChange
int32:5 int32:0

/usr/bin/kwin_wayland_wrapper --xwayland 'es-de --no-splash' & wmpid=$!
wait $wmpid

Attempt to launch a containerized Wine/Proton application using bwrap (such as
a .sh file executing umu-run) from within this active frontend environment.

OBSERVED RESULT
On KWin 6.6.5-3, the application fails to launch. The bwrap container instantly
crashes, seemingly unable to correctly inherit, authorize, or access the
required display namespaces or XWayland environment when running inside this
custom systemd unit.

EXPECTED RESULT
On KWin 6.6.5-2, the container successfully hooks into the Wayland/XWayland
environments, allocates the required namespaces, and launches the application
seamlessly. KWin 6.6.5-3 should maintain this compatibility for standalone
compositors.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux (Rolling)
KDE Plasma Version: 6.6.5 (Specifically regression from kwin 6.6.5-2 to
6.6.5-3)
KDE Frameworks Version: kcoreaddons 6.26.0-1
Qt Version: qt6-base 6.11.1-1

ADDITIONAL INFORMATION
Because this is a standalone compositor environment running directly from a
custom TTY service rather than a standard desktop session, standard KDE
debugging tools like kinfo or automated crash handlers are not active. The
failure point seems strictly tied to the patch changes between 6.6.5-2 and
6.6.5-3 regarding socket inheritance for unprivileged containers in minimal
system environments.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to