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

[email protected] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #4 from [email protected] ---
I'm experiencing the exact same issue on a different GPU vendor (NVIDIA), so
this isn't AMD-specific.

My setup:
- RTX 3090 with proprietary nvidia-drm 580.105.08
- Samsung ultra-wide 7680x2160 @ 120Hz via DisplayPort
- KDE Plasma 6.5.3, KWin 6.5.3 on Wayland
- CachyOS (Arch-based), kernel 6.17.9-2
- What happens: Screen locks, display goes to sleep (DPMS). When I try to wake
it up (move mouse, press key), the monitor powers on but the screen stays
completely black. Can't see anything. But the system is still running - I can
hear audio, keyboard shortcuts work, I can even type my password blind and it
unlocks (just can't see it).

The only fix is Ctrl+Alt+F2 then Ctrl+Alt+F1 to switch VT and back.

Journal output shows:
Nov 26 09:57:24 kwin_wayland[4613]: Atomic modeset test failed! Permission
denied
Nov 26 09:57:24 kwin_wayland[4613]: Applying output configuration failed!

This happens every single time. 100% reproducible - just lock screen, wait for
DPMS timeout (I have it set to 20 seconds when locked), try to wake.

What I already tried:
- Switched from nvidia-open to nvidia proprietary driver - no change
- Disabled VRR/Adaptive Sync completely - no change
- Verified DRM/i2c ACL permissions - they're correct (user has rw access to
/dev/dri/card1 and /dev/i2c-*)

My NVIDIA modprobe config:
options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_TemporaryFilePath=/var/tmp
options nvidia NVreg_DynamicPowerManagement=0
options nvidia NVreg_EnableGpuFirmware=0
options nvidia_drm modeset=1 fbdev=1

Kernel params include nvidia_drm.modeset=1 nvidia_drm.fbdev=1

Possibly related:
- I noticed powerdevil logs show "Watching for DPMS state changes
unimplemented" - not sure if that's connected.

Also interesting - when DPMS kicks in, I see DDCA_EVENT_DISPLAY_DISCONNECTED in
dbus, and on wake attempt DDCA_EVENT_DISPLAY_CONNECTED. So DisplayPort is being
treated as a hotplug event rather than just a power state change?

Looking at drm_gpu.cpp, I noticed that setActive() only forces a modeset for
legacy mode, not for atomic mode setting. The comment even says "force a
modeset with legacy, we can't reliably know if one is needed". Maybe atomic
mode needs the same treatment on session reactivation?

Happy to test patches or debug builds if that would help. This happens every
time so it's very easy to reproduce.

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

Reply via email to