Skip to content

External monitor doesn't resume properly on wake up from sleep and hibernate #9194

Description

@logrusx

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

I don't know, I started using Hyprland only recently

System Info and Hyprland Version

System/Version info
Hyprland 0.46.2 built from branch  at commit 0bd541f2fd902dbfa04c3ea2ccf679395e316887  (version: bump to 0.46.2).
Date: Thu Dec 19 19:26:47 2024
Tag: v0.46.2, commits: 5566
built against:
 aquamarine 0.5.0
 hyprlang 0.5.3
 hyprutils 0.4.0
 hyprcursor 0.1.10
 hyprgraphics 0.1.1


flags set:
debug


System Information:
System name: Linux
Node name: joro-lt
Release: 6.1.91-gentoo-default
Version: #4 SMP PREEMPT Fri Jan  3 17:42:14 EET 2025


GPU information: 
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] [10de:2560] (rev a1) (prog-if 00 [VGA controller])
05:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c5) (prog-if 00 [VGA controller])
NVRM version: NVIDIA UNIX x86_64 Kernel Module  550.144.03  Mon Dec 30 17:44:08 UTC 2024


os-release: NAME=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo Linux"
ANSI_COLOR="1;32"
HOME_URL="https://www.gentoo.org/"
SUPPORT_URL="https://www.gentoo.org/support/"
BUG_REPORT_URL="https://bugs.gentoo.org/"
VERSION_ID="2.17"


plugins:

Description

When waking up from S3 sleep or hibernate (both tested), my external monitor does not wake up properly. The picture is restored, but nothing changes. When I move the mouse it goes there but doesn't show up. I'm sure it's logically in that space because it doesn't return immediately on the way back as if it had stopped at the edge. Also the floating window on my integrated display loses focus. I can move windows on that workspace but the display is never refreshed.

The way to resume proper operation of the display is to VT switch to the DM screen or an FB console.

One detail which might or might not be relevant is the external display always lights up first after VT switch. When resuming, either from sleep or hibernate, the integrated display comes up first.

I am running Hyprland on the AMD iGPU. I use GDM to start the session.

EDIT: I tested the main branch as well. Now the internal monitor comes up first, but still the issue persists.

How to reproduce

Provided you have an external display connected (It might happen on a desktop computer with two monitors as well but I have no way to test that):

  1. Log in.
  2. Issue systemctl suspend/hibernate or put the system to sleep in another way.
  3. Resume
  4. Move the mouse through the external (or maybe secondary display on a desktop setup). It won't refresh.

Attach not paste

  • I understand that all text files must be attached, and not pasted directly. If not respected, this issue will likely get closed as spam

Checklist of files to include below

  • Hyprland config - hyprctl systeminfo -c (always include)
  • Crash report (always include in case of crash)
  • Video (always include in case of a visual bug)
  • Logs (might contain useful info such as errors)

Additional info & File uploads

hyprland.log

config.txt

With hypridle and hyprlock configured, it looks like hyprlock is able to alter the picture a bit before it gets frozen like that even after entering the password:

Image

Here's an issue that might be related. At first I didn't consider it because it seemed related to dpms function and I didn't experience that when the monitor was dpms turned off, but the first comment has pointed me in that direction:

Only one monitor resumes after dpms off with new wlroots

It was also closed but now I see it was closed before a major refactoring occurred.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions