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.07k stars 881 forks source link

Artifacts, Glitching in Hyprland #6994

Open kito30 opened 2 months ago

kito30 commented 2 months ago

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 918d8340afd652b011b937d29d5eea0be08467f5 (flake.lock: update). Date: Tue Jun 25 12:06:02 2024 Tag: v0.41.2, commits: 4886 flags: (if any) System Information: System name: Linux Node name: Kito Release: 6.9.10-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Thu, 18 Jul 2024 18:06:13 +0000 GPU information: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 33 [Radeon RX 7600/7600 XT/7600M XT/7600S/7700S / PRO W7600] [1002:7480] (rev c3) (prog-if 00 [VGA controller]) 78:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 680M] [1002:1681] (rev 0a) (prog-if 00 [VGA controller]) os-release: NAME="EndeavourOS" PRETTY_NAME="EndeavourOS" ID="endeavouros" ID_LIKE="arch" BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://endeavouros.com" DOCUMENTATION_URL="https://discovery.endeavouros.com" SUPPORT_URL="https://forum.endeavouros.com" BUG_REPORT_URL="https://forum.endeavouros.com/c/general-system/endeavouros-installation" PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2" LOGO="endeavouros" plugins: ======Config-Start====== Config File: /home/kito/.config/hypr/hyprland.conf: Read Succeeded # See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox # Source a file (multi-file configs) # source = ~/.config/hypr/myColors.conf source = ~/.config/hypr/monitors.conf source = ~/.config/hypr/workspaces.conf source = ~/.cache/wal/hyprcolors.conf exec-once = copyq --start-server exec-once = dbus-update-activation-environment --all exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = fcitx5 exec-once = waybar exec-once=waypaper --restore exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = nm-applet exec-once = blueman-applet exec-once = sleep 15s && onedrivegui exec-once = sleep 15s && vesktop --start-minimized exec-once = udiskie & exec-once = hypridle exec-once = mako # Set programs that you use $terminal = kitty $fileManager = thunar $menu = rofi -show drun # Some default env vars. env = HYPRCURSOR_SIZE,24 env = XCURSOR_SIZE,24 env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that env = QT_IM_MODULE, fcitx env = XMODIFIERS, @im=fcitx env = SDL_IM_MODULE, fcitx env = GLFW_IM_MODULE, ibus env = INPUT_METHOD, fcitx env = EDITOR, nvim env = BROWSER, google-chrome-stable # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us kb_variant = kb_model = kb_options = kb_rules = touchpad { natural_scroll = yes } sensitivity =0# -1.0 - 1.0, 0 means no modification. } general { # See https://wiki.hyprland.org/Configuring/Variables/ for more resize_on_border = true gaps_in = 0 gaps_out = 0 border_size = 5 col.active_border = $color2 col.inactive_border = $color0 layout = dwindle # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false } decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 5 blur { enabled = true new_optimizations = true size = 5 passes = 2 } drop_shadow = true shadow_range = 6 shadow_render_power = 1 col.shadow = $color2 } misc { vfr = 1 # layers_hog_mouse_focus = true animate_manual_resizes = true animate_mouse_windowdragging = true disable_hyprland_logo = true force_default_wallpaper = 0 } animations { enabled = yes # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more # bezier = overshot, 0.05,0.9,0.1,1.1 animation = windows, 1, 7, overshot, slide animation = windowsIn, 1, 7, overshot, slide animation = windowsOut, 1, 7, overshot, slide animation = windowsMove, 1, 7, overshot, slide animation = border, 1, 7, default animation = fade, 1, 7, overshot, animation = workspaces, 1,7, overshot, slide } 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 = no # you probably want this } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more orientation = left allow_small_split=true } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = on } # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more device{ name = epic-mouse-v1 sensitivity = -0.5 } device{ name = tpps/2-elan-trackpoint sensitivity = 10 } # Example windowrule v1 # windowrule = float, ^(kitty)$ windowrule = opacity 0.85, ^(Code)$ windowrule = opacity 0.9, ^(vesktop)$ windowrule = float, ^(python3)$ windowrule = size 417 500, ^(python3)$ windowrule = float, ^(Waydroid)$ windowrule = fullscreen, ^(Waydroid) windowrulev2 = opacity 0.9,class:(google-chrome)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, $terminal bind = ALT, F4, killactive, bind = $mainMod, M, exit, bind = $mainMod, E, exec, $fileManager bind = $mainMod, V, togglefloating, bind = $mainMod, $mainMod_L, exec, pkill rofi || rofi -show drun bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle #LOCK SCEEN bind = $mainMod, L , exec, hyprlock #Screenshot bind = $mainMod SHIFT, S, exec, grim -g "$(slurp)" - | swappy -f - # Move focus with CTRL ALT + VIM KEYS bind = CTRL ALT, J, movefocus, l bind = CTRL ALT,L, movefocus, r bind = CTRL ALT, I, movefocus, u bind = CTRL ALT, K, movefocus, d # Screen brightness bind = , XF86MonBrightnessUp, exec, brightnessctl s +10% bind = , XF86MonBrightnessDown, exec, brightnessctl s 10%- #Swap window bind = CTRL $mainMod, J, swapwindow, l bind = CTRL $mainMod, L, swapwindow, r bind = CTRL $mainMod, K, swapwindow, d bind = CTRL $mainMod, I, swapwindow, u #FULLSCREEN bind = CTRL ALT, F, fullscreen,1 # 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 #AUDIO binde=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+ binde=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # 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 ALT, 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 #RESIZE WINDOWS # will switch to a submap called resize bind=ALT,R,submap,resize # will start a submap called "resize" submap=resize # sets repeatable binds for resizing the active window binde=,L,resizeactive,10 0 binde=,J,resizeactive,-10 0 binde=,I,resizeactive,0 -10 binde=,K,resizeactive,0 10 # use reset to go back to the global submap bind=,escape,submap,reset # will reset the submap, meaning end the current one and return to the global one submap=reset # keybinds further down will be global agatrue/ #Bind Layout bind = SHIFTALT, L, exec, hyprctl keyword general:layout "dwindle" bind = SUPERSHIFT, L, exec, hyprctl keyword general:layout "master" Config File: /home/kito/.config/hypr/monitors.conf: Read Succeeded # Generated by nwg-displays on 2024-07-23 at 13:22:01. Do not edit manually. monitor=eDP-2,1920x1200@165.01,0x0,1.0 Config File: /home/kito/.config/hypr/workspaces.conf: Read Succeeded # Generated by nwg-displays on 2024-03-22 at 15:55:41. Do not edit manually. workspace=1,monitor:eDP-1,default:true workspace=2,monitor:eDP-1 workspace=3,monitor:eDP-1 workspace=4,monitor:eDP-1 workspace=5,monitor:eDP-1 workspace=6,monitor:HDMI-A-1,default:true workspace=7,monitor:HDMI-A-1 workspace=8,monitor:HDMI-A-1 workspace=9,monitor:HDMI-A-1 workspace=10,monitor:HDMI-A-1 ======Config-End======== ```

Description

Screen glitching on Hyprland

How to reproduce

Happened frequently while using

Crash reports, logs, images, videos

Screenshot_20240723_133313_Gallery

ikalco commented 2 months ago

this looks like broken direct scanout which is fixed in git so try using hyprland-git

kito30 commented 2 months ago

I tried with the latest git. The same problem stil occur

vaxerski commented 2 months ago

have you tried disabling direct scanout in the config?

firashacker commented 2 months ago

i had the same issue and repoerted it then i changed kernel from cachyos kernel to tkg kernel and every thing worked fine so i thought it was not hyprland issue, but i'm using the default linux kernel on archlinux now and i got the same issue and green glitches on the screen so i opened the browser to rereport this issue and found you did it

@vaxerski so it was real issue i hope it will be fixed in mainstream as soon as possible i wouldn't use git

firashacker commented 2 months ago

https://github.com/user-attachments/assets/f36994b6-c399-4c02-9a46-f70abcd50974

firashacker commented 2 months ago

this only happen when my config set screen 144hz (max fps for me)

vaxerski commented 2 months ago

sounds like a kernel/driver bug then...

firashacker commented 2 months ago

@vaxerski i didn't change any gpu driver and everything works fine this only happen in hyprland

adam-coates commented 2 months ago

@firashacker I have a very similar problem as you describe. The only solution I think for now is to reduce the Hz to 60. But I am unaware of any bug reports in kernel/ driver.

firashacker commented 2 months ago

UPDATE: i found out this only happens using zen and zen based kernels

kito30 commented 2 months ago

I'm using default linux kernal and the issue still occurred.

kito30 commented 2 months ago

Yup, kernal problem, downgrading helps.

kito30 commented 2 months ago

Happening again with the latest git. Switching with old kernals and new kernals seems doenst help.

firashacker commented 2 months ago

@kito30 so its not kernel issue it looks like hyprland is using kernel specific binary

alzheimerspenguin commented 2 months ago

I have this too on latest, I can post more info tomorrow.

alzheimerspenguin commented 2 months ago

Update: Disabling direct scanout didn't fix it.

Update 2: Disabling Explicit Sync fixes it!

I'll do logs tomorrow I have to go to bed :(

I'm using an ROG Strix G513QY with the DP out.

kito30 commented 2 months ago

Disabling explicit sync did not work for my case

shpinog commented 2 months ago

Same thing, 680m map. I don’t think the problem is in the kernel, I ran sway to check and there are no artifacts there.

vldmrshkvrk commented 1 month ago

disabling vfr (Misc section here https://wiki.hyprland.org/Configuring/Variables/#sections) resolved the issue with random green artifacts for me on Thinkpad T14 Gen3 with 680m igpu

vaxerski commented 1 month ago

I do not recommend that