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.79k stars 903 forks source link

Graphical glitches ghosting last image #7248

Closed dlip closed 3 months ago

dlip commented 3 months ago

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 4b4971c06fb02df00a2bd20b6b47b5d0e7d799a7 (). Date: 2024-08-08 Tag: , commits: 4b4971c06fb02df00a2bd20b6b47b5d0e7d799a7 flags: (if any) System Information: System name: Linux Node name: x Release: 6.6.44 Version: #1-NixOS SMP PREEMPT_DYNAMIC Sat Aug 3 06:54:42 UTC 2024 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:4626] (rev 0c) (prog-if 00 [VGA controller]) 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA107M [GeForce RTX 3050 Ti Mobile] [10de:25a0] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 560.28.03 Thu Jul 18 19:32:18 UTC 2024 os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20240804.cb9a96f" 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/dane/.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. # ####################################################################################### # # Please note not all available settings / options are set here. # For a full list, see the wiki # source = ~/.config/hypr/macchiato.conf # See https://wiki.hyprland.org/Configuring/Monitors/ # To see monitors run hyprctl monitors all monitor=,preferred,auto,1 #monitor=HDMI-A-2, 1920x1080, 0x0, 1 #monitor=eDP-1, 1920x1080, 1920x0, 1 # Run hyprctl devices # Display Changes $displayChange = display-change-hyprland >> /tmp/display-change bindl=,switch:Lid Switch,exec,$displayChange exec = $displayChange # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox exec-once = hostname | grep -q dex || (kitty -e p nixconfig & google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland & obsidian --enable-features=UseOzonePlatform --ozone-platform=wayland & discord --enable-features=UseOzonePlatform --ozone-platform=wayland & telegram-desktop & thunar) exec-once = waybar & hypridle & hyprpaper & hyprpaper-random & wl-paste --watch cliphist store & udiskie --tray & blueman-applet & nm-applet & otd-daemon & windowrule = pseudo, fcitx exec-once=fcitx5 -d -r exec-once=fcitx5-remote -r # Set programs that you use $terminal = kitty $fileManager = thunar $menu = wofi --show drun # Some default env vars. # env = HYPRCURSOR_THEME,hyprcursor-catppuccin # env = HYPRCURSOR_SIZE,24 env = XCURSOR_SIZE,24 env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that env = GTK_IM_MODULE, # env = LIBVA_DRIVER_NAME,nvidia # env = XDG_SESSION_TYPE,wayland # env = GBM_BACKEND,nvidia-drm # env = __GLX_VENDOR_LIBRARY_NAME,nvidia # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = -0.3 # -1.0 to 1.0, 0 means no modification. } cursor { inactive_timeout = 3 no_hardware_cursors = true } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 0 gaps_out = 0 border_size = 1 col.active_border = $teal col.inactive_border = $surface1 layout = master # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false } group { col.border_active = $overlay0 groupbar { col.active = $overlay0 col.inactive = $crust text_color = $text } } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 0 blur { enabled = true size = 3 passes = 1 } drop_shadow = no shadow_range = 4 shadow_render_power = 3 col.shadow = $teal col.shadow_inactive = $base; } animations { enabled = no # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more 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 } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = yes # you probably want this } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_status = slave } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = true workspace_swipe_distance = 700 workspace_swipe_fingers = 3 workspace_swipe_cancel_ratio = 0.2 workspace_swipe_min_speed_to_force = 5 workspace_swipe_direction_lock = true workspace_swipe_direction_lock_threshold = 10 workspace_swipe_create_new = true } misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers } # 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 } debug { disable_logs = false } # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # To see list run hyprctl clients windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. windowrulev2 = stayfocused, initialClass:(Rofi) windowrulev2 = workspace 2, initialClass:^(org.telegram.desktop)$ windowrulev2 = workspace 3, initialClass:^(discord)$ windowrulev2 = workspace 4, initialClass:^(google-chrome)$ windowrulev2 = workspace 5, initialClass:^(kitty)$ windowrulev2 = workspace 6, initialClass:^(obsidian)$ windowrulev2 = workspace 7, initialClass:^([Tt]hunar)$ windowrulev2 = group, initialClass:^(kitty)$ windowrulev2 = group, initialClass:^(google-chrome)$ windowrulev2 = group, workspace:4 windowrulev2 = group, workspace:5 windowrulev2 = group, workspace:7 # Inhibit idle when in fullscreen windowrulev2 = idleinhibit fullscreen, class:^(*)$ windowrulev2 = idleinhibit fullscreen, title:^(*)$ windowrulev2 = idleinhibit fullscreen, fullscreen:1 # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Return, exec, $terminal bind = $mainMod, W, killactive, bind = $mainMod SHIFT, Q, exit, bindl = $mainMod SHIFT, D, exec, $displayChange bind = $mainMod, TAB, workspace, previous bind = $mainMod, E, exec, $fileManager bind = $mainMod, F, fullscreen, 0 bind = $mainMod, Space, togglefloating, bind = $mainMod SHIFT, R, exec, hyprctl reload bind = $mainMod, R, exec, rofi -show-icons -show combi -combi-modi 'drun,run' -modi combi bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, C, exec, rofi -modi clipboard:cliphist-rofi-img -show clipboard -show-icons bind = $mainMod, M, exec, rofimoji --action copy --skin-tone neutral bind = $mainMod, Print, exec, save-screenshot bind = $mainMod, B, exec, killall .waybar-wrapped; waybar & disown bind = $mainMod, Q, exec, rofi -show power-menu -modi power-menu:power-menu bind = $mainMod SHIFT, L, exec, pidof hyprlock || hyprlock --immediate && display-change-hyprland bind = $mainMod, G, moveoutofgroup, bind = $mainMod SHIFT, G, togglegroup, bind = $mainMod, Left, changegroupactive,b bind = $mainMod, Right, changegroupactive,f bind = $mainMod SHIFT, Left, movegroupwindow,b bind = $mainMod SHIFT, Right, movegroupwindow,f bind = $mainMod, I, exec, fcitx5-remote -t # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d bind = $mainMod SHIFT, left, movewindow, l bind = $mainMod SHIFT, right, movewindow, r bind = $mainMod SHIFT, up, movewindow, u bind = $mainMod SHIFT, down, movewindow, 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 # Media keys bindel=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ bindel=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bindl=, XF86AudioPlay, exec, playerctl play-pause bindl=, XF86AudioNext, exec, playerctl next bindl=, XF86AudioPrev, exec, playerctl previous bindl=, XF86MonBrightnessUp, exec, brightnessctl set +5% bindl=, XF86MonBrightnessDown, exec, brightnessctl set 5%- bind=, Print, exec, grimshot copy area && save-screenshot bind=SHIFT, Print, exec, grimshot copy screen && save-screenshot Config File: /home/dane/.config/hypr/macchiato.conf: Read Succeeded $rosewaterAlpha = f4dbd6 $flamingoAlpha = f0c6c6 $pinkAlpha = f5bde6 $mauveAlpha = c6a0f6 $redAlpha = ed8796 $maroonAlpha = ee99a0 $peachAlpha = f5a97f $yellowAlpha = eed49f $greenAlpha = a6da95 $tealAlpha = 8bd5ca $skyAlpha = 91d7e3 $sapphireAlpha = 7dc4e4 $blueAlpha = 8aadf4 $lavenderAlpha = b7bdf8 $textAlpha = cad3f5 $subtext1Alpha = b8c0e0 $subtext0Alpha = a5adcb $overlay2Alpha = 939ab7 $overlay1Alpha = 8087a2 $overlay0Alpha = 6e738d $surface2Alpha = 5b6078 $surface1Alpha = 494d64 $surface0Alpha = 363a4f $baseAlpha = 24273a $mantleAlpha = 1e2030 $crustAlpha = 181926 $rosewater = 0xfff5e0dc $flamingo = 0xfff2cdcd $pink = 0xfff5c2e7 $mauve = 0xffcba6f7 $red = 0xfff38ba8 $maroon = 0xffeba0ac $peach = 0xfffab387 $yellow = 0xfff9e2af $green = 0xffa6e3a1 $teal = 0xff94e2d5 $sky = 0xff89dceb $sapphire = 0xff74c7ec $blue = 0xff89b4fa $lavender = 0xffb4befe $text = 0xffcdd6f4 $subtext1 = 0xffbac2de $subtext0 = 0xffa6adc8 $overlay2 = 0xff9399b2 $overlay1 = 0xff7f849c $overlay0 = 0xff6c7086 $surface2 = 0xff585b70 $surface1 = 0xff45475a $surface0 = 0xff313244 $base = 0xff1e1e2e $mantle = 0xff181825 $crust = 0xff11111b ======Config-End======== ```

Description

When the screen changes for any reason, part of the last image gets stuck there for a few seconds, then dissapears

20240809_175957

It started somewhere between these 2 commits

• Updated input 'hyprland':
    'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=2b520571e897be2a0e88c8692da607b062000038' (2024-08-04)
  → 'git+https://github.com/hyprwm/Hyprland?ref=refs/heads/main&rev=4b4971c06fb02df00a2bd20b6b47b5d0e7d799a7' (2024-08-08)

How to reproduce

Change workspace or move any content

Crash reports, logs, images, videos

No response

vaxerski commented 3 months ago

you're on nvidia. have you tried disabling explicit sync?

romanstingler commented 3 months ago

try updating egl-wayland https://github.com/NVIDIA/egl-wayland/releases

    Significant stability fixes for explicit sync which prevents crashes with Firefox/moonlight/more.
    Added the __NV_DISABLE_EXPLICIT_SYNC environment variable. Specifying __NV_DISABLE_EXPLICIT_SYNC=1 disables the use of the linux-drm-syncobj-v1 protocol.
    Fix an issue causing KDE crashes, which also caused excessive VRAM usage when resizing.
    Fix race condition in damage_thread.
dlip commented 3 months ago

Thanks @vaxerski, that fixed it!

render {
    explicit_sync = false
}

I should have read the release notes...