You are not logged in.
This is a hybrid laptop - The HDMI is managed by AMDGPU, there's no mux switch. Nvidia is only prime. (prime-run offloads to nvidia etc)
Lenovo Ideapad Gaming 3.
This does not happens on Gnome with GDM. I'm migrating to KDE (because of the bug suspending the system again after waking up).
I'm using the LTS kernel: Linux 6.12.53-1-lts x86_64 GNU/Linux (the last update of the "linux" package has amdgpu bug that prevents suspend, I didn't search more info), plasma-desktop 6.4.5-4. Wayland!
My Laptop Always stays closed with a HDMI connection to my monitor.
What Happens:
After waking from suspend (deep) it makes the noise of connection and disconnection and the HDMI monitor then wakes up but it has no signal and goes back to sleep.
What I've tried:
-- Changing kernels, makes no difference.
-- Kernel parameter: `snd_hda_codec_hdmi.enable_silent_stream=1` and also `0`
-- Changing sleep to `s2idle` somewhat works. It still stays black but I can keep moving the mouse until it detects again.
-- Turn off the monitor then turn on again - wait 1s - move mouse to wake laptop. It somewhat works if I time everything right. Else, the same problem.
-- Disable locking sessions on suspend in KDE settings. Identical to s2idle (continually moving mouse can wake hdmi).
Conclusion: Plasma tries to output to HDMI (it awakens the monitor) but does not wait for the monitor to be running. So it creates a shitty placeholder screen (see logs) that does not accepts mouse and keyboard inputs (I cannot log in with password nor do anything). I must manually open the closed lid (annoying). Then It outputs to the laptop screen. After finally pressing enter (now inputs do work, ugh!) the HDMI monitor finally awakens!
Some paths I'm think of trying:
1. Try searching some kernel quirk or parameter to let the hdmi without powersaving or not suspending when sleeping. ( something probably with `_psr` or something similar, I must look for it to try)
2. Try searching for a way to make the screenlocker of KDE to delay the "give up" HDMI connections. (maybe only in code from kde gitlab)
3. Try searching a wayland way to create a systemd service to run a script in bash to "refresh screen outputs" when resuming from suspend. (no xrandr... It's wayland etc.) (Good thing to try may be the use of `kscreen-doctor output.HDMI-A-1.mode.1920x1080@75` on resume)
4. Try to disable the blockage that kde makes when no screen is detected. Make the placeholder screen receives and accepts keyboard and mouse inputs. (acceptable - if it makes the screen wakes up)
5. Disable the lockscreen and make a security nightmare to try locking when resuming. (poop workaround)
More info:
> lspci -nn | grep -Ei vga
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c5)
> lspci -nn | grep -Ei hdmi
06:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir/Cezanne HDMI/DP Audio Controller [1002:1637]
> cat /proc/cmdline
initrd=\initramfs-linux-lts.img root=UUID=11c71dca-ef21-4061-8b11-90ff1da60eec rw quiet nowatchdog modprobe.blacklist=sp5100_tco nmi_watchdog=0 loglevel=0 systemd.show_status=auto rd.udev.log_level=0 vt.global_cursor_default=0 nvidia_drm.modeset=1 usbcore.quirks=046d:c33f:gn Some logs:
22 14:34:35 theluga bluetoothd[729]: Endpoint registered: sender=:1.79 path=/MediaEndpoint/A2DPSink/aptx_hd
Oct 22 14:34:35 theluga bluetoothd[729]: Endpoint registered: sender=:1.79 path=/MediaEndpoint/A2DPSource/ldac
Oct 22 14:34:35 theluga plasmashell[1178]: requesting unexisting screen available rect -1
Oct 22 14:34:35 theluga plasmashell[1178]: requesting unexisting screen available rect -1
Oct 22 14:34:35 theluga plasmashell[1178]: There are no outputs - creating placeholder screen
Oct 22 14:34:35 theluga kscreenlocker_greet[2644]: There are no outputs - creating placeholder screen
Oct 22 14:34:35 theluga org_kde_powerdevil[1200]: There are no outputs - creating placeholder screen
Oct 22 14:34:35 theluga kwin_wayland[1013]: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x648acddd91c0, name="HDMI-A-1", geometry=QRect(0,0 1920x108>
Oct 22 14:34:35 theluga kwin_wayland[1013]: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x648acddd91c0, name="HDMI-A-1", geometry=QRect(0,0 1920x108>
Oct 22 14:34:35 theluga yakuake[1368]: There are no outputs - creating placeholder screen
Oct 22 14:34:35 theluga xdg-desktop-portal-kde[1408]: There are no outputs - creating placeholder screen
Oct 22 14:34:35 theluga ksecretd[1415]: There are no outputs - creating placeholder screen
Oct 22 14:34:35 theluga kdeconnectd[1361]: There are no outputs - creating placeholder screen
Oct 22 14:34:35 theluga kactivitymanagerd[1194]: There are no outputs - creating placeholder screen
Oct 22 14:34:35 theluga polkit-kde-authentication-agent-1[1199]: There are no outputs - creating placeholder screen
Oct 22 14:34:35 theluga kwin_wayland[1013]: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x648acddd91c0, name="HDMI-A-1", geometry=QRect(0,0 1920x108>
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.9558] device (p2p-dev-wlo1): state change: unavailable -> disconnected (reason 'none', managed-type: 'full')
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.9554] device (wlo1): state change: unavailable -> disconnected (reason 'supplicant-available', managed-type: 'full')
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.9550] device (p2p-dev-wlo1): state change: unmanaged -> unavailable (reason 'managed', managed-type: 'external')
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.9548] manager: (p2p-dev-wlo1): new 802.11 Wi-Fi P2P device (/org/freedesktop/NetworkManager/Devices/5)
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.9546] Wi-Fi P2P device controlled by interface wlo1 created
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.9542] device (p2p-dev-wlo1): state change: unavailable -> unmanaged (reason 'unmanaged-link-not-init', managed-type: 'remov>
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.9542] device (wlo1): supplicant interface state: internal-starting -> disconnected
Oct 22 14:34:34 theluga kwin_wayland[1013]: Libinput: event13 - Logitech USB Receiver: kernel bug: clickpad advertising right button. See https://wayland.freedesktop.org/libinput/doc/1.29.>
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.9088] manager: NetworkManager state is now DISCONNECTED
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.9086] device (p2p-dev-wlo1): state change: unmanaged -> unavailable (reason 'managed', managed-type: 'external')
Oct 22 14:34:34 theluga kernel: r8169 0000:02:00.0 enp2s0: Link is Down
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.8597] device (wlo1): state change: unmanaged -> unavailable (reason 'managed', managed-type: 'external')
Oct 22 14:34:34 theluga kdeconnectd[1361]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga kdeconnectd[1361]: Failed to open any MDNS server sockets
Oct 22 14:34:34 theluga kdeconnectd[1361]: Failed to open any MDNS client sockets
Oct 22 14:34:34 theluga wireplumber[1082]: spa.alsa: The decibel volume range for element 'PCM' (-2837 dB - -94 dB) has negative maximum. Disabling the decibel range.
Oct 22 14:34:34 theluga wireplumber[1082]: spa.alsa: The decibel volume range for element 'PCM' (-2837 dB - -94 dB) has negative maximum. Disabling the decibel range.
Oct 22 14:34:34 theluga wireplumber[1082]: spa.alsa: The decibel volume range for element 'PCM' (-2837 dB - -94 dB) has negative maximum. Disabling the decibel range.
Oct 22 14:34:34 theluga wireplumber[1082]: spa.alsa: The decibel volume range for element 'PCM' (-2837 dB - -94 dB) has negative maximum. Disabling the decibel range.
Oct 22 14:34:34 theluga wireplumber[1082]: spa.alsa: The decibel volume range for element 'PCM' (-2837 dB - -94 dB) has negative maximum. Disabling the decibel range.
Oct 22 14:34:34 theluga plasmashell[1178]: Exposed with no visual parent. Window positioning broken.
Oct 22 14:34:34 theluga plasmashell[1178]: Exposed with no visual parent. Window positioning broken.
Oct 22 14:34:34 theluga plasmashell[1178]: Exposed with no visual parent. Window positioning broken.
Oct 22 14:34:34 theluga plasmashell[1178]: Exposed with no visual parent. Window positioning broken.
Oct 22 14:34:34 theluga plasmashell[1178]: Exposed with no visual parent. Window positioning broken.
Oct 22 14:34:34 theluga plasmashell[1178]: requesting unexisting screen available rect -1
Oct 22 14:34:34 theluga plasmashell[1178]: requesting unexisting screen available rect -1
Oct 22 14:34:34 theluga plasmashell[1178]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga systemd[1]: Started dbus-:1.3-org.kde.powerdevil.backlighthelper@1.service.
░░ Subject: A start job for unit dbus-:1.3-org.kde.powerdevil.backlighthelper@1.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit dbus-:1.3-org.kde.powerdevil.backlighthelper@1.service has finished successfully.
░░
░░ The job identifier is 3339.
Oct 22 14:34:34 theluga org_kde_powerdevil[1200]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga kwin_wayland[1013]: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x648acc65eef0, name="eDP-1", geometry=QRect(0,0 1920x1080),>
Oct 22 14:34:34 theluga kwin_wayland[1013]: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x648acc65eef0, name="eDP-1", geometry=QRect(0,0 1920x1080),>
Oct 22 14:34:34 theluga kscreenlocker_greet[2644]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga ksecretd[1415]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga xdg-desktop-portal-kde[1408]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga baloo_file_extractor[2894]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga yakuake[1368]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga polkit-kde-authentication-agent-1[1199]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga kactivitymanagerd[1194]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga kded6[1144]: There are no outputs - creating placeholder screen
Oct 22 14:34:34 theluga kwin_wayland[1013]: Could not find a matching X RandR CRTC/output to set as primary for KWin::DrmOutput(0x648acc65eef0, name="eDP-1", geometry=QRect(0,0 1920x1080),>
Oct 22 14:34:34 theluga systemd-logind[630]: Watching system buttons on /dev/input/event16 (Logitech G815 RGB MECHANICAL GAMING KEYBOARD)
Oct 22 14:34:34 theluga systemd-logind[630]: Watching system buttons on /dev/input/event17 (Logitech G815 RGB MECHANICAL GAMING KEYBOARD Keyboard)
Oct 22 14:34:34 theluga systemd[1]: Finished NVIDIA system resume actions.
░░ Subject: A start job for unit nvidia-resume.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit nvidia-resume.service has finished successfully.
░░
░░ The job identifier is 3145.
Oct 22 14:34:34 theluga systemd[1]: nvidia-resume.service: Deactivated successfully.
░░ Subject: Unit succeeded
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit nvidia-resume.service has successfully entered the 'dead' state.
Oct 22 14:34:34 theluga logger[2902]: <13>Oct 22 14:34:34 suspend: nvidia-resume.service
Oct 22 14:34:34 theluga suspend[2902]: nvidia-resume.service
Oct 22 14:34:34 theluga kdeconnectd[1361]: Error sending UDP packet: QAbstractSocket::NetworkError
Oct 22 14:34:34 theluga kernel: Generic FE-GE Realtek PHY r8169-0-200:00: attached PHY driver (mii_bus:phy_addr=r8169-0-200:00, irq=MAC)
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.6534] device (enp2s0): state change: unmanaged -> unavailable (reason 'managed', managed-type: 'external')
Oct 22 14:34:34 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:34 theluga kwin_wayland[1013]: Atomic modeset test failed! Permission denied
Oct 22 14:34:34 theluga NetworkManager[625]: <info> [1761154474.6533] manager: sleep: wake requested (sleeping: yes enabled: yes)
Oct 22 14:34:34 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:34 theluga kwin_wayland[1013]: Atomic modeset test failed! Permission denied
Oct 22 14:34:34 theluga systemd-resolved[408]: Resetting learnt feature levels on all servers.
Oct 22 14:34:34 theluga systemd-resolved[408]: Closing all remaining TCP connections.
Oct 22 14:34:34 theluga systemd-logind[630]: Operation 'suspend' finished.
Oct 22 14:34:34 theluga systemd[1]: Stopped target Suspend.
░░ Subject: A stop job for unit suspend.target has finished
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A stop job for unit suspend.target has finished.
░░
░░ The job identifier is 3320 and the job result is done.
Oct 22 14:34:34 theluga systemd[1]: Starting NVIDIA system resume actions...
░░ Subject: A start job for unit nvidia-resume.service has begun execution
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit nvidia-resume.service has begun execution.
░░
░░ The job identifier is 3145.
Oct 22 14:34:34 theluga systemd[1]: Reached target Suspend.
░░ Subject: A start job for unit suspend.target has finished successfully
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit suspend.target has finished successfully.
░░
░░ The job identifier is 3012.
Oct 22 14:34:34 theluga systemd[1]: Stopped target Sleep.
░░ Subject: A stop job for unit sleep.target has finished
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A stop job for unit sleep.target has finished.
░░
░░ The job identifier is 3315 and the job result is done.
Oct 22 14:34:34 theluga systemd[1]: Finished System Suspend.
░░ Subject: A start job for unit systemd-suspend.service has finished successfully
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit systemd-suspend.service has finished successfully.
░░
░░ The job identifier is 3013.
Oct 22 14:34:34 theluga systemd[1]: systemd-suspend.service: Deactivated successfully.
░░ Subject: Unit succeeded
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit systemd-suspend.service has successfully entered the 'dead' state.
Oct 22 14:34:34 theluga kernel: Bluetooth: MGMT ver 1.23
Oct 22 14:34:34 theluga kernel: Bluetooth: hci0: AOSP quality report is supported
Oct 22 14:34:34 theluga kernel: Bluetooth: hci0: AOSP extensions version v1.00
Oct 22 14:34:34 theluga bluetoothd[729]: Battery Provider Manager created
Oct 22 14:34:40 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:40 theluga kwin_wayland[1013]: Atomic modeset test failed! Invalid argument
Oct 22 14:34:39 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:39 theluga kwin_wayland[1013]: Atomic modeset test failed! Invalid argument
Oct 22 14:34:39 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:39 theluga kwin_wayland[1013]: Atomic modeset test failed! Invalid argument
Oct 22 14:34:39 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:39 theluga kwin_wayland[1013]: Atomic modeset test failed! Invalid argument
Oct 22 14:34:39 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:39 theluga kwin_wayland[1013]: Atomic modeset test failed! Invalid argument
Oct 22 14:34:39 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:39 theluga kwin_wayland[1013]: Atomic modeset test failed! Invalid argument
Oct 22 14:34:39 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:39 theluga kwin_wayland[1013]: Atomic modeset test failed! Invalid argument
Oct 22 14:34:39 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:39 theluga kwin_wayland[1013]: Atomic modeset test failed! Invalid argument
Oct 22 14:34:39 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:39 theluga kwin_wayland[1013]: Atomic modeset test failed! Invalid argument
Oct 22 14:34:39 theluga kwin_wayland[1013]: Setting dpms mode failed!
Oct 22 14:34:39 theluga kwin_wayland[1013]: Atomic modeset test failed! Invalid argument
Oct 22 14:34:39 theluga systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.Last edited by theluga (2025-10-25 03:42:48)
Offline
I've added the EDID binary from my monitor to initfsram and to
/usr/lib/firmware/edid/aoc_hdmi.bin Now, when booting up the screen flicker less (I should have made it before... when doing early kms)
But... the problem still persists... Since I have an EDID file, I'm thinking in maybe emulate the connection in a post resume with a systemd service? This way the plasma lockscreen will think there's a display there and not give up my slow awakener monitor.
Edit 1: There's this bug upstream: https://bugs.kde.org/show_bug.cgi?id=507035
Edit 2: video=HDMI-1:1920x1080@75D kernel parameter, does not fix this, nor 'e'.
Edit 3: Update of plasma-destop to 6.5.0-1 fixed this issue.
Last edited by theluga (2025-10-25 03:37:16)
Offline