Hyprland: Regression: Wayland applications don't open with a not supported refresh rate

Hyprland Version

v0.32.3

Bug or Regression?

Regression

Description

I upgraded to NixOS 23.11 and I could no longer open wayland applications on Hyprland

I have problems when I use monitor=eDP-1,1920x1080@68,auto,1 in my config
I don’t have problems when I use monitor=eDP-1,1920x1080@60,auto,1 in my config

  • swaybg didn’t startup
  • fuzzel gave an error err: wayland.c:2012: no monitors

Terminator does run however, not entirely sure why… but most applications completely fail to launch

Running at 68Hz has no problems in Hyprland 0.25.0

How to reproduce

Probably on a laptop,

Run your monitor at 68Hz and see that wayland applications fail to start Edit your config back to 60Hz and see that everything now runs normally

Crash reports, logs, images, videos

I started at 60Hz. Opened terminator. Tested fuzzel. Edited my hyprland config in terminator to 68Hz. Tested fuzzel (twice, one shortcut one cli). Logged out of Hyprland hyprland.log

I have swapped back and forth between 68 and 60 hertz several times during this session: hyprland.log

About this issue

  • Original URL
  • State: closed
  • Created 7 months ago
  • Comments: 31 (31 by maintainers)

Most upvoted comments

Next build 563fe83db269bb19e796cf6b21d3e1bcbf1b41f1 has same crashing behaviour, good again?

Edit: restarting bisect because I choose a possibly too low commit for starting good

Say good and search again.

I am downgrading my system to a temporary minimal config. I should manage to run the older builds from there, hopefully I should start making progress

Ah, yes. With all the glibc and other stuff happening, it’s probably easier to switch your system entirely. An alternative would be to clone the repo, checkout a commit, nix flake lock --update-input nixpkgs and try to build it. Or entering the devshell and manually building with meson & ninja.

There are many ways to go about it, but none are trivial.

Help with the equivalent of git bisecting on nixos would be appreciated @fufexan. I am not currently using flakes, which I imagine would make said process a bit easier

I have tried something like the following in my nix-config to grab a specific build of hyprland except it fails to build because of invalid patches. While I am sure that I could remove said patches (somehow), hyprland probably has had a few nixpkg patches that will have had to be changed over the duration of my bisect, which could be painful. A less manual method would be greatly appreciated

        (pkgs.hyprland.overrideAttrs (oldAttrs: {
          version = "v0.28.0";
          src = fetchFromGitHub {
              owner = "hyprwm";
              repo = "Hyprland";
              rev = "9654749244117f7f150c6f2a2ce4dede6e8cbb25";
              hash = "sha256-t1Ksv5/xwRgi8oH9jyoIEuMHi9cYIZSg3yEJLYMb78Y=";
          };
        }))

Edit: I may have found a workflow by using flake-compact and the non-master tar.gz sources for Hyprland. Just a lot of compiling