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.65k stars 903 forks source link

Race condition on lockdead screen #8428

Open aacebedo opened 3 days ago

aacebedo commented 3 days ago

Already reported ? *

Regression?

No

System Info and Version

System/Version info ```sh Hyprland 0.45.0 built from branch at commit dirty (). Date: 2024-11-09 Tag: , commits: built against aquamarine 0.4.3 flags set: debug System Information: System name: Linux Node name: matar Release: 6.11.7 Version: #1-NixOS SMP PREEMPT_DYNAMIC Fri Nov 8 15:31:04 UTC 2024 GPU information: c1:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c4) (prog-if 00 [VGA controller]) os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20241109.76612b1" CPE_NAME="cpe:/o:nixos:nixos:24.11" DEFAULT_HOSTNAME="matar.pegasus.acebedo.fr" DOCUMENTATION_URL="https://nixos.org/learn.html" HOME_URL="https://nixos.org/" ID=nixos ID_LIKE="" IMAGE_ID="" IMAGE_VERSION="" LOGO="nix-snowflake" NAME=NixOS PRETTY_NAME="NixOS 24.11 (Vicuna)" SUPPORT_URL="https://nixos.org/community.html" VARIANT="" VARIANT_ID="" VENDOR_NAME=NixOS VENDOR_URL="https://nixos.org/" VERSION="24.11 (Vicuna)" VERSION_CODENAME=vicuna VERSION_ID="24.11" plugins: hyprfocus by Vortex ver 2.0 hyprsplit by shezdy ver 1.0 Hyprspace by KZdkm ver 0.1 ```

Description

When running on slow machine (laptop in power save for instance), lockdead screen can be displayed before the actual lockscreen (tested with gtklock)

How to reproduce

Crash reports, logs, images, videos

No response

aacebedo commented 3 days ago

Trying to solve it with #8427

Edit: solution of the PR is incorrect

PaideiaDilemma commented 3 days ago

Does that happen on sway as well?

aacebedo commented 3 days ago

Does that happen on sway as well?

I didn't check on sway trying now.

Edit: tested on sway. I do not see the typical red screen of death which usually happens in those cases. But I can see a short black screen before the lock arrives.

PaideiaDilemma commented 1 day ago

But I can see a short black screen before the lock arrives.

ok yeah that is the same issue.

I need to check river as well, since ifreund developed to session lock protocol, so maybe his implementation does something different.

Hopefully we find a way to properly fix this. I think the protocol should specify more clearly how to handle the handoff of surfaces being displayed when locking the screen. Maybe we can work towards that and involve other people in the space.