Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hyprland shows lockscreen crash screen if locked while monitors disconnected/Shows Desktop if disconnected while locked #678

Open
Flat opened this issue Feb 4, 2025 · 9 comments
Labels
bug Something isn't working

Comments

@Flat
Copy link

Flat commented Feb 4, 2025

Regression?

No

Hyprlock Info and Version

Hyprlock config
general {
    grace = 30
    ignore_empty_input = true
}

background {
    monitor = 
    color = rgba(66, 66, 66, 1.0)
}

input-field {
    monitor =
    size = 400, 75
    outline_thickness = 3
    dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
    dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
    dots_center = false
    dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
    outer_color = rgb(151515)
    inner_color = rgba(200, 200, 200, 1.0)
    font_color = rgba(10, 10, 10, 1.0)
    fade_on_empty = false
    fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
    placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
    hide_input = false
    rounding = -1 # -1 means complete rounding (circle/oval)
    check_color = rgba(204, 136, 34, 1.0)
    fail_color = rgba(204, 34, 34, 1.0) # if authentication failed, changes outer_color and fail message color
    fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
    fail_transition = 300 # transition time in ms between normal outer_color and fail_color
    capslock_color = -1
    numlock_color = -1
    bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
    invert_numlock = false # change color if numlock is off
    swap_font_color = false # see below

    position = 0, -20
    halign = center
    valign = center
}

Compositor Info and Version

System/Version info
Hyprland 0.47.0 built from branch main at commit 5e7292434a9189d0550187f8a6fb687848194a41  (compositor: guard null ws in updating fade).
Date: Mon Feb 3 17:36:10 2025
Tag: v0.47.0-44-g5e729243, commits: 5786
built against:
 aquamarine 0.7.2
 hyprlang 0.6.0
 hyprutils 0.5.0
 hyprcursor 0.1.11
 hyprgraphics 0.1.1


no flags were set


System Information:
System name: Linux
Release: 6.13.1-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Sun, 02 Feb 2025 01:02:29 +0000


GPU information: 
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD103 [GeForce RTX 4080 SUPER] [10de:2702] (rev a1) (prog-if 00 [VGA controller])
NVRM version: NVIDIA UNIX x86_64 Kernel Module  570.86.16  Fri Jan 24 21:25:51 UTC 2025


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:

Description

When Hyprlock is activated while monitors are disconnected, i.e. via Hypridle, Hyprland will show the "oops your locker crashed" screen, I will then have to switch VTT and then switch back for Hyprlock to be displayed.

Additionally, if Hyprlock is active while monitors are disconnected, and then reconnected, one of the monitors will be shown unlocked (desktop is visible, not interactive) while the lockscreen will properly be shown on the other.

How to reproduce

Unplug monitors or use KVM switch, and then activate Hyprlock. Alternatively Active Hyprlock and replug monitors for desktop visibility issue.

Crash reports, logs, images, videos

hypridle.log

@Flat Flat added the bug Something isn't working label Feb 4, 2025
@PaideiaDilemma
Copy link
Collaborator

HI!

The first one is a Hyprland issue.
I can reproduce it with swaylock as well.
I think it is a regression, since I remember testing this before.

I can't reproduce the second one. That is an old problem as well.
Parts of it need to be fixed in hyprland and that is on the todo list.
However, hyprlock should immediately render the background color. Idk why it does not do that.
Your hypridle logs would be useful for this problem.
Also please post your hyprlock version.

@Flat
Copy link
Author

Flat commented Feb 5, 2025

Thank you for that info, I had assumed that it would be hyprlock to redraw on the monitor changes, but it is actually Hyprland that does that?

HI!

The first one is a Hyprland issue. I can reproduce it with swaylock as well. I think it is a regression, since I remember testing this before.

Do you happen to know if there is an open issue in Hyprland for that? I hadn't seen one. I've been using Hyprland since around October of last year and has always been an issue for me.

I can't reproduce the second one. That is an old problem as well. Parts of it need to be fixed in hyprland and that is on the todo list. However, hyprlock should immediately render the background color. Idk why it does not do that. Your hypridle logs would be useful for this problem. Also please post your hyprlock version.

Hyprlock version v0.6.2

@PaideiaDilemma
Copy link
Collaborator

Thank you for that info, I had assumed that it would be hyprlock to redraw on the monitor changes, but it is actually Hyprland that does that?

Wayland is a protocol that defines how clients and compositors handle that sort of stuff. To successfully draw on a monitor, both sides need to play ball.

Do you happen to know if there is an open issue in Hyprland for that? I hadn't seen one. I've been using Hyprland since around October of last year and has always been an issue for me.

I will check later and open one if none exists yet.

For this issue, it's actually 3 different issue from what I gathered.

  1. The hyprland issue when starting a lockscreen while dpms is off.
  2. Unplugging/Removing an output may result in dangling pointers #684
  3. The background not immediately getting a new frame (could also be 2 perhaps?)

@PaideiaDilemma
Copy link
Collaborator

Fixed number 1: hyprwm/Hyprland#9399.
Number 2: #686
Number 3: #687

@skarpinis
Copy link

Tried the latest git version still hyprlock crash 😞

@Flat
Copy link
Author

Flat commented Feb 23, 2025

You'll also need to be running the latest git version of hyprland. It is working properly now for me.

@PaideiaDilemma
Copy link
Collaborator

@skarpinis Number 2 is still missing

@skarpinis
Copy link

You'll also need to be running the latest git version of hyprland. It is working properly now for me.

Tried also 😞

@skarpinis
Copy link

[LOG] found 4 rules
[LOG] wayland done, registering dbus
[LOG] Using dbus path /org/freedesktop/login1/session/_317
[ERR] Couldn't connect to session dbus
err: [org.freedesktop.DBus.Error.FileExists] Failed to request bus name (File exists) always see this error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants