hyprwm / hyprlock

Hyprland's GPU-accelerated screen locking utility
BSD 3-Clause "New" or "Revised" License
693 stars 53 forks source link

eglSurface error after dispatching `dpms on` #417

Open sysashi opened 1 month ago

sysashi commented 1 month ago

After waking up a monitor I can't log in, only color is rendered with no password input or anything.

[LOG] Locking session
[WARN] Extension: .jpg
[LOG] onLockLocked called
[LOG] Got fractional scale: 1
[LOG] Got fractional scale: 1.5
[LOG] configure with serial 52351
[LOG] Configuring surface for logical [Vector2D: x: 2560, y: 1440] and pixel [Vector2D: x: 3840, y: 2160]
[LOG] Got fractional scale: 1.5
[LOG] configure with serial 52351
[LOG] Configuring surface for logical [Vector2D: x: 2560, y: 1440] and pixel [Vector2D: x: 3840, y: 2160]
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG]   | removed iface 50
[LOG]   | got iface: wl_output v4
[LOG]    > Bound to wl_output v4
[LOG] output 51 make null model null
[LOG] output 51 name HEADLESS-1
[LOG] output 51 description Headless output 1
[LOG] output 51 done
[LOG] Creating a surface dynamically for output as we are already locked
[LOG] Got fractional scale: 1
[LOG] Got fractional scale: 2
[LOG] configure with serial 52361
[LOG] Configuring surface for logical [Vector2D: x: 960, y: 540] and pixel [Vector2D: x: 1920, y: 1080]
[CRITICAL] Couldn't create eglSurface: 12291

and nothing can be done besides killing the process with SIGUSR1. also strange that surface dimension is wrong when monitor wakes up.

Version: hyprlock-git 0.4.0.r9.ge5f0b56d-1

full hyprlock log ``` [LOG] | got iface: wl_seat v9 [LOG] > Bound to wl_seat v9 [LOG] | got iface: wl_data_device_manager v3 [LOG] | got iface: wl_compositor v6 [LOG] > Bound to wl_compositor v6 [LOG] | got iface: wl_subcompositor v1 [LOG] | got iface: wl_shm v1 [LOG] | got iface: wp_viewporter v1 [LOG] > Bound to wp_viewporter v1 [LOG] | got iface: wp_tearing_control_manager_v1 v1 [LOG] | got iface: wp_fractional_scale_manager_v1 v1 [LOG] > Bound to wp_fractional_scale_manager_v1 v1 [LOG] | got iface: zxdg_output_manager_v1 v3 [LOG] | got iface: wp_cursor_shape_manager_v1 v1 [LOG] > Bound to wp_cursor_shape_manager_v1 v1 [LOG] | got iface: zwp_idle_inhibit_manager_v1 v1 [LOG] | got iface: zwp_relative_pointer_manager_v1 v1 [LOG] | got iface: zxdg_decoration_manager_v1 v1 [LOG] | got iface: wp_alpha_modifier_v1 v1 [LOG] | got iface: zwlr_gamma_control_manager_v1 v1 [LOG] | got iface: ext_foreign_toplevel_list_v1 v1 [LOG] | got iface: zwp_pointer_gestures_v1 v3 [LOG] | got iface: zwlr_foreign_toplevel_manager_v1 v3 [LOG] | got iface: zwp_keyboard_shortcuts_inhibit_manager_v1 v1 [LOG] | got iface: zwp_text_input_manager_v3 v1 [LOG] | got iface: zwp_pointer_constraints_v1 v1 [LOG] | got iface: zwlr_output_power_manager_v1 v1 [LOG] | got iface: xdg_activation_v1 v1 [LOG] | got iface: ext_idle_notifier_v1 v1 [LOG] | got iface: ext_session_lock_manager_v1 v1 [LOG] > Bound to ext_session_lock_manager_v1 v1 [LOG] | got iface: zwp_input_method_manager_v2 v1 [LOG] | got iface: zwp_virtual_keyboard_manager_v1 v1 [LOG] | got iface: zwlr_virtual_pointer_manager_v1 v2 [LOG] | got iface: zwlr_output_manager_v1 v4 [LOG] | got iface: org_kde_kwin_server_decoration_manager v1 [LOG] | got iface: hyprland_focus_grab_manager_v1 v1 [LOG] | got iface: zwp_tablet_manager_v2 v1 [LOG] | got iface: zwlr_layer_shell_v1 v5 [LOG] | got iface: wp_presentation v1 [LOG] | got iface: xdg_wm_base v6 [LOG] | got iface: zwlr_data_control_manager_v1 v2 [LOG] | got iface: zwp_primary_selection_device_manager_v1 v1 [LOG] | got iface: xwayland_shell_v1 v1 [LOG] | got iface: wl_drm v2 [LOG] | got iface: zwp_linux_dmabuf_v1 v5 [LOG] > Bound to zwp_linux_dmabuf_v1 v5 [LOG] | got iface: hyprland_toplevel_export_manager_v1 v2 [LOG] | got iface: zwp_text_input_manager_v1 v1 [LOG] | got iface: hyprland_global_shortcuts_manager_v1 v1 [LOG] | got iface: zwlr_screencopy_manager_v1 v3 [LOG] > Bound to zwlr_screencopy_manager_v1 v3 [LOG] | got iface: wp_drm_lease_device_v1 v1 [LOG] | got iface: wl_output v4 [LOG] > Bound to wl_output v4 [LOG] [core] dmabufFeedbackMainDevice [LOG] output 50 make Samsung Electric Company model LS28AG700N [LOG] output 50 name DP-2 [LOG] output 50 description Samsung Electric Company LS28AG700N H4ZRC00151 (DP-2) [LOG] output 50 done [LOG] Running on Hyprland [LOG] Locking session [WARN] Extension: .jpg [LOG] onLockLocked called [LOG] Got fractional scale: 1 [LOG] Got fractional scale: 1.5 [LOG] configure with serial 52351 [LOG] Configuring surface for logical [Vector2D: x: 2560, y: 1440] and pixel [Vector2D: x: 3840, y: 2160] [LOG] Got fractional scale: 1.5 [LOG] configure with serial 52351 [LOG] Configuring surface for logical [Vector2D: x: 2560, y: 1440] and pixel [Vector2D: x: 3840, y: 2160] [LOG] Framebuffer created, status 36053 [LOG] Framebuffer created, status 36053 [LOG] Framebuffer created, status 36053 [LOG] | removed iface 50 [LOG] | got iface: wl_output v4 [LOG] > Bound to wl_output v4 [LOG] output 51 make null model null [LOG] output 51 name HEADLESS-1 [LOG] output 51 description Headless output 1 [LOG] output 51 done [LOG] Creating a surface dynamically for output as we are already locked [LOG] Got fractional scale: 1 [LOG] Got fractional scale: 2 [LOG] configure with serial 52361 [LOG] Configuring surface for logical [Vector2D: x: 960, y: 540] and pixel [Vector2D: x: 1920, y: 1080] [CRITICAL] Couldn't create eglSurface: 12291 [LOG] Unlocking with a SIGUSR1 [LOG] Unlocking session [LOG] Unlocked, exiting! ```
hyprctl systeminfo ``` Hyprland, built from branch main at commit 22138ac259b2f4253be29311f6b60fbd675074b4 (workspaces: don't try to reopen special workspaces (6802)). Date: Sun Jul 7 21:27:18 2024 Tag: v0.41.2-25-g22138ac2, commits: 4911 flags: (if any) System Information: System name: Linux Node name: doom Release: 6.9.8-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Fri, 05 Jul 2024 22:11:24 +0000 GPU information: 2d:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev c8) (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: hy3 by outfoxxed ver 0.1 hyprexpo by Vaxry ver 1.0 ```

Configuration for both hyprlock and hypridle is basically copy pasted from wiki. If that's problem of my configuration - apologies.. :(

PaideiaDilemma commented 1 month ago

It is trying to create an eglSurface for a headless output, which was added by hyprland because no monitor is present. Works on my end, even when setting hyprctl keyword monitor "HEADLESS-1, 1920x1080, 0x0, 2", which will result in the exact same log [LOG] Configuring surface for logical [Vector2D: x: 960, y: 540] and pixel [Vector2D: x: 1920, y: 1080]

12291 is an egl error for EGL_BAD_ALLOC. Don't know why that happens for you. Which graphics are you on?

sysashi commented 1 month ago

It is trying to create an eglSurface for a headless output, which was added by hyprland because no monitor is present. Works on my end, even when setting hyprctl keyword monitor "HEADLESS-1, 1920x1080, 0x0, 2", which will result in the exact same log [LOG] Configuring surface for logical [Vector2D: x: 960, y: 540] and pixel [Vector2D: x: 1920, y: 1080]

12291 is an egl error for EGL_BAD_ALLOC. Don't know why that happens for you. Which graphics are you on?

I'm on mesa-git mesa-git 24.2.0_devel.191653.0ce2e6594dd.d41d8cd-1 GPU: Radeon 7900 XTX if that's what you mean..

Thanks for looking into it by the way!

seems like there is a high chance that it is mesa/my gpu problem? and perhaps combination with my monitor

eglinfo -B -p wayland output ``` Wayland platform: EGL API version: 1.5 EGL vendor string: Mesa Project EGL version string: 1.5 EGL client APIs: OpenGL OpenGL_ES OpenGL core profile vendor: AMD OpenGL core profile renderer: AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 18.1.8, DRM 3.57, 6.9.8-arch1-1) OpenGL core profile version: 4.6 (Core Profile) Mesa 24.2.0-devel (git-0ce2e6594d) OpenGL core profile shading language version: 4.60 OpenGL compatibility profile vendor: AMD OpenGL compatibility profile renderer: AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 18.1.8, DRM 3.57, 6.9.8-arch1-1) OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 24.2.0-devel (git-0ce2e6594d) OpenGL compatibility profile shading language version: 4.60 OpenGL ES profile vendor: AMD OpenGL ES profile renderer: AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 18.1.8, DRM 3.57, 6.9.8-arch1-1) OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.2.0-devel (git-0ce2e6594d) OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20 ```