Hyprland, built from branch main at commit 83a334f97df4389ca30cb63e50317a66a82562b9 (core: Move to C++26 and use native_handle to CLOEXEC the debug fd (7219)).
Date: Thu Aug 8 11:54:41 2024
Tag: v0.42.0-1-g83a334f9, commits: 5070
flags: (if any)
System Information:
System name: Linux
Node name: archlinux
Release: 6.10.3-arch1-2
Version: #1 SMP PREEMPT_DYNAMIC Tue, 06 Aug 2024 07:21:19 +0000
GPU information:
2d:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD102 [GeForce RTX 4090] [10de:2684] (rev a1) (prog-if 00 [VGA controller])
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 560.31.02 Release Build (archlinux_builder@archlinux) Wed Jul 31 08:27:06 PM CEST 2024
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:
split-monitor-workspaces by Duckonaut ver 1.2.0
======Config-Start======
Config File: /home/beau/.config/hypr/hyprland.conf: Read Succeeded
# This is an example Hyprland config file.
#
# Refer to the wiki for more information.
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=DP-3, 3440x1440@144, 0x441, 1, vrr,1
monitor=DP-1, 3440x1440@165, 3440x441, 1, vrr,1
monitor=DP-2, 2560x1080@75, 6880x0, 1, transform,3, vrr,1
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
source=~/.config/hypr/execs.conf
# Set programs that you use
$terminal = kitty
$fileManager = dolphin
$menu = rofi -show drun
# Some default env vars.
source=~/.config/hypr/env.conf
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = false
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 3
gaps_out = 5
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
drop_shadow = true
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = true
# 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 = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_status = master
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = false
}
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = 2 # Set to 0 or 1 to disable the anime mascot wallpapers
mouse_move_enables_dpms=true
key_press_enables_dpms=true
vrr = 1
#no_direct_scanout=true
initial_workspace_tracking=0
font_family=BlexMono Nerd Font Mono
}
xwayland {
force_zero_scaling = true
}
render {
explicit_sync = false
}
# opengl {
# nvidia_anti_flicker = false
# }
plugin {
split-monitor-workspaces {
count = 10
}
}
# workspace = 1, monitor:DP-3, default:true, persistent:true
# workspace = 2, monitor:DP-3, default:true, persistent:true
# workspace = 3, monitor:DP-3, default:true, persistent:true
# workspace = 4, monitor:DP-3, default:true, persistent:true
# workspace = 5, monitor:DP-3, default:true, persistent:true
# workspace = 6, monitor:DP-1, default:true, persistent:true
# workspace = 7, monitor:DP-1, default:true, persistent:true
# workspace = 8, monitor:DP-1, default:true, persistent:true
# workspace = 9, monitor:DP-1, default:true, persistent:true
# workspace = 10, monitor:DP-1, default:true, persistent:true
# workspace = 11, monitor:DP-2, default:true, persistent:true
# workspace = 12, monitor:DP-2, default:true, persistent:true
# workspace = 13, monitor:DP-2, default:true, persistent:true
# workspace = 14, monitor:DP-2, default:true, persistent:true
# workspace = 15, monitor:DP-2, default:true, persistent:true
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
# device {
# name = epic-mouse-v1
# sensitivity = -0.5
# }
source=~/.config/hypr/windowrules.conf
source=~/.config/hypr/keybinds.conf
Config File: /home/beau/.config/hypr/execs.conf: Read Succeeded
# Bar, notifications, wallpaper utility
exec-once = waybar & swaync & hyprpaper & hypridle
# Clipboard
# exec-once = klipper
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
# Authentication agent (password popup)
exec-once = /usr/lib/polkit-kde-authentication-agent-1
# Apps to start
exec-once = firefox & steam-screensaver-fix-runtime & vesktop & thunderbird
# Load plugins
exec-once = hyprpm reload -n
# Prevent sleep when playing games with controller
exec-once = wljoywake -t 10
Config File: /home/beau/.config/hypr/env.conf: Read Succeeded
env = XCURSOR_THEME,Bibata-Modern-Classic
env = XCURSOR_SIZE,24
env = HYPRCURSOR_THEME,HyprBibataModernClassicSVG
env = HYPRCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt6ct
env = WLR_NO_HARDWARE_CURSORS,1
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = __GL_GSYNC_ALLOWED,1
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
Config File: /home/beau/.config/hypr/windowrules.conf: Read Succeeded
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
# Kitty transparrency
windowrule = opacity 0.9 override,^(kitty)$ # set opacity to 0.9 active for kitty
# Xwaylandvideobridge fix
windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ss
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
windowrulev2 = noblur,class:^(xwaylandvideobridge)$s
# Unreal fix
# Unreal 5?
windowrulev2=unset,class:^(UnrealEditor)$,title:^\w*$
windowrulev2=noinitialfocus,class:^(UnrealEditor)$,title:^\w*$
windowrulev2=suppressevent activate,class:^(UnrealEditor)$,title:^\w*$
# Unreal 4
windowrulev2=unset,class:^(UE4Editor)$,title:^\w*$
windowrulev2=noinitialfocus,class:^(UE4Editor)$,title:^\w*$
windowrulev2=suppressevent activate,class:^(UE4Editor)$,title:^\w*$
# Jetbrains product fixes
# TODO: somehow fix this if needed (fakefullscreen has been removed and PROBABLY been replaced with syncFullscreen/fullscreenState X Y)
# windowrule = fakefullscreen, class:^(jetbrains.*)$
# Possible fix for floating popups made by san
windowrulev2=nofocus,class:^(steamachievementnotifierv.*)$,title:^.*: Notification$
windowrulev2=noblur,class:^(steamachievementnotifierv.*)$,title:^.*: Notification$
windowrulev2=nofocus,class:^(steamachievementnotifierv.*)$,title:^.*: Now Tracking$
windowrulev2=noblur,class:^(steamachievementnotifierv.*)$,title:^.*: Now Tracking$
# new Steam notification fix
# windowrulev2=idleinhibit none,class:^(steam)$,title:^(notificationtoasts_.*)$
windowrulev2=nofocus,class:^(steam)$,title:^(notificationtoasts_.*)$
Config File: /home/beau/.config/hypr/keybinds.conf: Read Succeeded
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
# bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
# 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
# Enable again once split workspaces plugin can build without crashing hyprland
# Switch workspaces on focused screen with mainMod + [0-9]
bind = $mainMod, 1, split-workspace, 1
bind = $mainMod, 2, split-workspace, 2
bind = $mainMod, 3, split-workspace, 3
bind = $mainMod, 4, split-workspace, 4
bind = $mainMod, 5, split-workspace, 5
bind = $mainMod, 6, split-workspace, 6
bind = $mainMod, 7, split-workspace, 7
bind = $mainMod, 8, split-workspace, 8
bind = $mainMod, 9, split-workspace, 9
bind = $mainMod, 0, split-workspace, 10
# Move active window to a workspace on current screen with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
bind = $mainMod SHIFT, 0, split-movetoworkspace, 10
# Move active window to other displays
bind = $mainMod SHIFT, left, split-changemonitor, prev
bind = $mainMod SHIFT, right, split-changemonitor, +1
# Standby shortcut
bind = $mainMod SHIFT, L, exec, /mnt/crucial-ssd/shell-scripts/standby-wayland.sh
# Screenshot
bind = CTRL, PRINT, exec, hyprshot -m region --clipboard-only
# Rofi Clipboard
bind = $mainMod SHIFT, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
# Audio control
binde =, XF86AudioRaiseVolume, exec, wpctl set-volume -p $(hyprctl activewindow -j | jq -r '.pid') -l 1 5%+
binde =, XF86AudioLowerVolume, exec, wpctl set-volume -p $(hyprctl activewindow -j | jq -r '.pid') -l 1 5%-
bind =, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
# # Example special workspace (scratchpad)
# bind = $mainMod, S, togglespecialworkspace, magic
# bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
# Something doesn't seem to like this (probably nvidia driver)
# 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
# Fullscreen a window (mostly for games)
bind = $mainMod, F, fullscreen
======Config-End========
Regression?
Yes
System Info and Version
System/Version info
Description
After updating, it seems that the default for explicit sync has been changed to on by default. This seems to cause a weird freezing issue on at least nvidia gpu's while using the 560.31.02 driver with the open kernel module. The screen i had focus on would freeze after 10 - 20 seconds of focus, and moving to another screen with the mouse or shortcuts did still work, until all my screens froze. This caused hyprland to crash. Disabling render:explicit_sync seems to fix this issue.
I think this is just an issue with the Nvidia driver not properly supporting explicit sync for wayland yet, so for now I'd see this more as a bug report for people who run into this issue to quickly be able to find what can fix the issue for them
How to reproduce
have an NVIDIA gpu with the NVIDIA 560.31.02 driver (may also be the case with older driver versions) and the open kernel modules (did not test with the "old" closed source kernel modules).
Once loaded, your focused screen will freeze after a little bit, but you can still move your mouse if you have another screen
After all screens are frozen, hyprland will crash to the TTY (I do have SDDM, but it did not go to SDDM, which it does do when i normally have a hyprland crash)
Crash reports, logs, images, videos
seems like there is no crash report of this, if needed I will try and get it to generate.