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

            Bug ID: 525083
           Summary: kwin_wayland fails to open DRM node for second
                    DisplayLink (evdi) output added during runtime, output
                    stays connected but blank
    Classification: Plasma
           Product: kwin
      Version First unspecified
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: core
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

I'm using a Targus docking station.
kwin_wayland fails to open DRM node for second DisplayLink (evdi) output added
during runtime, output stays connected but blank.

Setup:
- Ubuntu 26.04 (kernel 7.0.0-30-generic), Plasma/KWin 6.6.6, Wayland session
- Two external monitors connected via a single Targus USB3 DV4K DOCK w PD100W
  (DisplayLink chipset, USB ID 17e9:6008), driven through evdi 1.15.0-193 +
  displaylink-driver 6.3.0-48 (DisplayLinkManager userspace daemon)
- Internal GPU is Intel i915 (Raptor Lake-S UHD), with an NVIDIA RTX 4060 Max-Q
  also present; the evdi devices are separate DRM cards (not backed by either
GPU)

Bug:
When DisplayLinkManager (re)creates its two evdi DRM devices — e.g. after
`systemctl restart displaylink-driver.service`, or after dock/USB
reconnection — kwin_wayland successfully opens and paints to the first evdi
card, but fails to open the second one:

  kwin_core: Failed to open drm node: ""
  kwin_scene_opengl: couldn't find dev node for drm device

This happens consistently, not intermittently — across multiple repeated
restarts in the same session, it is always the second card (in kwin's
processing order) that fails, never the first. After the failure:

  - /sys/class/drm/cardN-DVI-I-X/status remains "connected"
  - /sys/class/drm/cardN-DVI-I-X/enabled becomes/stays "disabled"
  - kscreen-doctor -o still reports the output as "enabled" and "connected"
    with correct geometry — i.e. kwin's own config/KScreen state is out of
    sync with the real DRM enable state
  - The monitor shows no signal and stays that way indefinitely (not a
    transient race that self-heals)

kwin does not appear to retry opening the DRM node after this initial
failure. The only way found so far to recover the output is a full KWin
session restart (log out/in), which re-enumerates all DRM devices at cold
startup rather than reacting to a live runtime hotplug.

Workarounds tried that do NOT fix it:
  - kscreen-doctor output.N.disable followed by output.N.enable (even after
    waiting 8+ seconds for udev to fully settle) — this only toggles kwin's
    config intent, the DRM `enabled` sysfs attribute stays "disabled"
  - Restarting displaylink-driver.service again — re-triggers the exact same
    race, can fail again on retry (confirmed failing 2 restarts in a row in
    one session)
  - Physically unplugging/replugging just the monitor's HDMI cable from the
    dock — did not change the outcome

Steps to reproduce:
1. Connect two DisplayLink/evdi-backed monitors via a USB dock to a Wayland
   Plasma session
2. Run `sudo systemctl restart displaylink-driver.service` (or physically
   unplug/replug the dock) to force both evdi DRM devices to be destroyed
   and recreated at once
3. Observe: one monitor gets a picture, the other shows connected-but-blank
4. Check journalctl -b for "kwin_core: Failed to open drm node" occurring
   for the second device
5. Confirm via /sys/class/drm/cardN-.../enabled that the broken output is
   "disabled" at the kernel level despite kscreen-doctor reporting it enabled

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

Reply via email to