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

            Bug ID: 528248
           Summary: kwin_wayland (Plasma Login Manager greeter) crashes in
                    RenderDevice::deviceId when DisplayLink/EVDI outputs
                    connect during greeter startup
    Classification: Plasma
           Product: kwin
      Version First unspecified
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: wayland-generic
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Created attachment 197988
  --> https://bugs.kde.org/attachment.cgi?id=197988&action=edit
coredump

With a DisplayLink hub attached at boot, the Plasma Login Manager greeter's
kwin_wayland segfaults about two seconds after the greeter appears. Nothing
restarts it, so the machine is left at a text console with a blinking cursor.
With the hub unplugged at boot, the login screen works, and after login
my session's KWin handles the same hub fine when it is hot-plugged.
SDDM works with the same hardware (greeter on the internal screen only).

Steps to reproduce:
1. Install evdi and the DisplayLink driver, with
   "options evdi initial_device_count=4" in /etc/modprobe.d (four EVDI
   nodes exist at boot).
2. Boot with the DisplayLink hub connected (two monitors on it).
3. Plasma Login Manager starts its greeter.

Observed: greeter's kwin_wayland (plasma-login-kwin_wayland.service) crashes
with SIGSEGV. Before the crash KWin logs, for the EVDI cards:
  Couldn't find any render device for /dev/dri/card3
  Couldn't find any render device for /dev/dri/card4
  Couldn't find any render device for /dev/dri/card5
Timeline: the DisplayLinkManager attached the hub and card2/card3 became
"connected" at the same second the greeter's KWin started, so EVDI outputs
were live by the first composite.

Backtrace (thread 1397):
 #4 KWin::RenderDevice::deviceId() const (libkwin.so.6)
 #5 KWin::Compositor::setupLayers(...) (libkwin.so.6)
 #6 KWin::Compositor::composite(KWin::RenderLoop*) (libkwin.so.6)
 #8 KWin::RenderLoop::frameRequested(KWin::RenderLoop*) (libkwin.so.6)
This looks like a null RenderDevice being dereferenced for an output on an
EVDI GPU that has no render node.

Workaround that avoids the crash: restricting the greeter's KWin to the
Intel GPU with a user-unit drop-in for plasma-login-kwin_wayland.service:
  [Service]
  Environment="KWIN_DRM_DEVICES=/dev/dri/card1"
The login screen then appears on the internal display only.

Notes: possibly related to bug 521668 (SIGSEGV with DisplayLink) and the
null render device pairing mentioned there, but this one occurs in the
login greeter at startup, and the session KWin on the same Plasma version
does not crash.

Software versions:
Distro: KDE neon (Ubuntu 24.04 base)
Plasma: 6.8.2   KWin: 6.8.2
Plasma Login Manager: 6.8.2-0zneon+24.04+noble+release+build28
Qt: 6.11.1
Kernel: 7.0.0-42-generic
evdi: 1.15.1   DisplayLink driver:  6.4.0-22
GPU: Intel (i915, Comet Lake ULT, device ID 9b41)
Hub: HP 3005pr

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

Reply via email to