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
19.53k stars 818 forks source link

Broken Pipe crashes #6876

Open dank-foss opened 1 month ago

dank-foss commented 1 month ago

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch openSUSE at commit 0000000000000000000000000000000000000000 (Built for x86_64-suse-linux). Date: Thu Jan 01 00:00:00 1970 Tag: 0.41.2, commits: -1 flags: (if any) System Information: System name: Linux Node name: localhost.localdomain Release: 6.9.7-1-default Version: #1 SMP PREEMPT_DYNAMIC Fri Jun 28 05:50:47 UTC 2024 (a5efffa) GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208B [GeForce GT 710] [10de:128b] (rev a1) (prog-if 00 [VGA controller]) os-release: NAME="openSUSE Tumbleweed" # VERSION="20240709" ID="opensuse-tumbleweed" ID_LIKE="opensuse suse" VERSION_ID="20240709" PRETTY_NAME="openSUSE Tumbleweed" ANSI_COLOR="0;32" # CPE 2.3 format, boo#1217921 CPE_NAME="cpe:2.3:o:opensuse:tumbleweed:20240709:*:*:*:*:*:*:*" #CPE 2.2 format #CPE_NAME="cpe:/o:opensuse:tumbleweed:20240709" BUG_REPORT_URL="https://bugzilla.opensuse.org" SUPPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org" DOCUMENTATION_URL="https://en.opensuse.org/Portal:Tumbleweed" LOGO="distributor-logo-Tumbleweed" plugins: ======Config-Start====== Config File: /home/baka/.config/hypr/hyprland.conf: Read Succeeded # ####################################################################################### # AUTOGENERATED HYPR CONFIG. # PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, # OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. # ####################################################################################### # This is an example Hyprland config file. # Refer to the wiki for more information. # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ # Please note not all available settings / options are set here. # For a full list, see the wiki # You can split this configuration into multiple files # Create your files separately and then link them to this file like this: # source = ~/.config/hypr/myColors.conf ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,auto ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = kitty $fileManager = nautilus $menu = wofi --show drun $webbrowser = firefox ################# ### AUTOSTART ### ################# # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: # exec-once = wal -i ~/Wallpapers/10_-_IkFbADX.png exec-once = swaync exec-once = lxsession -s Wayland -e Hyprland exec-once = swww-daemon --format xrgb exec-once = swww restore exec-once = waybar # exec-once = nm-applet & # exec-once = waybar & hyprpaper & firefox ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 5 gaps_out = 3, 10, 10, 10 border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgb(9F7967) rgb(708F9D) 50deg col.inactive_border = rgb(837C6B) rgn(8A8E72) 45deg # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false layout = dwindle } dwindle { force_split = 2 } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 10 # Change transparency of focused and unfocused windows active_opacity = 0.8 inactive_opacity = 0.8 drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { blurls = waybar blurls = rofi enabled = true size = 4 passes = 2 vibrancy = 0.1696 } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = true # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more bezier = myBezier, .71,.78,.3,1.07 #.81,1.29,.68,.96 #0.76, 0, 0.24, 1 animation = windows, 1, 4, myBezier animation = windowsOut, 1, 4, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 4, default } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more 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 } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { natural_scroll = false } } # https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { workspace_swipe = false } # 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 } #################### ### KEYBINDINGSS ### #################### # See https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = SUPER # Sets "Windows" key as main modifier # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Screen Shots bind = $mainMod,Print, exec, grim -g "$(slurp)" - | wl-copy && notify-send "Copied To Clipboard" bind = ,Print, exec, grim -g "$(slurp)" #windows # bind = SUPER, C, movetoworkspace, special bind = SUPER_SHIFT, C, togglespecialworkspace bind = SUPER_SHIFT, l, movewindow, r bind = SUPER_SHIFT, h, movewindow, l bind = SUPER_SHIFT, k, movewindow, u bind = SUPER_SHIFT, j, movewindow, d bind = $mainMod, RETURN, exec, $terminal bind = $mainMod, W, exec, $webbrowser bind = $mainMod, Q, 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, t, togglesplit, # dwindle # Move focus with mainMod + arrow keys bind = $mainMod, l, movefocus, l bind = $mainMod, h, movefocus, r bind = $mainMod, k, movefocus, u bind = $mainMod, j, 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. ======Config-End======== ```

Description

Im on opensuse tumbleweed, Before this upgrade (i dont know how to check the previous hyprland version, hence i wasnt able to bisect either), everything worked flawlessly before system upgrade, no changes were made to the config after the upgrade, however now i frequently (but irregularly, i cant find a pattern) get flickering windows, occasionally cursor casually disappears, sometimes it gets deformed (either enlarged or stretched ), eventually the hyprland session crashes closing (apparently) every program, the only recurring find is a "broken pipe", im still pretty new to wayland so i dont know how to figure which pipe exactly is broken

How to reproduce

How reproduce- I am not quite sure, although hyprland does regularly crash on my setup

Crash reports, logs, images, videos

hyprlandCrashReport2043.txt hyprlandCrashReport15323.txt

vaxerski commented 1 month ago

without a bisect we wont be able to help much. The crash looks like the gpu driver gave up

dank-foss commented 1 month ago

can you please explain how to find the hash for any release, i will add a bisect as soon as possible, thx a lot for the quick responses

fufexan commented 1 month ago

https://github.com/hyprwm/Hyprland/commit/918d8340afd652b011b937d29d5eea0be08467f5 this is the commit of the 0.41.2 tag.

dank-foss commented 1 month ago

HEAD is now at eef207ce output: fix cursors disappearing after dpms (#6659) make clear make[1]: Entering directory '/home/baka/Hyprland' rm -rf build rm -f ./protocols/.h ./protocols/.c ./protocols/.cpp ./protocols/.hpp rm -rf ./subprojects/wlroots-hyprland/build make[1]: Leaving directory '/home/baka/Hyprland' make release make[1]: Entering directory '/home/baka/Hyprland' cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:STRING=/usr/local -S . -B ./build -G Ninja Not searching for unused variables given on the command line. CMake Warning (dev) at /usr/share/cmake/Modules/GNUInstallDirs.cmake:253 (message): Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. Please enable at least one language before including GNUInstallDirs. Call Stack (most recent call first): CMakeLists.txt:5 (include) This warning is for project developers. Use -Wno-dev to suppress it.

-- The C compiler identification is GNU 13.3.0 -- The CXX compiler identification is GNU 13.3.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Gathering git info -- Setting up wlroots -- Found PkgConfig: /usr/bin/pkg-config (found version "2.2.0") -- Found WaylandScanner at /usr/bin/wayland-scanner -- Found wayland-protocols at //usr/share/wayland-protocols -- Configuring Hyprland in Release with CMake -- Checking deps... -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Found OpenGL: /usr/lib64/libOpenGL.so found components: GLES3 -- Checking for modules 'xkbcommon;uuid;wayland-server;wayland-client;wayland-cursor;wayland-protocols;cairo;pango;pangocairo;pixman-1;libdrm;libinput;hwdata;libseat;libdisplay-info;libliftoff;libudev;gbm;hyprlang>=0.3.2;hyprcursor>=0.1.7;hyprutils>=0.1.4' -- Package 'uuid' not found -- Package 'libdisplay-info' not found -- Package 'libliftoff' not found -- Package 'hyprlang' not found -- Package 'hyprcursor' not found -- Package 'hyprutils' not found CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:645 (message): The following required packages were not found:

Call Stack (most recent call first): /usr/share/cmake/Modules/FindPkgConfig.cmake:873 (_pkg_check_modules_internal) CMakeLists.txt:111 (pkg_check_modules)

I'm dumb, why am i unable to build hyprland

gksudolol commented 1 month ago

I'm dumb, why am i unable to build hyprland

The following required packages were not found:

    uuid
    libdisplay-info
    libliftoff
    hyprlang>=0.3.2
    hyprcursor>=0.1.7
    hyprutils>=0.1.4
dank-foss commented 1 month ago

do i need the devel packages or are the normal ones good enough?

vaxerski commented 1 month ago

devel

dank-foss commented 1 month ago

There are only 'skip'ped commits left to test. The first bad commit could be any of: 85f7f69046c07c61f59b0ef7cccd01e88b316413 635a02d83fe9d598cf5f6aba47e672647608fb76 fe4737fb9d578400ecfc63dc6ab4d684993362b8 d7aed240db408259228bf09708986c82bdca23eb eeebbc0e7ee842a9572fa533cb8d01a8114f9ec9 4f26ae70fde3b4cd5ad8ef096a7f0cb6c2dc5528 c98acaed62db806c41b7d1b5ad63a89f18bce70a 51b0da2c0daca17adcfdd6df9d0ee2feb88121b1 67a5377b41f121017ed4295a3a592a19b4b7fbfb 7cf810b1813a610e25f169ca9bb2d8ab9b967666 84e8d1810d57b65a0bc3b5ac2998bc023df880f4 b0861b6709c1735dc5b4275e5d87b7c83f1ef1f0 ed411f53bdcf8d455f9e6ca769693aa84dc8372f 1753059b07be52cf78fa2676c4c71d2edb560199 e4e84064f2d07810e0c150bce1369a0a00503e9a 6a988d9276691957f1d9138f93c2209b580cad13 a7e23d2f1e27c241c2a72262d14d5dde9ea2e860 d1ad490cdaaa97d5df83d28e86f02c96107ba142 db30ff63e6dc3d3b631f9da55ccadc07c4440948 2ba6bb69c4b455ff6327596a63bf1785d0910d2c 36d32973ddc1bd1d4096ec36f3b8cb507009eba4 337422911895bb55099e00208bff929651dcb5d2 70b5e6df70a7eac180e2c8e9c2bce70ff43b45ad 2549f0cc9725919d2d3ef466eff60bd10e1a321e 5e7925eaeba474cfc283e26b7aa3426ec97424f7 57a12476deef1b3e9967896cd8b3676131193865 cc4ac52309a7715c09c1e19545bc0fa4048c4604 601210878dc5d05f195753dccf0cafa3187c6ad6 c19903eaf8f3908e864e57c8449325e9b5e0c9bd 22a86fd7a287e16522bef80d4a89f399ce654cc3 37a84c5223279ce16152db69fba204df365c4eda 38911d6df4977b6b00557cc887eb151d032e505b 598bbd186b1e6e70a01ba7f98c89404531008f15 19186de11834df43494378478d2d3a374e2409ae 6ccc22194ca2d16bd7dc4b7263f897a547c50e6b 6e594e44162ed5ad8fd9db3e552723e32169158a ec092bd601d9d351ff6ca34bd97f12055b2a4dd9 2bcc8d303f889432171c5113af5f2962858099a4 a8ab1b1679e639ef23952f1a1d0834859d1c01b7 375e77e398b3d69ca90ed58420b929523576c6ef ed3a888fc274e09a5097ebbe3d206e4bc85bbb87 3529fbc6d4db298c4d50a39732e59ca38b463c9f 96365309de49b5641e61b0028199382dcc25f8b2 0acad88c3c837840b01e1b61069a1a7e95944607 b6a7fb9e9125e56bf742f68e0ec46f52d5c34f4c 494b9415a1157279a1e1782ba635fc2ef6a18155 57e76f91d9a388a41223e5ac0f13863d4b663bcd 0c446ec5f4c39599ea97cb703dd3ac7718fb9169 8562d3847777317e98e689d443e4d203b568c630 15072831cfd9efccebd1ad27b21c5604f224aa1b fa69de8ab6cc17bb763a1586c55847c5d5a82a83 05e4a3f1a89ec2defb1d77a223a9ce94e75fc76e 33a7b7bb6b307d6e4a093f75ffdda0419cd7ffaf 6be765b7a1f4677f67f31f6aa45389d40109d4c8 a8a04c746b07fe80bb852bb42473d58868d3b294 cddeec47a1fc0e70d8598fd10c29cd0e9489999f cee639d9df68842e8ad321fba8ec99d794829621 c7fbc30bfd64b2104006fef291f4c4bff537beb2 c8ae9a2e832251683cbb11edba79ab7c3a2443b2 071f6977dff6a4c49c2b52ac7030c7cbf666c9a5 1ed1ce9506e65f76fe5236194516f23d662bba0b 589f758d947cb4e8b888d2da00076a9fb0a6d521 ff93820bbb9313e004e23afb1257aa774a922be1 2ccd45a84475fab46c6fecd2fe226d3173104743 f15513309b24790099d42974274eb23f66f7c985 99aa34db6e3529717961cf31ad08ab000d66cd77 fd35b35000fa11ce540d944966ff17c71c31fd27 03ebad3cbff0999af885c03e83a506a9d9cb5919 064bdb06f1f10676d18c333cc24caee2eb199408 4c625ce6734be79bf0ddd8dda80a161994b19892 aaf35b9f1f0ce49080f2a0b1e7943336b1ba6057 60be4298e13b02913f241dd79fe7517f185299d0 62eadad20fe10ffaf13d9c65ee68608996d93df0 0b215c5f246d3fde6c023e78b3e3579f7498c172 47874f09f4d14703fe0c483a46b345c7be601ace a3309b51a254f142c535022615be6f76eb23fa9b ba696521930059aa489ac6ffabe28553edaf2fa3 1584679004435d93d5fe2dd794d2aefaa0c9574a We cannot bisect more!

bisect @vaxerski