Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Artifacts, Glitching in Hyprland #6994

Open
kito30 opened this issue Jul 23, 2024 · 21 comments
Open

Artifacts, Glitching in Hyprland #6994

kito30 opened this issue Jul 23, 2024 · 21 comments
Labels
bug Something isn't working

Comments

@kito30
Copy link

kito30 commented Jul 23, 2024

Regression?

No

System Info and Version

System/Version info
<Paste the output of the command here>
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,[email protected],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

@kito30 kito30 added the bug Something isn't working label Jul 23, 2024
@ikalco
Copy link
Contributor

ikalco commented Jul 23, 2024

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

@kito30
Copy link
Author

kito30 commented Jul 23, 2024

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

@vaxerski
Copy link
Member

have you tried disabling direct scanout in the config?

@firashacker
Copy link

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
Copy link

bug0.mp4

@firashacker
Copy link

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

@vaxerski
Copy link
Member

sounds like a kernel/driver bug then...

@firashacker
Copy link

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

@adam-coates
Copy link

@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
Copy link

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

@kito30
Copy link
Author

kito30 commented Jul 24, 2024

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

@kito30
Copy link
Author

kito30 commented Jul 25, 2024

Yup, kernal problem, downgrading helps.

@kito30
Copy link
Author

kito30 commented Aug 8, 2024

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

@kito30 kito30 reopened this Aug 8, 2024
@firashacker
Copy link

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

@alzheimerspenguin
Copy link

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

@alzheimerspenguin
Copy link

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
Copy link
Author

kito30 commented Aug 9, 2024

Disabling explicit sync did not work for my case

@shpinog
Copy link

shpinog commented Aug 9, 2024

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
Copy link

vldmrshkvrk commented Aug 25, 2024

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

Upd 18.12.24: see also this comment #2385 (comment) with kernel param approach that helped me to resolve this issue in all DEs/WMs

@vaxerski
Copy link
Member

I do not recommend that

@caffeine01
Copy link

caffeine01 commented Dec 7, 2024

I am also having this issue, i am using the latest nix flake, for me it only seems to happen in fullscreen applications (that use opengl or xwayland maybe? idk it was happening in FL Studio through wine and osu!lazer), i do have direct scanout enabled.

EDIT 1:
OKAY so the external monitor which was having the issue is an LG Ultragear bullshit 10bit colour depth monitor thing, i enabled that in my hyprland config, i also disabled direct scanout and explicit sync and the problem seems to have been rectified, i am also using an amd igpu.
I will do more testing tomorrow to find out which parameter i set actually fixed the issue.

EDIT 2:
After doing more testing and a bit of RTFD, i can safely say that the problem is nothing to do with 10bcd or explicit sync, direct scanout is the culprit.
"It is also recommended to set this to false if the fullscreen application shows graphical glitches." - wiki.hyprland.org

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

9 participants