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
21.83k stars 909 forks source link

Choppy game(like 5 fps) if gpu reaches 100% utilization. #7857

Open JunaidQrysh opened 2 months ago

JunaidQrysh commented 2 months ago

Already reported ? *

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch main at commit 9856378384539e35cd943604e6a4d696a9d25447 (Nix: use mold linker). Date: Thu Sep 19 21:23:34 2024 Tag: v0.43.0-44-g98563783, commits: 5240 built against aquamarine 0.4.1 flags: (if any) System Information: System name: Linux Node name: asus Release: 6.10.10-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Thu, 12 Sep 2024 17:21:02 +0000 GPU information: 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-H GT1 [UHD Graphics] [8086:9a60] (rev 01) (prog-if 00 [VGA controller]) 0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA107M [GeForce RTX 3050 Mobile] [10de:25a2] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 560.35.03 Fri Aug 16 21:39:15 UTC 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: ======Config-Start====== Config File: /home/qrysh/.config/hypr/hyprland.conf: Read Succeeded source = ~/.config/hypr/source/* Config File: /home/qrysh/.config/hypr/source/01-startup.conf: Read Succeeded $terminal = kitty $fileManager = thunar $scrPath = $HOME/.local/share/bin env = KWIN_FORCE_SW_CURSOR,1 env = GBM_BACKEND,nvidia-drm env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = LIBVA_DRIVER_NAME,nvidia env = ELECTRON_OZONE_PLATFORM_HINT, auto env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = GDK_SCALE,1 env = PATH,$PATH:$scrPath exec-once = resetxdgportal.sh # reset XDPH for screenshare exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH exec-once = dbus-update-activation-environment --systemd --all # for XDPH exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = pidof hyprlock || hyprlock exec-once = swwwallpaper.sh exec-once = dunst exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type image --watch cliphist store exec-once = [workspace 2 silent] thorium-browser exec-once = [workspace 3 silent] kitty exec-once = hypridle exec-once = /usr/bin/pypr exec-once = nm-applet --indicator exec-once = waybar & sleep 2 && keepassxc Config File: /home/qrysh/.config/hypr/source/02-uiux.conf: Read Succeeded general { gaps_in = 3 gaps_out = 8 border_size = 0 col.active_border = rgba(00000000) col.inactive_border = rgba(00000000) resize_on_border = false allow_tearing = false layout = master } decoration { rounding = 10 drop_shadow = false blur { enabled = false } } dwindle { pseudotile = true preserve_split = true } master { new_status = inherit } misc { force_default_wallpaper = 0 disable_hyprland_logo = true } input { kb_layout = us kb_variant = colemak_dh kb_options = caps:swapescape,ctrl:swap_lalt_lctl follow_mouse = 1 float_switch_override_focus = 1 sensitivity = 0 touchpad { natural_scroll = true } } gestures { workspace_swipe = true } animations { enabled = yes bezier = wind, 0.05, 0.9, 0.1, 1.05 bezier = winIn, 0.1, 1.1, 0.1, 1.1 bezier = winOut, 0.3, -0.3, 0, 1 bezier = liner, 1, 1, 1, 1 animation = windows, 1, 6, wind, slide animation = windowsIn, 1, 6, winIn, slide animation = windowsOut, 1, 5, winOut, slide animation = windowsMove, 1, 5, wind, slide animation = border, 1, 1, liner animation = fade, 1, 10, default animation = workspaces, 1, 5, wind } Config File: /home/qrysh/.config/hypr/source/03-themes.conf: Read Succeeded source = ~/.config/hypr/themes/common.conf source = ~/.config/hypr/themes/theme.conf source = ~/.config/hypr/themes/colors.conf Config File: /home/qrysh/.config/hypr/themes/common.conf: Read Succeeded # █▀▀ █░█ █▀█ █▀ █▀█ █▀█ # █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄ exec = hyprctl setcursor Bibata-Modern-Ice 20 exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice' exec = gsettings set org.gnome.desktop.interface cursor-size 20 # █▀▀ █▀█ █▄░█ ▀█▀ # █▀░ █▄█ █░▀█ ░█░ exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10' exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10' exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9' exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba' exec = gsettings set org.gnome.desktop.interface font-hinting 'full' Config File: /home/qrysh/.config/hypr/themes/theme.conf: Read Succeeded exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula' exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha' exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' Config File: /home/qrysh/.config/hypr/themes/colors.conf: Read Succeeded Config File: /home/qrysh/.config/hypr/source/04-rules.conf: Read Succeeded windowrulev2 = noanim,class:^(qimgv)$ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. windowrulev2 = opacity 0.90 0.90,class:^(thorium-browser)$ windowrulev2 = opacity 0.80 0.80,class:^(kitty-dropterm)$ windowrulev2 = opacity 0.80 0.80,class:^(kitty)$ windowrulev2 = opacity 0.80 0.80,class:^(thunar)$ windowrulev2 = opacity 0.80 0.80,class:^(arqiver)$ windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$ windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$ windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$ windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$ windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$ windowrulev2 = float,class:^(arqiver)$ windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$ windowrulev2 = float,class:^(nm-applet)$ windowrulev2 = float,class:^(nm-connection-editor)$ windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$ windowrulev2 = float,title:^(File Operation Progress)$ windowrulev2 = size 36% 30%,title:^(Unlock Database - KeePassXC)$ windowrulev2 = float, title:^(Picture in picture)$ windowrulev2 = pin, title:^(Picture in picture)$ windowrulev2 = move 25% 27%, title:^(Picture in picture)$ windowrulev2 = size 50% 45%, title:^(Picture in picture)$ Config File: /home/qrysh/.config/hypr/source/05-binds.conf: Read Succeeded $mainMod = SUPER # FN-Keys bindl = , XF86AudioMute, exec, volumecontrol.sh -o m bindl = , XF86AudioMicMute, exec, volumecontrol.sh -i m bindel = , XF86AudioLowerVolume, exec, volumecontrol.sh -o d bindel = , XF86AudioRaiseVolume, exec, volumecontrol.sh -o i bindl = , XF86MonBrightnessUp, exec, brightness.sh i bindl = , XF86MonBrightnessDown, exec, brightness.sh d # Pyprland bind = $mainMod, T, exec, pypr toggle kitty bind = $mainMod, M, exec, pypr toggle volume bind = $mainMod, O, exec, pypr toggle obsidian bind = $mainMod, Q, killactive bind = $mainMod, E, exec, $fileManager # Scripts bind = $mainMod, A, exec, pkill -x rofi || rofilaunch.sh d bind = $mainMod+Shift, A, exec, pkill -x rofi || rofiselect.sh bind = $mainMod, V, exec, pkill -x rofi || cliphist.sh h bind = $mainMod SHIFT, V, exec, pkill -x rofi || cliphist.sh bind = $mainMod SHIFT, W, exec, swwwallselect.sh bind = $mainMod SHIFT, B, exec, wallbashtoggle.sh -m bind = $mainMod SHIFT, T, exec, themeselect.sh bind = $mainMod, Backspace, exec, logoutlaunch.sh bind = $mainMod, Space, exec, killall waybar || waybar bind = $mainMod SHIFT, G, exec, gamemode.sh # Screenshot bind = $mainMod, P, exec, screenshot.sh s # partial screenshot capture bind = $mainMod+Ctrl, P, exec, screenshot.sh sf # partial screenshot capture (frozen screen) bind = , Print, exec, screenshot.sh m # monitor screenshot capture bind = $mainMod, Print, exec, screenshot.sh p # all monitors screenshot capture # Window Focus bind = $mainMod, H, movefocus, l bind = $mainMod, L, movefocus, r bind = $mainMod, J, movefocus, d bind = $mainMod, K, movefocus, u bind = $mainMod, N, layoutmsg, swapwithmaster master # Window Management bind = $mainMod+Shift, P, exec, windowpin.sh bind = $mainMod, W, toggleFloating bind = $mainMod, W, resizeActive, exact 50% 52% bind = $mainMod, W, moveActive, exact 25% 24% bind = , F11, fullscreen # Never Changing 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 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 bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow ======Config-End======== ```

Description

In minecraft if fps uncapped gpu reaches 100% and fps reach around 100 fps but look like 5 fps but if i cap fps at 90 or 80 then the gameplay is supersmooth. I have tested in kde plama this issue does not occur there, so im pretty sure its a hyprland bug and not an nvidia problem.

How to reproduce

Uncap fps, the game will look like 5 fps Cap fps to around 90% gpu uitilization, the game will be super smooth.

Crash reports, logs, images, videos

No response

Gwenodai commented 2 months ago

Something very similar happens to my partners PC as well and it's 100% a Hyprland issue. Not sure if it effects me as I've yet to be in that situation in my PC.

But the "solution" for us is to make sure there is nothing else running on any workspace that visually changes at all. That could be anything from as much as a video to as little as a waybar module updating once per second.

When her GPU is at 100% utilisation on Hyprland games will look like they're dropping frames unless there is exactly nothing else open on any workspace (visible or not) that meets the above criteria. This means she has to close the discord window if she's in a call as it will cause issues any time someone talks because that causes visual change on the client. The same goes for monitoring software like CoolerControl. Just having it open will cause the issue, so I have it open for her on my second screen through ssh tunneling if she wants to see it in real time.

JunaidQrysh commented 2 months ago

Video Demonstration- https://youtu.be/FDE83uMqBmQ

Gwenodai commented 2 months ago

Ah I see it's not the exact same issue I've encountered. The stuttering you're experiencing at the start with the 70fps cap is similar (and milder) to what I've experienced on my partners PC under my previously stated conditions.

Have you checked if your dedicated GPU is being set to a lower power mode or just not being properly set. I have heard of power profile issues with similar GPU setups for NVIDIA.

And I know if I leave my or my partners GPU to it's own defaults it will manifest bad frame pacing when fps capped. (I know that's a different issue than yours)

Edgars-Cirulis commented 2 months ago

Dupe of https://github.com/hyprwm/Hyprland/issues/7643 ?

Edit: ive closed the issue due they wont fix.

vaxerski commented 2 months ago

if you closed the issue as wontfix then why reopen it? If you don't want to have it open, just close it.

Anyways, this is most likely a driver issue. What is probably happening is that something goes out of sync in the driver's rendering pipeline and explicit sync has to wait for longer than usual. I can't think of anything else.

Edgars-Cirulis commented 2 months ago

if you closed the issue as wontfix then why reopen it? If you don't want to have it open, just close it.

Anyways, this is most likely a driver issue. What is probably happening is that something goes out of sync in the driver's rendering pipeline and explicit sync has to wait for longer than usual. I can't think of anything else.

I've opened it due dupe. Prehaps the who filled an issue here didn't find the issue already existed due it was closed.

Edit: how its driver issue? If that dosnt happen on wlroots or kwin/gnome compositor on wayland side.

https://www.reddit.com/r/hyprland/s/WIOc0WSaZa

Also another user getting that issue only specifically on Hyprland.

https://www.reddit.com/r/hyprland/s/S5Y2JSHcmC

vaxerski commented 2 months ago

how its driver issue? If that dosnt happen on wlroots or kwin/gnome compositor on wayland side.

If I knew why I'd have fixed it already

Edgars-Cirulis commented 2 months ago

how its driver issue? If that dosnt happen on wlroots or kwin/gnome compositor on wayland side.

If I knew why I'd have fixed it already

What kinda of logs you'd like to need? For me graphical stuff is a miss or hit. So i didnt brother to try to fix.

vaxerski commented 2 months ago

if I knew what logs would let me know about why this happens, I'd have implemented them already. Debugging gpu issues is a notorious pain because you can't really log 95% of things that happen.

Edgars-Cirulis commented 2 months ago

Fair enough. I guess git biscet is only way.

JunaidQrysh commented 2 months ago

Fair enough. I guess git biscet is only way.

I was trying to find the exact commit that caused this, but 918d834 commit and below does not build, they throw this-

make all && sudo make install ```sh make clear make[1]: Entering directory '/home/qrysh/Clone/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/qrysh/Clone/Hyprland' make release make[1]: Entering directory '/home/qrysh/Clone/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 14.2.1 -- The CXX compiler identification is GNU 14.2.1 -- 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.1.1") -- 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/lib/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.5' -- Found xkbcommon, version 1.7.0 -- Found uuid, version 2.40.2 -- Found wayland-server, version 1.23.1 -- Found wayland-client, version 1.23.1 -- Found wayland-cursor, version 1.23.1 -- Found wayland-protocols, version 1.37 -- Found cairo, version 1.18.2 -- Found pango, version 1.54.0 -- Found pangocairo, version 1.54.0 -- Found pixman-1, version 0.43.4 -- Found libdrm, version 2.4.123 -- Found libinput, version 1.26.2 -- Found hwdata, version 0.387 -- Found libseat, version 0.8.0 -- Found libdisplay-info, version 0.2.0 -- Found libliftoff, version 0.5.0 -- Found libudev, version 256 -- Found gbm, version 24.2.3-arch1.1 -- Found hyprlang, version 0.5.2 -- Found hyprcursor, version 0.1.9 -- Found hyprutils, version 0.2.2 -- Looking for execinfo.h -- Looking for execinfo.h - found -- Configuration supports execinfo -- Looking for backtrace in execinfo -- Looking for backtrace in execinfo - not found -- Looking for sys/timerfd.h -- Looking for sys/timerfd.h - found -- Checking for module 'epoll-shim' -- Package 'epoll-shim', required by 'virtual:world', not found -- XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps... -- Checking for modules 'xcb;xwayland;xcb-util;xcb-render;xcb-xfixes;xcb-icccm;xcb-composite;xcb-res;xcb-ewmh;xcb-errors' -- Found xcb, version 1.17.0 -- Found xwayland, version 24.1.2 -- Found xcb-util, version 0.4.1 -- Found xcb-render, version 1.17.0 -- Found xcb-xfixes, version 1.17.0 -- Found xcb-icccm, version 0.4.2 -- Found xcb-composite, version 1.17.0 -- Found xcb-res, version 1.17.0 -- Found xcb-ewmh, version 0.4.2 -- Found xcb-errors, version 1.0.1 -- SYSTEMD support is requested (NO_SYSTEMD not defined)... -- Setting precompiled headers -- Setting link libraries -- Checking for module 'hyprutils>=0.1.1' -- Found hyprutils, version 0.2.2 -- Checking for modules 'tomlplusplus;hyprutils>=0.1.1' -- Found tomlplusplus, version 3.4.0 -- Found hyprutils, version 0.2.2 -- Configuring done (1.3s) -- Generating done (0.0s) -- Build files have been written to: /home/qrysh/Clone/Hyprland/build cmake --build ./build --config Release --target all [0/2] Re-checking globbed directories... [50/251] Performing configure step for 'wlroots-hyprland' FAILED: /home/qrysh/Clone/Hyprland/subprojects/wlroots-hyprland/src/wlroots-hyprland-stamp/wlroots-hyprland-configure cd /home/qrysh/Clone/Hyprland/subprojects/wlroots-hyprland && meson setup --reconfigure build --buildtype=release -Dwerror=false -Dxwayland=enabled -Dexamples=false -Drenderers=gles2 -Dbackends=drm,libinput -Db_sanitize=none && /usr/bin/cmake -E touch /home/qrysh/Clone/Hyprland/subprojects/wlroots-hyprland/src/wlroots-hyprland-stamp/wlroots-hyprland-configure ERROR: Neither source directory 'build' nor build directory None contain a build file meson.build. [52/251] Building CXX object hyprpm/CMakeFiles/hyprpm.dir/src/main.cpp.o^C ninja: build stopped: interrupted by user. make[1]: *** [Makefile:15: release] Interrupt make: *** [Makefile:34: all] Interrupt ```

I have hyprutils-git hyprlang-git hyprcursor-git and hyprwayland-scanner-git installed. Maybe they are causing this problem?

JunaidQrysh commented 2 months ago

Fair enough. I guess git biscet is only way.

I was trying to find the exact commit that caused this, but 918d834 commit and below does not build, they throw this-

make all && sudo make install I have hyprutils-git hyprlang-git hyprcursor-git and hyprwayland-scanner-git installed. Maybe they are causing this problem?

@vaxerski ?

Edgars-Cirulis commented 2 months ago

Moving to aquamarine commit didn't cause the issue. I guess explicit sync "Fixes" caused the issue but even tho turning it off doesn't fix the lag

vaxerski commented 2 months ago

@JunaidQrysh git submodule update --init

JunaidQrysh commented 2 months ago

@vaxerski Now this error -

make all && sudo make install ```sh make clear make[1]: Entering directory '/home/qrysh/Clone/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/qrysh/Clone/Hyprland' make release make[1]: Entering directory '/home/qrysh/Clone/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. -- The C compiler identification is GNU 14.2.1 -- The CXX compiler identification is GNU 14.2.1 -- 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.1.1") -- 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/lib/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;hyprwayland-scanner>=0.3.4;hyprlang>=0.3.2;hyprcursor>=0.1.7' -- Found xkbcommon, version 1.7.0 -- Found uuid, version 2.40.2 -- Found wayland-server, version 1.23.1 -- Found wayland-client, version 1.23.1 -- Found wayland-cursor, version 1.23.1 -- Found wayland-protocols, version 1.37 -- Found cairo, version 1.18.2 -- Found pango, version 1.54.0 -- Found pangocairo, version 1.54.0 -- Found pixman-1, version 0.43.4 -- Found libdrm, version 2.4.123 -- Found libinput, version 1.26.2 -- Found hwdata, version 0.387 -- Found libseat, version 0.8.0 -- Found libdisplay-info, version 0.2.0 -- Found libliftoff, version 0.5.0 -- Found libudev, version 256 -- Found gbm, version 24.2.3-arch1.1 -- Found hyprwayland-scanner, version 0.4.2 -- Found hyprlang, version 0.5.2 -- Found hyprcursor, version 0.1.9 -- Looking for execinfo.h -- Looking for execinfo.h - found -- Configuration supports execinfo -- Looking for backtrace in execinfo -- Looking for backtrace in execinfo - not found -- Looking for sys/timerfd.h -- Looking for sys/timerfd.h - found -- Checking for module 'epoll-shim' -- Package 'epoll-shim', required by 'virtual:world', not found -- XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps... -- Checking for modules 'xcb;xwayland;xcb-util;xcb-render;xcb-xfixes;xcb-icccm;xcb-composite;xcb-res;xcb-ewmh' -- Found xcb, version 1.17.0 -- Found xwayland, version 24.1.2 -- Found xcb-util, version 0.4.1 -- Found xcb-render, version 1.17.0 -- Found xcb-xfixes, version 1.17.0 -- Found xcb-icccm, version 0.4.2 -- Found xcb-composite, version 1.17.0 -- Found xcb-res, version 1.17.0 -- Found xcb-ewmh, version 0.4.2 -- Checking for module 'xcb-errors' -- Found xcb-errors, version 1.0.1 -- SYSTEMD support is requested (NO_SYSTEMD not defined)... -- Setting precompiled headers -- Setting link libraries -- Checking for module 'tomlplusplus' -- Found tomlplusplus, version 3.4.0 -- Configuring done (2.2s) -- Generating done (0.0s) -- Build files have been written to: /home/qrysh/Clone/Hyprland/build cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF` [0/2] Re-checking globbed directories... [12/169] Performing configure step for 'wlroots-hyprland' The Meson build system Version: 1.5.2 Source dir: /home/qrysh/Clone/Hyprland/subprojects/wlroots-hyprland Build dir: /home/qrysh/Clone/Hyprland/subprojects/wlroots-hyprland/build Build type: native build Project name: wlroots Project version: 0.18.0-dev C compiler for the host machine: cc (gcc 14.2.1 "cc (GCC) 14.2.1 20240910") C linker for the host machine: cc ld.bfd 2.43.0 Host machine cpu family: x86_64 Host machine cpu: x86_64 Compiler for C supports arguments -Wundef: YES Compiler for C supports arguments -Wlogical-op: YES Compiler for C supports arguments -Wmissing-include-dirs: YES Compiler for C supports arguments -Wold-style-definition: YES Compiler for C supports arguments -Wpointer-arith: YES Compiler for C supports arguments -Winit-self: YES Compiler for C supports arguments -Wstrict-prototypes: YES Compiler for C supports arguments -Wimplicit-fallthrough=2: YES Compiler for C supports arguments -Wendif-labels: YES Compiler for C supports arguments -Wstrict-aliasing=2: YES Compiler for C supports arguments -Woverflow: YES Compiler for C supports arguments -Wmissing-prototypes: YES Compiler for C supports arguments -Walloca: YES Compiler for C supports arguments -Wno-missing-braces: YES Compiler for C supports arguments -Wno-missing-field-initializers: YES Compiler for C supports arguments -Wno-unused-parameter: YES Compiler for C supports arguments -fmacro-prefix-map=/prefix/to/hide=: YES Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1 Run-time dependency wayland-server found: YES 1.23.1 Run-time dependency libdrm found: YES 2.4.123 Run-time dependency xkbcommon found: YES 1.7.0 Run-time dependency pixman-1 found: YES 0.43.4 Library m found: YES Library rt found: YES Run-time dependency wayland-protocols found: YES 1.37 Build-time dependency wayland-scanner found: YES 1.23.1 Program /usr/bin/wayland-scanner found: YES (/usr/bin/wayland-scanner) Has header "linux/dma-buf.h" : YES Run-time dependency egl found: YES 1.5 Run-time dependency gbm found: YES 24.2.3-arch1.1 Run-time dependency glesv2 found: YES 3.2 Program ./embed.sh found: YES (/home/qrysh/Clone/Hyprland/subprojects/wlroots-hyprland/render/gles2/shaders/./embed.sh) Dependency pixman-1 found: YES 0.43.4 (cached) Dependency gbm found: YES 24.2.3-arch1.1 (cached) Checking for function "gbm_bo_get_fd_for_plane" with dependency gbm: YES Run-time dependency libudev found: YES 256 Run-time dependency libseat found: YES 0.8.0 Build-time dependency hwdata found: YES 0.387 Run-time dependency libdisplay-info found: YES 0.2.0 Run-time dependency libliftoff found: YES 0.5.0 Run-time dependency libinput found: YES 1.26.2 Run-time dependency wayland-client found: YES 1.23.1 Run-time dependency xwayland found: YES 24.1.2 Run-time dependency xcb found: YES 1.17.0 Run-time dependency xcb-composite found: YES 1.17.0 Run-time dependency xcb-ewmh found: YES 0.4.2 Run-time dependency xcb-icccm found: YES 0.4.2 Run-time dependency xcb-render found: YES 1.17.0 Run-time dependency xcb-res found: YES 1.17.0 Run-time dependency xcb-xfixes found: YES 1.17.0 Run-time dependency xcb-errors found: YES 1.0.1 Checking for function "xcb_xfixes_set_client_disconnect_mode" with dependencies xcb, xcb-composite, xcb-ewmh, xcb-icccm, xcb-render, xcb-res, xcb-xfixes, xcb-errors: YES Configuring config.h using configuration Configuring version.h using configuration Configuring config.h using configuration Message: Patches found. Applying... Build targets in project: 136 wlroots 0.18.0-dev drm-backend : YES x11-backend : NO libinput-backend: YES xwayland : YES gles2-renderer : YES vulkan-renderer : NO gbm-allocator : YES session : YES xcb-errors : YES egl : YES libliftoff : YES User defined options buildtype : release werror : false b_sanitize : none backends : drm,libinput examples : false renderers : gles2 xwayland : enabled Found ninja-1.12.1 at /usr/bin/ninja [15/169] Performing build step for 'wlroots-hyprland' FAILED: /home/qrysh/Clone/Hyprland/subprojects/wlroots-hyprland/src/wlroots-hyprland-stamp/wlroots-hyprland-build /home/qrysh/Clone/Hyprland/subprojects/wlroots-hyprland/build/libwlroots.a cd /home/qrysh/Clone/Hyprland/subprojects/wlroots-hyprland && ninja -C build Compiling... FAILED: libwlroots.a.p/backend_drm_libliftoff.c.o cc -Ilibwlroots.a.p -I. -I.. -Iinclude -I../include -Iprotocol -Irender/gles2/shaders -Ibackend/drm -I/usr/include/libdrm -I/usr/include/pixman-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3 -D_POSIX_C_SOURCE=200809L -DWLR_USE_UNSTABLE -DWLR_LITTLE_ENDIAN=1 -DWLR_BIG_ENDIAN=0 -Wundef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wstrict-prototypes -Wimplicit-fallthrough=2 -Wendif-labels -Wstrict-aliasing=2 -Woverflow -Wmissing-prototypes -Walloca -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -fmacro-prefix-map=../= -fPIC -MD -MQ libwlroots.a.p/backend_drm_libliftoff.c.o -MF libwlroots.a.p/backend_drm_libliftoff.c.o.d -o libwlroots.a.p/backend_drm_libliftoff.c.o -c ../backend/drm/libliftoff.c ../backend/drm/libliftoff.c: In function ‘commit’: ../backend/drm/libliftoff.c:410:27: error: too few arguments to function ‘liftoff_output_apply’ 410 | int ret = liftoff_output_apply(crtc->liftoff, req, flags); | ^~~~~~~~~~~~~~~~~~~~ In file included from ../backend/drm/libliftoff.c:2: /usr/include/libliftoff.h:85:1: note: declared here 85 | liftoff_output_apply(struct liftoff_output *output, drmModeAtomicReq *req, | ^~~~~~~~~~~~~~~~~~~~ ```
vaxerski commented 2 months ago

downgrade libliftoff to 0.4

JunaidQrysh commented 2 months ago

@vaxerski I spent a lot of time compling old versions of Hyprland and went as far as 0.32.0 but the bug is still there. I think it really is not Hyprland's problem. Do you have any idea why it does not occur on kde plasma?

Edgars-Cirulis commented 2 months ago

@vaxerski I spent a lot of time compling old versions of Hyprland and went as far as 0.32.0 but the bug is still there. I think it really is not Hyprland's problem. Do you have any idea why it does not occur on kde plasma?

I can confirm my issue doesn't happen after moving to aquamarine but happens on commit that fixes explicit sync . "Explicit sync fixes"

JunaidQrysh commented 2 months ago

@vaxerski I spent a lot of time compling old versions of Hyprland and went as far as 0.32.0 but the bug is still there. I think it really is not Hyprland's problem. Do you have any idea why it does not occur on kde plasma?

I can confirm my issue doesn't happen after moving to aquamarine but happens on commit that fixes explicit sync . "Explicit sync fixes"

How did you test? In 0.32.0 minecraft still lags crazy after uncapping the fps.

JunaidQrysh commented 2 months ago

@Edgars-Cirulis If you testetd by glmark2 then I just tested it with 0e86808e which is just before Explicit sync fixes and 918d8340 which is way before it. And it still lags like 5 fps. So i dont know why the issue is resolved in your case.

DADA30000 commented 1 month ago

I have same issue on AMD I could try bisecting if someone could explain how to do this on NixOS