You are not logged in.

#1 2024-03-28 18:46:04

hully
Member
Registered: 2022-11-14
Posts: 164

[SOLVED] External monitor do not wake up after resuming from suspend

I use Hyprland.

My external monitor doesn't resume and stay black after waking up after a suspend triggered by

systemctl suspend -i

Disconnecting and re-connecting the HDMI cable does not resume the monitor.

`hyprctl monitors` do not show the external monitor.

Changing driver from nvidia to nvidia-open did not fix the issue.

Only exiting from hyprland and logging in again works.

Related: https://www.reddit.com/r/archlinux/comm … _hyprland/

Last edited by hully (2024-06-16 05:34:48)

Offline

#2 2024-04-06 21:27:24

hully
Member
Registered: 2022-11-14
Posts: 164

Re: [SOLVED] External monitor do not wake up after resuming from suspend

any idea?

Offline

#3 2024-06-12 07:13:29

hully
Member
Registered: 2022-11-14
Posts: 164

Re: [SOLVED] External monitor do not wake up after resuming from suspend

I have tried putting the

nvidia-drm.modeset=1

kernel parameter as found here but without luck.

After suspend, the external monitor is not even detected by "hyprctl monitors"

Offline

#4 2024-06-12 10:24:42

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 24,117

Re: [SOLVED] External monitor do not wake up after resuming from suspend

For nvidia on wayland to properly wake from suspend you need to enable the suspension hooks/services. Read the section closely, there's some vital decisions (the place on your filesystem where nvidia can store it's VRAM dump) to make: https://wiki.archlinux.org/title/NVIDIA … er_suspend

Offline

#5 2024-06-12 13:15:54

hully
Member
Registered: 2022-11-14
Posts: 164

Re: [SOLVED] External monitor do not wake up after resuming from suspend

Doesn't work, neither with nvidia nor with nvidia-open

➜  cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-linux root=UUID=d816c87a-5f7a-4e89-8a8b-835d6986ce57 rw loglevel=3 quiet sysrq_always_enabled=1 i8042.nokbd nvidia-drm.modeset=1 nvidia_drm.fbdev=1 NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp

The services are enabled:

➜  sudo systemctl status nvidia-suspend.service
○ nvidia-suspend.service - NVIDIA system suspend actions
     Loaded: loaded (/usr/lib/systemd/system/nvidia-suspend.service; enabled; preset: disabled)
     Active: inactive (dead)
[ble: exit 3]

~ took 3s 
❯ sudo systemctl status nvidia-hibernate.service
○ nvidia-hibernate.service - NVIDIA system hibernate actions
     Loaded: loaded (/usr/lib/systemd/system/nvidia-hibernate.service; enabled; preset: disabled)
     Active: inactive (dead)
[ble: exit 3]

~ 
❯ sudo systemctl status nvidia-resume.service
○ nvidia-resume.service - NVIDIA system resume actions
     Loaded: loaded (/usr/lib/systemd/system/nvidia-resume.service; enabled; preset: disabled)
     Active: inactive (dead)
[ble: exit 3]

Although for some reasons are not listed by list-units:

❯ sudo systemctl list-units | grep nvidia
[ble: exit 1]

Offline

#6 2024-06-12 19:43:10

seth
Member
Registered: 2012-09-03
Posts: 61,632

Re: [SOLVED] External monitor do not wake up after resuming from suspend

To save and restore all video memory contents, use the NVreg_PreserveVideoMemoryAllocations=1 kernel module parameter for the nvidia kernel module

NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp
nvidia.NVreg_PreserveVideoMemoryAllocations=1 nvidia.NVreg_TemporaryFilePath=/var/tmp

But that mitigates VRAM decay, not loss of an output.

Does the GPU still respond to nvidia-smi after the suspend?

Only exiting from hyprland and logging in again works.

Does this also happen w/ an X11 session (eg. openbox)?
Do you use some DM? Which?

Offline

#7 2024-06-16 05:04:37

hully
Member
Registered: 2022-11-14
Posts: 164

Re: [SOLVED] External monitor do not wake up after resuming from suspend

Thank you very much!

It works with

nvidia.NVreg_PreserveVideoMemoryAllocations=1

kernel parameter (the other kernel parameter is not necessary) and nvidia proprietary drivers (but not with nvidia-open).

To recap:

- nvidia driver without kernel parameter -> external monitor doesn't wake up on resume after suspend
- nvidia driver with kernel parameter -> external monitor does wake up, and even displays the lock screen
- nvidia-open driver without kernel parameter -> external monitor doesn't wake up on resume after suspend
- nvidia-open driver with kernel parameter -> completely broken. On resume do not display everything at all on all screens. Have to REISUB. Lots of error messages are printed on console before reaching the B.

Offline

#8 2024-06-16 05:17:45

seth
Member
Registered: 2012-09-03
Posts: 61,632

Re: [SOLVED] External monitor do not wake up after resuming from suspend

Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.

Offline

#9 2024-06-16 05:34:02

hully
Member
Registered: 2022-11-14
Posts: 164

Re: [SOLVED] External monitor do not wake up after resuming from suspend

There was actually a paragraph on the wiki NVIDIA troubleshooting page here.

I specified it also applied if the external monitor doesn't wake up.

Thanks again.

Offline

Board footer

Powered by FluxBB