My personal project, dim (packaged as dim-screen), uses the Smithay Client Toolkit to access the single pixel buffer manager (spbm) global and covers the screen with a certain opacity black in order to dim the screen, but it seems newer versions of Hyprland fail to give it access to said spbm global (due to wlroots fork?).
This did not occur in Hyprland v0.36 through v0.39 (didn't test v0.40) but fails on both v0.41.1 and hyprland-git (using solopasha's COPR).
I am not sure if this would need a fix in Hyprland or the Smithay toolkit/wayland-protocols Rust crates. (Or, I am just doing something incorrectly)
How to reproduce
Install the dim package (see installing), or preferably for a better stacktrace, build dim from master, and attempt to run it with RUST_BACKTRACE=full. See panic because wp_single_pixel_buffer_manager_v1 is NotPresent.
Regression?
Yes
System Info and Version
System/Version info
Using slightly modified default config, just to match my personal sway config for debugging ```sh Hyprland, built from branch at commit 9e781040d9067c2711ec2e9f5b47b76ef70762b3 (props: bump version to 0.41.1). Date: Thu Jun 13 09:54:06 2024 Tag: v0.41.1, commits: 4818 flags: (if any) System Information: System name: Linux Node name: fedora-fw Release: 6.9.4-200.fc40.x86_64 Version: #1 SMP PREEMPT_DYNAMIC Wed Jun 12 13:33:34 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: NAME="Fedora Linux" VERSION="40 (Forty)" ID=fedora VERSION_ID=40 VERSION_CODENAME="" PLATFORM_ID="platform:f40" PRETTY_NAME="Fedora Linux 40 (Forty)" ANSI_COLOR="0;38;2;60;110;180" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:40" DEFAULT_HOSTNAME="fedora" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/" SUPPORT_URL="https://ask.fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=40 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=40 SUPPORT_END=2025-05-13 plugins: ======Config-Start====== Config File: /home/mhdez/.config/hypr/hyprland.conf: Read Succeeded # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,auto monitor=eDP-1,preferred,auto,1.5 # Variables $mainMod = SUPER $specialMod = SUPER_SHIFT $left = H $up = K $down = J $right = L # Programs $calculator = gnome-calculator $search = fuzzel $term = foot $files = $term ranger $web = firefox $webPriv = firefox --private-window # Long-running processes exec-once = /usr/libexec/polkit-gnome-authentication-agent-1 exec-once = ~/.local/share/fn-scripts/auto_brightness.sh exec-once = ~/.local/share/fn-scripts/battery_watch.sh BAT1 exec-once = wl-paste -w ~/.local/share/fn-scripts/clipboard_write.sh exec-once = kanshi exec-once = kdeconnect-indicator exec-once = swayidle -w exec-once = waybar exec-once = wlsunset -s 21:00 -S 8:00 -t 4200 # set up correct theme $setupTheme = ~/.local/share/fn-scripts/theme_setup.sh $startDarkman = systemctl --user restart darkman exec-once = 'pgrep darkman && $startDarkman || $setupTheme' ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 ##################### ### LOOK AND FEEL ### ##################### general { gaps_in = 3 gaps_out = 6 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) resize_on_border = true # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false layout = dwindle } decoration { rounding = 6 active_opacity = 1.0 inactive_opacity = 0.92 drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 4 passes = 1 vibrancy = 0.1696 } } animations { enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 4, myBezier animation = windowsOut, 1, 4, default, popin 80% animation = border, 1, 4, default animation = borderangle, 1, 4, default animation = fade, 1, 4, default animation = workspaces, 1, 4, default } dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this } misc { force_default_wallpaper = 0 disable_hyprland_logo = true } ############# ### INPUT ### ############# input { kb_layout = us follow_mouse = 1 sensitivity = 0 touchpad { natural_scroll = true } } gestures { workspace_swipe = true } device { name = epic-mouse-v1 sensitivity = -0.5 } #################### ### KEYBINDINGSS ### #################### bind = $mainMod, T, exec, $term bind = ALT, T, exec, $term bind = $mainMod, F, exec, $web bind = $specialMod, F, exec, $webPriv bind = $mainMod, X, killactive, bind = $specialMod, ESC, exit, bind = $mainMod, B, exec, $files bind = $mainMod, V, togglefloating, bind = $mainMod, SPACE, exec, $search # Move focus with mainMod + arrow keys bind = $mainMod, $left, movefocus, l bind = $mainMod, $right, movefocus, r bind = $mainMod, $up, movefocus, u bind = $mainMod, $down, movefocus, d # 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 # Example special workspace (scratchpad) bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod SHIFT, S, movetoworkspace, special:magic # 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 ############################## ### WINDOWS AND WORKSPACES ### ############################## # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. ############# ### HACKS ### ############# debug { disable_scale_checks = true } ======Config-End======== ```Description
My personal project, dim (packaged as
dim-screen
), uses the Smithay Client Toolkit to access the single pixel buffer manager (spbm) global and covers the screen with a certain opacity black in order to dim the screen, but it seems newer versions of Hyprland fail to give it access to said spbm global (due to wlroots fork?).This did not occur in Hyprland
v0.36
throughv0.39
(didn't testv0.40
) but fails on bothv0.41.1
andhyprland-git
(using solopasha's COPR).Here is the issue for reference (on my comment with better stacktrace): single_pixel_buffer_manager_v1 error on new Hyprland v0.41
I am not sure if this would need a fix in Hyprland or the Smithay toolkit/wayland-protocols Rust crates. (Or, I am just doing something incorrectly)
How to reproduce
Install the dim package (see installing), or preferably for a better stacktrace, build dim from master, and attempt to run it with
RUST_BACKTRACE=full
. See panic becausewp_single_pixel_buffer_manager_v1
isNotPresent
.Crash reports, logs, images, videos
No response