hyprwm / Hyprland

Hyprland is a highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
17.88k stars 752 forks source link

High GPU load XWayland aplications stutter between frames #6626

Closed nonetrix closed 1 week ago

nonetrix commented 1 week ago

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit fabc30df52ab5d2c369fc8acd4ff909a6ba3b8ac (). Date: 2024-06-19 Tag: , commits: fabc30df52ab5d2c369fc8acd4ff909a6ba3b8ac flags: (if any) System Information: System name: Linux Node name: nixos Release: 6.9.5 Version: #1-NixOS SMP PREEMPT_DYNAMIC Sun Jun 16 11:51:16 UTC 2024 GPU information: 09:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] [1002:73bf] (rev c3) (prog-if 00 [VGA controller]) os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20240618.c00d587" DOCUMENTATION_URL="https://nixos.org/learn.html" HOME_URL="https://nixos.org/" ID=nixos IMAGE_ID="" IMAGE_VERSION="" LOGO="nix-snowflake" NAME=NixOS PRETTY_NAME="NixOS 24.11 (Vicuna)" SUPPORT_URL="https://nixos.org/community.html" VERSION="24.11 (Vicuna)" VERSION_CODENAME=vicuna VERSION_ID="24.11" plugins: hyprsplit by shezdy ver 1.0 ======Config-Start====== Config File: /home/noah/.config/hypr/hyprland.conf: Read Succeeded exec-once = /nix/store/y29cbwfiwb9nyi4db4apk9dgylzdjm1v-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target plugin=/nix/store/bw7ssll3jakbj5n6gdgl5radq838kbnp-hyprsplit-0.1/lib/libhyprsplit.so $mod=SUPER cursor { inactive_timeout=5 } debug { } decoration { blur { brightness=0.700000 enabled=true } blurls=bar-0 blurls=bar-1 blurls=rofi blurls=notifications0 blurls=notifications1 blurls=mpris col.shadow=rgba(1a1a1aaf) drop_shadow=true rounding=12 shadow_offset=0, 40 shadow_range=300 shadow_render_power=4 shadow_scale=0.900000 } device { name=wacom-intuos-s-pen } dwindle { preserve_split=true } general { border_size=2 col.active_border=rgba(f38ba8ff) col.inactive_border=rgba(1e1e2eff) gaps_in=5 gaps_out=10 } input { accel_profile=flat follow_mouse=1 mouse_refocus=false } misc { disable_hyprland_logo=true } animation=layers, 1, 5, default, slide bind=, XF86AudioPlay, exec, playerctl play-pause bind=, XF86AudioNext, exec, playerctl next bind=, XF86AudioPrev, exec, playerctl previous bind=$mod, f11, exec, brightness-ctrl down bind=$mod, f12, exec, brightness-ctrl up bind=$mod SHIFT, f12, exec, brightness-ctrl full bind=CTRL, Print, exec, satty-shot bind=, Print, exec, hyprshot -m output -o ~/Pictures/Screenshots bind=$mod, p, exec, wl-copy $(hyprpicker) bind=$mod, h, movefocus, l bind=$mod, l, movefocus, r bind=$mod, k, movefocus, u bind=$mod, j, movefocus, d bind=$mod SHIFT, h, movewindow, l bind=$mod SHIFT, l, movewindow, r bind=$mod SHIFT, k, movewindow, u bind=$mod SHIFT, j, movewindow, d bind=$mod, slash, togglesplit bind=$mod, mouse_down, split:workspace, e-1 bind=$mod, mouse_up, split:workspace, e+1 bind=alt, tab, exec, rofi -show window bind=$mod, t, togglefloating bind=$mod, c, killactive bind=$mod, q, exec, shutdown-menu bind=$mod, B, exec, firefox bind=$mod, y, exec, kitty -e yazi bind=alt, f4, exec, hyprctl kill bind=$mod, Return, exec, kitty bind=$mod, Space, exec, rofi -show drun bind=$mod, E, exec, rofimoji bind=$mod, a, exec, kitty -e ollama run mixtral bind=$mod SHIFT, escape, exec, hyprlock bind=$mod SHIFT, a, exec, llm-actions bind=$mod, 1, split:workspace, 1 bind=$mod SHIFT, 1, split:movetoworkspace, 1 bind=$mod, 2, split:workspace, 2 bind=$mod SHIFT, 2, split:movetoworkspace, 2 bind=$mod, 3, split:workspace, 3 bind=$mod SHIFT, 3, split:movetoworkspace, 3 bind=$mod, 4, split:workspace, 4 bind=$mod SHIFT, 4, split:movetoworkspace, 4 bind=$mod, 5, split:workspace, 5 bind=$mod SHIFT, 5, split:movetoworkspace, 5 bind=$mod, 6, split:workspace, 6 bind=$mod SHIFT, 6, split:movetoworkspace, 6 bind=$mod, 7, split:workspace, 7 bind=$mod SHIFT, 7, split:movetoworkspace, 7 bind=$mod, 8, split:workspace, 8 bind=$mod SHIFT, 8, split:movetoworkspace, 8 bind=$mod, 9, split:workspace, 9 bind=$mod SHIFT, 9, split:movetoworkspace, 9 bind=$mod, 0, split:workspace, 10 bind=$mod SHIFT, 0, split:movetoworkspace, 10 binde=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 1%+ binde=, XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 1%- binde=$mod CTRL, l, resizeactive, 10 0 binde=$mod CTRL, h, resizeactive, -10 0 binde=$mod CTRL, k, resizeactive, 0 -10 binde=$mod CTRL, j, resizeactive, 0 10 bindm=$mod, mouse:272, movewindow bindm=$mod, mouse:273, resizewindow exec-once=ags exec-once=fcitx5 exec-once=wpaperd exec-once=mpv --no-video --volume=150 /nix/store/ag6v7p7x8ksxirkyqjl9xfsmhzr45w31-start.wav exec-once=/nix/store/8dk4kqpfpxpss0h7h93197rc1hszvxss-lxqt-policykit-2.0.0/bin/lxqt-policykit-agent layerrule=ignorealpha, bar-0 layerrule=ignorealpha, bar-1 layerrule=ignorealpha, notifications0 layerrule=ignorealpha, notifications1 layerrule=ignorealpha, mpris layerrule=ignorealpha, rofi layerrule=noanim,selection monitor=DP-2, 1920x1200, 1920x0, 1 monitor=DP-1, 1920x1080@165, 0x0, 1, vrr, 1 windowrulev2=noanim, class:^(com.gabm.satty)$ windowrulev2=size 640 360, title:(Picture-in-Picture) windowrulev2=pin, title:^(Picture-in-Picture)$ windowrulev2=move 1906 14, title:(Picture-in-Picture) windowrulev2=float, title:^(Picture-in-Picture)$ windowrulev2=float, title:^(Authentication Required)$ ======Config-End======== ```

Description

XWayland apps stutter between frames if a lot is going on graphically such as a game, video should be enough to illustrate. Feels a lot like NVIDIA issues with XWayland but I am on AMD. I have searched around and couldn't find a issue for this looking though various pages until I know it was likely not a issue then

NVIDIA simulator:

https://github.com/hyprwm/Hyprland/assets/45698918/08246a5b-5c94-4dbe-a8e3-bcdbd780bbeb

How to reproduce

  1. Open a GPU demanding game in Steam via Proton
  2. Observe

Crash reports, logs, images, videos

No response

nonetrix commented 1 week ago

Nvm maybe I didn't look back far enough, need to stop making issues then realizing someone did it before me ;p; https://github.com/hyprwm/Hyprland/issues/6359