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.89k stars 849 forks source link

No Cursor in gamescope with allow_dumb_copy=true on Nvidia GPU #7931

Open arminius-smh opened 2 days ago

arminius-smh commented 2 days ago

Already reported ? *

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 8b86ee8bf08eaf8b57d0a7f12af876216323cc3d (). Date: 2024-09-25 Tag: , commits: 5257 built against aquamarine 0.4.1 flags: (if any) System Information: System name: Linux Node name: phoenix Release: 6.10.11 Version: #1-NixOS SMP PREEMPT_DYNAMIC Wed Sep 18 17:25:18 UTC 2024 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06) (prog-if 00 [VGA controller]) 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 970] [10de:13c2] (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: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20240921.9357f4f" 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: ======Config-Start====== Config File: /home/armin/.config/hypr/hyprland.conf: Read Succeeded exec-once = /nix/store/4a86f7kq7757fjwf5zzwk0jxixn4330n-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 $accent=$mauve $accentAlpha=$mauveAlpha $mainMod=SUPER source=/home/armin/.config/hypr/monitors.conf source=/home/armin/.config/hypr/workspaces.conf source=/nix/store/5nqbr4x6yb7bmny12m1fda75brsh8naz-source/themes/mocha.conf animations { 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 enabled=true } cursor { no_hardware_cursors=false allow_dumb_copy=true } debug { disable_logs=false } decoration { blur { enabled=true passes=1 size=3 } col.shadow=rgba(1a1a1aee) drop_shadow=true rounding=10 shadow_range=4 shadow_render_power=3 } general { border_size=2 col.active_border=rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border=rgba(595959aa) gaps_in=5 gaps_out=20 layout=dwindle } input { touchpad { natural_scroll=true } follow_mouse=1 kb_layout=de kb_variant=deadtilde sensitivity=0 } misc { disable_hyprland_logo=true } plugin { hyprtrails { color=rgba(8a00ffff) } } render { explicit_sync=0 } bind=$mainMod, H, movefocus, l bind=$mainMod, L, movefocus, r bind=$mainMod, K, movefocus, u bind=$mainMod, J, movefocus, d bind=$mainMod SHIFT, H, movewindow, l bind=$mainMod SHIFT, L, movewindow, r bind=$mainMod SHIFT, K, movewindow, u bind=$mainMod SHIFT, J, movewindow, d 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, RETURN, exec, kitty bind=$mainMod SHIFT, P, exec, alacritty --class 'pomodoro' -e '$DOTFILES_PATH/home-manager/programs/hyprland/scripts/pomodoro.zsh' bind=$mainMod SHIFT, F, exec, firefox bind=$mainMod SHIFT, A, exec, thunar bind=$mainMod CONTROL, Q, killactive bind=$mainMod, M, exec, pkill -USR1 waybar bind=$mainMod SHIFT, M, exit bind=$mainMod, V, togglefloating bind=$mainMod, D, exec, rofi -show run bind=$mainMod SHIFT, J, togglesplit, bind=$mainMod SHIFT, D, exec, grimblast --freeze copysave area "$HOME/Downloads/$(date +'%Y-%m-%d_%H-%M-%S_screenshot.png')" bind=$mainMod SHIFT, C, exec, /home/armin/dotfiles/home-manager/programs/hyprland/scripts/monitor-switch.sh bind=$mainMod SHIFT, W, exec, pkill -SIGUSR2 waybar bind=$mainMod SHIFT, N, exec, swaync-client -t -sw bind=SUPER,F10,pass,^(com.obsproject.Studio)$ bind=$mainMod, F,fullscreen bind=$mainMod SHIFT, T, exec, LIBGL_ALWAYS_SOFTWARE=1 alacritty binde=, XF86AudioRaiseVolume, exec, volumectl -M $(hyprctl activeworkspace | awk '/monitorID/{print $2}' | head -n 1) -u up 2 binde=, XF86AudioLowerVolume, exec, volumectl -M $(hyprctl activeworkspace | awk '/monitorID/{print $2}' | head -n 1) -u down 2 binde=, XF86AudioMute, exec, volumectl -M $(hyprctl activeworkspace | awk '/monitorID/{print $2}' | head -n 1) toggle-mute binde=, XF86AudioNext, exec, playerctl next binde=, XF86AudioPause, exec, playerctl play-pause binde=, XF86AudioPlay, exec, playerctl play-pause binde=, XF86AudioPrev, exec, playerctl previous binde=, XF86MonBrightnessUp, exec, lightctl -M $(hyprctl activeworkspace | awk '/monitorID/{print $2}' | head -n 1) up 5 binde=, XF86MonBrightnessDown, exec, lightctl -M $(hyprctl activeworkspace | awk '/monitorID/{print $2}' | head -n 1) down 5 bindm=$mainMod, mouse:272, movewindow bindm=$mainMod, mouse:273, resizewindow exec-once=fcitx5 exec-once=/home/armin/dotfiles/home-manager/programs/hyprland/scripts/wallpaper.sh phoenix exec-once=heroic exec-once=[workspace 9 silent] thunderbird exec-once=[workspace 8 silent] spotify exec-once=hyprctl dispatch focusmonitor DP-1 windowrulev2=idleinhibit always,class:(explorer.exe) windowrulev2=idleinhibit always,class:(dolphin-emu) windowrulev2=idleinhibit focus,title:(Jellyfin Media Player) windowrulev2=idleinhibit focus,class:(vlc) windowrulev2=idleinhibit focus,title:(Mozilla Firefox) windowrulev2=fullscreen,title:(Spotify) windowrulev2=fullscreen,title:(Jellyfin Media Player) windowrulev2=fullscreen,class:(TradingView) windowrulev2=fullscreen,class:(thunderbird) windowrulev2=fullscreen,class:(spotify_player) windowrulev2=float,class:(pomodoro) windowrulev2=float,class:(feh) windowrulev2=float,class:(imv) windowrulev2=size 650 150,class:(pomodoro) windowrulev2=move onscreen 1200 135,class:(pomodoro) windowrulev2=bordercolor rgba(33ccffee) rgba(00ff99ee),class:(pomodoro) windowrulev2=workspace 7, class:(TradingView) Config File: /home/armin/.config/hypr/monitors.conf: Read Succeeded # Generated by nwg-displays on 2024-09-05 at 18:42:39. Do not edit manually. monitor=DVI-I-1,1920x1080@60.0,3840x0,1.0 monitor=HDMI-A-1,1920x1080@60.0,0x0,1.0 monitor=DP-1,1920x1080@60.0,1920x0,1.0 monitor=DP-3,1920x1080@60.0,5760x0,1.0 monitor=DP-3,disable Config File: /home/armin/.config/hypr/workspaces.conf: Read Succeeded # Generated by nwg-displays on 2024-08-21 at 21:58:10. Do not edit manually. workspace=1,monitor:DP-1,default:true workspace=3,monitor:DP-1 workspace=5,monitor:DP-1 workspace=2,monitor:HDMI-A-1,default:true workspace=4,monitor:HDMI-A-1 workspace=6,monitor:HDMI-A-1 workspace=7,monitor:DP-1 workspace=8,monitor:DVI-I-1,default:true workspace=9,monitor:DVI-I-1 Config File: /nix/store/5nqbr4x6yb7bmny12m1fda75brsh8naz-source/themes/mocha.conf: Read Succeeded $rosewater = rgb(f5e0dc) $rosewaterAlpha = f5e0dc $flamingo = rgb(f2cdcd) $flamingoAlpha = f2cdcd $pink = rgb(f5c2e7) $pinkAlpha = f5c2e7 $mauve = rgb(cba6f7) $mauveAlpha = cba6f7 $red = rgb(f38ba8) $redAlpha = f38ba8 $maroon = rgb(eba0ac) $maroonAlpha = eba0ac $peach = rgb(fab387) $peachAlpha = fab387 $yellow = rgb(f9e2af) $yellowAlpha = f9e2af $green = rgb(a6e3a1) $greenAlpha = a6e3a1 $teal = rgb(94e2d5) $tealAlpha = 94e2d5 $sky = rgb(89dceb) $skyAlpha = 89dceb $sapphire = rgb(74c7ec) $sapphireAlpha = 74c7ec $blue = rgb(89b4fa) $blueAlpha = 89b4fa $lavender = rgb(b4befe) $lavenderAlpha = b4befe $text = rgb(cdd6f4) $textAlpha = cdd6f4 $subtext1 = rgb(bac2de) $subtext1Alpha = bac2de $subtext0 = rgb(a6adc8) $subtext0Alpha = a6adc8 $overlay2 = rgb(9399b2) $overlay2Alpha = 9399b2 $overlay1 = rgb(7f849c) $overlay1Alpha = 7f849c $overlay0 = rgb(6c7086) $overlay0Alpha = 6c7086 $surface2 = rgb(585b70) $surface2Alpha = 585b70 $surface1 = rgb(45475a) $surface1Alpha = 45475a $surface0 = rgb(313244) $surface0Alpha = 313244 $base = rgb(1e1e2e) $baseAlpha = 1e1e2e $mantle = rgb(181825) $mantleAlpha = 181825 $crust = rgb(11111b) $crustAlpha = 11111b ======Config-End======== ```

Description

I am facing an issue with programs started in gamescope, as the cursor is not shown if

cursor = {
  no_hardware_cursors = false;
  allow_dumb_copy = true;
};

is set in hyprland.conf while using an nvidia gpu.

The problem is that I would need these options set to get screenshots with grimblast working to hide the cursor.

Gamescope does show the cursor if no_hardware_cursors = true is set.

This may just be an issue with gamescope, and nothing related to Hyprland, I don't really know how an interaction between the two works, just that changing a config in Hyprland leads to a problem in gamescope, so I thought of reporting it here. Feel free to just close this issue if it is unrelated to Hyprland.

How to reproduce

Use an nvidia gpu and set the follwing in hyprland.conf

cursor = {
  no_hardware_cursors = false;
  allow_dumb_copy = true;
};

and start any program in gamescope

Crash reports, logs, images, videos

No response

segalll commented 2 days ago

Are you sure this isn't https://github.com/ValveSoftware/gamescope/issues/1099

arminius-smh commented 2 days ago

Are you sure this isn't ValveSoftware/gamescope#1099

I don't think so, the linked issue seems to be about corrupted cursors/no animated cursors, I don't see any cursor at all with allow_dump_copy=true

even a corrupted cursor would be enough for me, the problem for me is mainly only that I can't see any cursor in game menus