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.73k stars 838 forks source link

Google chrome rendering freezing #7814

Open jsenecal opened 5 days ago

jsenecal commented 5 days ago

Already reported ? *

Regression?

Maybe, new laptop, new hardware, new install. Never seen this on my older laptop.

System Info and Version

System/Version info Hyprland, built from branch main at commit 85da1a17d831e2b5db9c1c1e4ce6427d63563562 ([gha] build man pages). Date: Mon Sep 9 11:19:44 2024 Tag: v0.43.0-9-g85da1a17, commits: 5205 flags: (if any) System Information: System name: Linux Node name: L9430 Release: 6.6.48-1-lts Version: #1 SMP PREEMPT_DYNAMIC Thu, 29 Aug 2024 17:56:14 +0000 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-UP3 GT2 [Iris Xe Graphics] [8086:46a8] (rev 0c) (prog-if 00 [VGA controller]) os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo plugins: ======Config-Start====== Config File: /home/jsenecal/.config/hypr/hyprland.conf: Read Succeeded ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ #monitor=,preferred,auto,auto monitor = eDP-1, highres, 0x0, 1.25 monitor = desc:Samsung Electric Company C49RG9x H1AK500000, 5120x1440@60, -1540x-1440, 1, vrr, 2 # default monitor = , highres, auto, 1 ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = kitty $fileManager = dolphin #$menu = wofi --show drun ################# ### AUTOSTART ### ################# # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: exec-once = /home/jsenecal/.bin/xdph.sh exec-once = dbus-update-activation-environment --systemd --all exec-once = /usr/lib/polkit-kde-authentication-agent-1 exec-once = systemctl --user import-environment QT_QPA_PLATFORMTHEME exec-once = hyprpaper exec-once = rot8 --display eDP-1 exec-once = mako exec-once = nm-applet exec-once = sleep 3; waybar exec-once = $terminal exec-once = hypridle exec-once = /usr/lib/polkit-kde-authentication-agent-1 ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 env = _JAVA_AWT_WM_NONREPARENTING,1 env = QT_QPA_PLATFORM,wayland env = QT_QPA_PLATFORMTHEME,qt6ct env = XDG_CURRENT_DESKTOP,Hyprland ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 2 gaps_out = 4 border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = false # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false layout = dwindle } # https://wiki.hyprland.org/Configuring/Variables/#decoration decoration { rounding = 5 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 0.8 drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(1a1a1aee) # https://wiki.hyprland.org/Configuring/Variables/#blur blur { enabled = true size = 3 passes = 1 vibrancy = 0.1696 } } # https://wiki.hyprland.org/Configuring/Variables/#animations animations { enabled = true # 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 } # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this } # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more master { new_status = master } # https://wiki.hyprland.org/Configuring/Variables/#misc misc { force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = ca,ca kb_variant = eng,, kb_model = kb_options = grp:ctrl_alt_toggle kb_rules = follow_mouse = 1 sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { natural_scroll = true middle_button_emulation = true } touchdevice { output = eDP-1 } } # https://wiki.hyprland.org/Configuring/Variables/#gestures gestures { workspace_swipe = true workspace_swipe_fingers = 3 } # 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 #} #################### ### KEYBINDINGSS ### #################### # See https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = SUPER # Sets "Windows" key as main modifier $shiftMod = SUPERSHIFT # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, return, exec, $terminal bind = $mainMod, C, killactive, bind = $shiftMod, X, exit, bind = $mainMod, E, exec, $fileManager bind = $mainMod, F, fullscreen bind = $mainMod, space, togglefloating, bind = $mainMod, R, exec, bash -c 'hyprctl dispatch exec $(~/.config/hypr/kittymenu.sh)' bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle bind = $mainMod, L, exec, loginctl lock-session bind = $mainMod, g, exec, google-chrome-stable bind = SHIFT, Print, exec, grim -g "$(slurp)" ~/Pictures/Screenshots/$(date +%s).png # 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 # 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 workspaces around bind = $shiftMod,left,movecurrentworkspacetomonitor,l bind = $shiftMod,right,movecurrentworkspacetomonitor,r bind = $shiftMod,up,movecurrentworkspacetomonitor,u bind = $shiftMod,down,movecurrentworkspacetomonitor,d # Audio stuff bind = ,XF86AudioRaiseVolume,exec,pactl set-sink-volume @DEFAULT_SINK@ +5% bind = ,XF86AudioLowerVolume,exec,pactl set-sink-volume @DEFAULT_SINK@ -5% bind = ,XF86AudioMute,exec,pactl set-sink-mute @DEFAULT_SINK@ toggle # Brightness bind = ,XF86MonBrightnessDown,exec,sudo light -U 5 bind = ,XF86MonBrightnessUp,exec,sudo light -A 5 # Move/resize windows with mainMod + LMB/RMB and dragging # 0x110 (key 272) left click button - mapping BTN_LEFT # 0x111 (key 273) right click button - mapping BTN_RIGHT # 0x112 (key 274) middle button (scroll button) - mapping BTN_MIDDLE # 0x113 (key 275) back/previous button - mapping BTN_SIDE # 0x114 (key 276) forward/next button - mapping BTN_EXTRA bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow bind = $mainMod, mouse:274, killactive ############################## ### WINDOWS AND WORKSPACES ### ############################## # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. # Kittymenu windowrulev2 = float, class:^(kitty-menu)$ windowrulev2 = center, class:^(kitty-menu)$ windowrulev2 = size 800 200, class:^(kitty-menu)$ windowrulev2 = dimaround, class:^(kitty-menu)$ windowrulev2 = pin, class:^(kitty-menu)$ # Things that float windowrulev2 = float, class:^(org.gnome.Calculator)$ # Prevent sleep with fullscreen windowrulev2 = idleinhibit fullscreen, fullscreen:1 # Workspace rules windowrulev2 = workspace 2, class:^(google-chrome)$ windowrulev2 = workspace 3, class:^(code|code-url-handler)$ windowrulev2 = workspace 4, class:^(mpv)$ windowrulev2 = workspace 5, class:^(Slack|discord)$ windowrulev2 = opacity 1.0 override 1.0 override, class:^(google-chrome)$ windowrulev2 = opacity 1.0 override 1.0 override, class:^(mpv)$ ======Config-End========

Description

Similar to https://github.com/hyprwm/Hyprland/issues/2033, every now and then, google chrome hangs. The tabs can still be switched, but the content is not rendered. It appears the inputs are still grabbed. Resizing the window produces video artifacts in chrome.

Going into chrome's task manager and killing the "GPU process" fixes the issue temporarily for this instance of google chrome, but opening a new tab freezes the browser again. Killing google chrome completely and restarting it solves the issue until the next occurence.

Happens more often when external monitors are connected or when resuming from "dpms off" but can occur when swtiching workspaces.

How to reproduce

Happens more often when external monitors are connected or when resuming from "dpms off" but can occur when swtiching workspaces. I dont have a easilly reproducible chain of events to provide unfortunately as this is an intermittent issue.

Crash reports, logs, images, videos

Any pointers for logs you would like included are welcome.

Chrome flags:

--enable-features=Vulkan,VulkanFromANGLE,DefaultANGLEVulkan,VaapiIgnoreDriverChecks,VaapiVideoDecoder,UseMultiPlaneFormatForHardwareVideo,VaapiVideoEncoder --ozone-platform=wayland --use-angle=vulkan
vaxerski commented 5 days ago

"maybe" is not an answer. Build an older version.

jsenecal commented 5 days ago

I will try to replicate on an older build, pre aquamarine, then go from there.