hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.62k stars 904 forks source link

Cannot wake up monitor after dpms off #8357

Closed Irubataru closed 1 week ago

Irubataru commented 1 week ago

Already reported ? *

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 4520b30d498daca8079365bdb909a8dea38e8d55 (version: bump to 0.44.1). Date: Wed Oct 9 12:54:39 2024 Tag: v0.44.1, commits: 5309 built against aquamarine 0.4.3 flags: (if any) System Information: System name: Linux Node name: archlinux Release: 6.11.6-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Fri, 01 Nov 2024 03:30:41 +0000 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation Meteor Lake-P [Intel Arc Graphics] [8086:7d55] (rev 08) (prog-if 00 [VGA controller]) os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo plugins: ======Config-Start====== Config File: /home/aleksandra/.config/hypr/hyprland.conf: Read Succeeded $scripts = ~/.config/hypr/scripts $configs = ~/.config/hypr/configs # Autostart source = $configs/autostart.conf exec-once = $scripts/hyprlock # Execs exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Configs source = $configs/env.conf source = $configs/input.conf source = $configs/keymaps.conf source = $configs/misc.conf source = $configs/monitors.conf source = $configs/rules.conf source = $configs/theme.conf Config File: /home/aleksandra/.config/hypr/configs/autostart.conf: Read Succeeded $scripts = ~/.config/hypr/scripts # Wallpaper exec-once = hyprpaper # Status bar exec-once = waybar # Idle manager exec-once = hypridle # Notification manager exec-once = swaync Config File: /home/aleksandra/.config/hypr/configs/env.conf: Read Succeeded # Unscale XWayland xwayland { force_zero_scaling = true } env = GTK_THEME,Nordic # toolkit-specific scale env = GDK_SCALE,1.5 env = XCURSOR_SIZE,24 env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that Config File: /home/aleksandra/.config/hypr/configs/input.conf: Read Succeeded # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us,no kb_variant = kb_model = kb_options = ctrl:nocaps,grp:alt_shift_toggle kb_rules = follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = off } Config File: /home/aleksandra/.config/hypr/configs/keymaps.conf: Read Succeeded # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Applications $scripts = ~/.config/hypr/scripts $terminal = wezterm start $fileManager = dolphin $menu = ~/.config/rofi/launcher.sh $emoji = ~/.config/rofi/emoji.sh $lock = loginctl lock-session $snipArea = $scripts/snip-area.sh # Programs bind = $mainMod, return, exec, $terminal bind = $mainMod, E, exec, $fileManager bind = $mainMod, R, exec, $menu bind = $mainMod, period, exec, $emoji bind = $mainMod SHIFT, S, exec, $snipArea bind = $mainMod SHIFT, L, exec, sleep 5 && hyprctl dispatch dpms off bind = $mainMod SHIFT, L, exec, hyprlock -c ~/.config/hypr/hyprlock/hyprlock.conf # TODO: Solve # bind = $mainMod, b, "window switcher" # bind = $mainMod, w, "menu" # bind = $mainMod, s, "show help" # bind = $mainMod_shift, J, "move focus to next monitor" # bind = $mainMod, o, "move window to other monitor" # bind = alt, shify, "toggle keyboard layout" # media keys # fn-keys, brightness etc # printkeys # bind = $mainMod_control, T, "togge touchpad" # bind = $mainMod_shift, S, "snippet" # TODO: Investigate # bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, M, togglefloating, bind = $mainMod, P, exec, playerctl play-pause # Example special workspace (scratchpad) # TODO: find a good use for special workspace # bind = $mainMod, S, togglespecialworkspace, magic # bind = $mainMod SHIFT, S, movetoworkspace, special:magic # Unused bind = $mainMod CONTROL, Q, exit, # bind = $mainMod, J, togglesplit, # dwindle # Windows bind = $mainMod SHIFT, C, killactive, bind = $mainMod, F, fullscreen # Move focus with mainMod + arrow # bind = $mainMod, left, movefocus, l # bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d bind = $mainMod, J, cyclenext bind = $mainMod, K, cyclenext, prev bind = $mainMod, l, resizeactive, -20 20 bind = $mainMod, h, resizeactive, 20 20 # Move window with mainMod + shift + arrow bind = $mainMod SHIFT, left, movewindow, l bind = $mainMod SHIFT, right, movewindow, r bind = $mainMod SHIFT, up, movewindow, u bind = $mainMod SHIFT, down, movewindow, d # Navigate workspaces bind = ALT, right, workspace, +1 bind = ALT, left, workspace, -1 bind = $mainMod, left, workspace, -1 bind = $mainMod, right, workspace, +1 # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow Config File: /home/aleksandra/.config/hypr/configs/misc.conf: Read Succeeded misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers } Config File: /home/aleksandra/.config/hypr/configs/monitors.conf: Read Succeeded # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,highres,auto,1.5 Config File: /home/aleksandra/.config/hypr/configs/rules.conf: Read Succeeded # Base Rules $center-float-large = class:^(center-float-large)$|^(.*Geeqie.*)$|^(.*geeqie.*)$|^(.*celluloid.*)$|^(.*mpv.*)$|^(.*pcmanfm.*)$|^(.*pwvu.*)$|^(.*File Upload.*)$|^(.*imv.*)$ windowrulev2 = float, $center-float-large windowrulev2 = size 70% 70%, $center-float-large windowrulev2 = center 1, $center-float-large $center-float = class:^(center-float)$|^(.*file-roller.*)$|^(.*FileRoller.*)$|^(.*blueman-manager.*)$|^(.*blueberry.py.*)$ $center-float-title = title:^(.*Open Folder.*)$|^(.*Open File.*)$|^(.*Save File.*)$|^(.*Save Folder.*)$|^(.*Save Image.*)$|^(.*Library.*)$|^(.*Save As.*)$|^(.*Open As.*)$|^(.*Volume Control.*)$|^(.*Settings.*)$|^(.*Warning.*)$|^(.*nmtui.*)$|^(update.sh)$|^(.*Preferences.*)$ windowrulev2 = float, $center-float windowrulev2 = float, $center-float-title windowrulev2 = size 50% 50%, $center-float windowrulev2 = size 50% 50%, $center-float-title windowrulev2 = center 1, $center-float windowrulev2 = center 1, $center-float-title $center-float-mini = class:^(center-float-mini)$|^(.*galculator.*)$|^(.*ytdlp-gui.*)$ windowrulev2 = float, $center-float-mini windowrulev2 = size 30% 40%, $center-float-mini windowrulev2 = center 1, $center-float-mini # # Opaque Rules # $opaque = class:^(.*thunar.*)$|^(.*zathura.*)$|^(.*spotify.*)$|^(.*firefox.*)$ # windowrulev2 = opacity 0.92 0.92,$opaque # windowrulev2 = opacity 0.8 0.8,floating:1 # Float rules windowrule = float, xfce-polkit|file_progress|confirm|dialog|download|notification|error|splash|confirmreset|wleave|nwg-look|nm-connection-editor|Picture-in-Picture windowrule = float, title:branchdialog|title:Picture-in-Picture|title:gocheat windowrulev2 = size 30% 30%,title:^(Picture-in-Picture)$ windowrulev2 = suppressevent maximize, class:.* # Steam Rules windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ windowrulev2 = size 30% 60%, title:^(Friends List)$ windowrulev2 = float, title:^(Friends List)$ windowrulev2 = float, class:(floorp), title:(Picture-in-Picture) windowrulev2 = float, class:(firefox), title:(Picture-in-Picture) Config File: /home/aleksandra/.config/hypr/configs/theme.conf: Read Succeeded general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 5 gaps_out = 5 border_size = 0 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) layout = dwindle # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 10 blur { enabled = true size = 3 passes = 1 } drop_shadow = yes shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) } animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes # you probably want this } ======Config-End======== ```

Description

I tried turning off the monitor when locking the screen with hyprlock, but I cannot wake the screen up after. It stays black regardless of what I press.

I have the following keybind defined

bind = $mainMod SHIFT, L, exec, sleep 5 && hyprctl dispatch dpms off
bind = $mainMod SHIFT, L, exec, hyprlock -c ~/.config/hypr/hyprlock/hyprlock.conf

Running systemctl suspend works, but then I can't set the timeout.

I am on an HP EliteBook 1040 G11

How to reproduce

Use the following keybind

bind = $mainMod SHIFT, L, exec, sleep 5 && hyprctl dispatch dpms off
bind = $mainMod SHIFT, L, exec, hyprlock -c ~/.config/hypr/hyprlock/hyprlock.conf

Crash reports, logs, images, videos

No response

vaxerski commented 1 week ago

are you sure this is not a regression?

Irubataru commented 1 week ago

I am new to hyprland, installed it for the first time a couple of days ago.

Aqa-Ib commented 1 week ago

would binding another key to dpms on solve your issue? (if you want to turn on the screen during the screen lock, you have to use bindl instead of bind for binding dpms on).

Irubataru commented 1 week ago

I can bind e.g. space to dpms on, and that works (for some reason the screen turns on with a very low brightness :woman_shrugging:). But that sounds like the wrong solution? If I bind space I cannot type space anymore, but I am sure there is a solution to that. However, I'd assume I shouldn't send dpms on every time I press space.

Aqa-Ib commented 1 week ago

@Irubataru this is what you want:

mouse_move_enables_dpms If DPMS is set to off, wake up the monitors if the mouse moves. 
key_press_enables_dpms  If DPMS is set to off, wake up the monitors if a key is pressed.    

Set one or both to true in the misc section of hyprland's config file.

Irubataru commented 1 week ago

That seemed to work, thanks!

Do you by any chance know why setting dpms off sets the brightness to a low value? It happens regardless of how (running hyprctl, using hypridle, ...)

Aqa-Ib commented 1 week ago

I don't know, does it also happens when coming back from systemctl suspend ?

Irubataru commented 1 week ago

No, only when I turn off dpms.

Aqa-Ib commented 1 week ago

If it does not happen after suspend, I guess that it is a bug in dpms off/on. Feel free to open a new bug report. If you could try if it happens on KDE or Gnome, we would be certain that it is a Hyprland bug though.