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

            Bug ID: 517696
           Summary: kwin issues forced DRM connector probes without
                    holding DRM master during VT switches, causing
                    physical signal loss on the active monitor.
    Classification: Plasma
           Product: kwin
      Version First 6.5.5
       Reported In:
          Platform: NixOS
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: platform-drm
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

SUMMARY

kwin issues forced DRM connector probes on all connectors immediately after
logind calls DRM_IOCTL_DROP_MASTER during a VT switch, while kwin no longer
holds DRM master. The kernel demotes these to read-only probes but still
executes them, coinciding with a physical signal loss on the active monitor.
kwin also continues issuing DRM_IOCTL_MODE_ATOMIC after DROP_MASTER, all
failing with EACCES (-13). The duration of the signal loss is
monitor-dependent: ~6 seconds on a Dell Alienware AW3423DWF (DisplayPort),
brief flicker on a secondary HDMI monitor. Mutter does not exhibit this
behavior under identical conditions.

STEPS TO REPRODUCE
1. Boot into a kwin/Wayland session with any monitor connected
2. Enable DRM debug logging: sudo bash -c 'echo 0x1f >
/sys/module/drm/parameters/debug'
3. Switch to a TTY: Ctrl+Alt+F3
4. Switch back to the graphical session: Ctrl+Alt+F1
5. Disable debug logging: sudo bash -c 'echo 0x0 >
/sys/module/drm/parameters/debug'
6. Check logs: journalctl -b -k | grep -iE "master|MODE_GETCONNECTOR|forced
probe"

OBSERVED RESULT

kwin issues forced connector probes on all connectors before logind calls
SET_MASTER. The kernel logs confirm kwin is not DRM master at the time of the
probes:

```
13:45:29.858  logind (pid=1055):  DRM_IOCTL_DROP_MASTER
13:45:30.051  kwin  (pid=1336):   DRM_IOCTL_MODE_GETCONNECTOR "forced probe on
DP-1, not DRM master, demoting to read-only"
13:45:30.059  kwin  (pid=1336):   DRM_IOCTL_MODE_GETCONNECTOR "forced probe on
DP-2, not DRM master, demoting to read-only"
13:45:30.067  kwin  (pid=1336):   DRM_IOCTL_MODE_GETCONNECTOR "forced probe on
DP-3, not DRM master, demoting to read-only"
13:45:30.075  kwin  (pid=1336):   DRM_IOCTL_MODE_GETCONNECTOR "forced probe on
HDMI-A-1, not DRM master, demoting to read-only"
13:45:30.088+ kwin  (pid=1336):   DRM_IOCTL_MODE_ATOMIC (repeated), ret=-13
(EACCES)
13:45:34.724  logind (pid=1055):  DRM_IOCTL_SET_MASTER
```

The same forced probe without master was captured on a secondary HDMI monitor,
confirming this is not specific to one monitor model.

For comparison, Mutter under identical hardware conditions only probes
connectors after receiving SET_MASTER:

```
14:12:26.431  logind:      DRM_IOCTL_DROP_MASTER
14:12:28.981  logind:      DRM_IOCTL_SET_MASTER
14:12:28.983  KMS thread:  DRM_IOCTL_MODE_GETCONNECTOR (with master)
```

No signal loss occurs with Mutter.

EXPECTED RESULT

kwin should not issue any DRM ioctls after receiving DROP_MASTER. Connector
probes and atomic commits should only occur after SET_MASTER is restored.

SOFTWARE/OS VERSIONS

Linux/KDE Plasma: NixOS 25.11 (Xantusia), kernel 6.12.76
KDE Plasma Version: 6.5.5
KDE Frameworks Version: 6.20.0
Qt Version: 6.10.1

ADDITIONAL INFORMATION

GPU: AMD RX 6800 XT, amdgpu 3.61.0
Display Manager: SDDM 0.21.0 (Wayland mode)
Monitors tested: Dell Alienware AW3423DWF (3440x1440 @ 165Hz, DisplayPort) and
a secondary HDMI monitor
The issue occurs on every VT switch involving kwin: login, logout, and manual
Ctrl+Alt+Fx. TTY-to-TTY switches with no compositor involved have no signal
loss.
The behavior was also confirmed with GDM as the display manager, ruling out
SDDM as a factor.

Only tested this on KDE Plasma 6.5.5

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

Reply via email to