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.75k stars 900 forks source link

Blur stopped working on xwayland windows #8531

Closed zjeffer closed 1 hour ago

zjeffer commented 14 hours ago

Already reported ? *

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland 0.45.0 built from branch main at commit 8d5cdedbd350b4730a1aa57dc5491c88dff3415e (hyprpm: fix format crash). Date: Sun Nov 17 17:46:49 2024 Tag: v0.45.0-33-g8d5cdedb, commits: 5466 built against aquamarine 0.5.0 flags set: debug System Information: System name: Linux Node name: zjeffer Release: 6.11.8-arch1-2 Version: #1 SMP PREEMPT_DYNAMIC Fri, 15 Nov 2024 15:35:07 +0000 GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q] [10de:24dd] (rev a1) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX x86_64 Kernel Module 565.57.01 Thu Oct 10 12:29:05 UTC 2024 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: split-monitor-workspaces by Duckonaut ver 1.2.0 ======Config-Start====== Config File: /home/zjeffer/.config/hypr/hyprland.conf: Read Succeeded # ################################################################### # ██╗ ██╗██╗ ██╗██████╗ ██████╗ ██╗ █████╗ ███╗ ██╗██████╗ # ██║ ██║╚██╗ ██╔╝██╔══██╗██╔══██╗██║ ██╔══██╗████╗ ██║██╔══██╗ # ███████║ ╚████╔╝ ██████╔╝██████╔╝██║ ███████║██╔██╗ ██║██║ ██║ # ██╔══██║ ╚██╔╝ ██╔═══╝ ██╔══██╗██║ ██╔══██║██║╚██╗██║██║ ██║ # ██║ ██║ ██║ ██║ ██║ ██║███████╗██║ ██║██║ ╚████║██████╔╝ # ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ # ################################################################### $HYPR_FOLDER = ~/.config/hypr $APP_FOLDER = $HYPR_FOLDER/apps $CONFIG_FOLDER = $HYPR_FOLDER/configs source = $CONFIG_FOLDER/env.conf source = $CONFIG_FOLDER/general.conf source = $CONFIG_FOLDER/animations.conf source = $CONFIG_FOLDER/decoration.conf source = $CONFIG_FOLDER/monitors.conf source = $CONFIG_FOLDER/window_rules.conf source = $CONFIG_FOLDER/keybinds.conf source = $CONFIG_FOLDER/input.conf source = $CONFIG_FOLDER/workspace_rules.conf source = $CONFIG_FOLDER/plugins.conf # Execute your favorite apps at launch exec-once = xhost + local: exec-once = /usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = hyprpaper --config $APP_FOLDER/hyprpaper.conf exec-once = nm-applet exec-once = dunst exec-once = ~/.config/activePlayer/mediaplayers.sh 2>~/.config/activePlayer/.mediaplayer.err exec-once = hyprpm reload -n exec-once = ydotoold exec-once = bash $APP_FOLDER/waybar/launch.sh exec-once = swayosd-server exec-once = /home/zjeffer/.local/share/cargo/bin/hyprswitch init --show-title & # this should always be at the bottom exec-once = dbus-update-activation-environment --systemd --all Config File: /home/zjeffer/.config/hypr/configs/env.conf: Read Succeeded # Some default env vars. env = XCURSOR_SIZE,32 env = XCURSOR_THEME,Nordzy-cursors-white env = HYPRCURSOR_THEME,Nordzy-cursors-white env = HYPRCURSOR_SIZE,32 env = LIBVA_DRIVER_NAME,nvidia env = XDG_SESSION_TYPE,wayland env = GBM_BACKEND,nvidia-drm env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = SDL_VIDEODRIVER,wayland,x11 env = _JAVA_AWT_WM_NONREPARENTING,1 env = __GL_GSYNC_ALLOWED,0 env = __GL_VRR_ALLOWED,0 env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = WLR_DRM_NO_ATOMIC,1 env = GBM_BACKEND,nvidia-drm env = XDG_CURRENT_DESKTOP,Hyprland env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = QT_QPA_PLATFORM,wayland env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = DESKTOP_SESSION,gnome env = MOZ_ENABLE_WAYLAND,1 # gtk env = GDK_BACKEND,wayland # xdg stuff env = XDG_CONFIG_HOME,$HOME/.config env = XDG_CACHE_HOME,$HOME/.cache env = XDG_DATA_HOME,$HOME/.local/share env = XDG_DATA_DIRS,/usr/local/share:/usr/share env = XDG_CONFIG_DIRS,/etc/xdg # environment variables to use in configs env = EWW_CONFIG_DIR,$HOME/.config/eww env = APP_FOLDER,$HOME/.config/hypr/apps env = PLUGIN_FOLDER,$HOME/.local/share/hyprload/plugins/bin # docking station workaround: use correct GPU # env = AQ_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1 Config File: /home/zjeffer/.config/hypr/configs/general.conf: Read Succeeded general { # See https://wiki.hyprland.org/Configuring/Variables/ for more gaps_in = 5 gaps_out = 10 border_size = 4 col.active_border = rgba(5e81acff) col.inactive_border = rgba(00000000) layout = dwindle } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section preserve_split = true # you probably want this } misc { vrr = 2 render_ahead_of_time = false focus_on_activate = true force_default_wallpaper = 0 initial_workspace_tracking = 0 } debug { overlay = false disable_logs = false disable_time = false error_limit = 1 error_position = 2 # bottom } opengl { nvidia_anti_flicker = true } Config File: /home/zjeffer/.config/hypr/configs/animations.conf: Read Succeeded animations { enabled = true # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more animation = windows, 1, 1, default animation = windowsOut, 1, 2, default animation = border, 1, 5, default animation = borderangle, 1, 8, default animation = fade, 1, 3, default animation = workspaces, 1, 4, default animation = specialWorkspace, 1, 4, default, slidevert } Config File: /home/zjeffer/.config/hypr/configs/decoration.conf: Read Succeeded decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more rounding = 5 blur { enabled = true size = 15 passes = 2 ignore_opacity = true new_optimizations = true } shadow { enabled = true range = 4 render_power = 3 color = rgba(2e3440ee) color_inactive = rgba(00000000) } } Config File: /home/zjeffer/.config/hypr/configs/monitors.conf: Read Succeeded # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=desc:California Institute of Technology 0x1600, 2560x1600@165.018997, 1920x0, 1 monitor=desc:Acer Technologies K222HQL T0EEE0018512, 1920x1080@60, 4480x0, 1 monitor=desc:Philips Consumer Electronics Company PHL 240V5A UK01715035811, 1920x1080@60, 0x0, 1 monitor=desc:DENON Ltd. DENON-AVR 0x01010101, preferred, auto, 1, mirror, desc:California Institute of Technology 0x1600 # Denon # monitor=desc:DENON Ltd. DENON-AVR 0x01010101, preferred, auto, 1 # Denon monitor=,preferred,auto,1 Config File: /home/zjeffer/.config/hypr/configs/window_rules.conf: Read Succeeded windowrulev2 = float, title:^(Open Folder)$ windowrulev2 = float, title:^(Open File)$ windowrulev2 = float, title:^(Save As)$ windowrulev2 = float, title:^(Friends List)$ windowrulev2 = float, title:^(File Operation Progress)$ windowrulev2 = float, title:^(Firefox — Sharing Indicator)$ windowrulev2 = suppressevent fullscreen,float, title:^(Extension: (Bitwarden - Free Password Manager) - — Mozilla Firefox)$ windowrulev2 = suppressevent fullscreen,float, title:^(Extension: (Bitwarden - Free Password Manager) - Bitwarden — Mozilla Firefox)$ windowrulev2 = suppressevent fullscreen,float, title:^(Extension: (Bitwarden Password Manager) - Bitwarden — Mozilla Firefox)$ # windowrulev2 = suppressevent fullscreen,tile,class:^(libreoffice.*)$ windowrulev2 = float, class:^(flameshot)$ windowrulev2 = noanim, float, class:^(Rofi)$ windowrulev2 = float, class:^(org.gnome.Calculator)$ # opacity windowrulev2 = opacity 0.85, class:[gG]nome-terminal* windowrulev2 = opacity 0.85, class:kitty windowrulev2 = opacity 0.90, initialTitle:^(Spotify( Premium)?)$ windowrulev2 = opacity 0.90, class:Code windowrulev2 = opacity 0.90, class:Code - Insiders windowrulev2 = opacity 0.90, class:code-url-handler windowrulev2 = opacity 0.90, class:code-insiders-url-handler windowrulev2 = opacity 0.80, class:[Tt]hunar windowrulev2 = opacity 0.70, class:Dunst windowrulev2 = opacity 0.95, class:discord # flameshot workaround windowrulev2=move 0 0,title:^(flameshot) windowrulev2=suppressevent fullscreen,title:^(flameshot) # steam friends list workaround windowrulev2 = stayfocused, title:^()$,class:^(steam)$ windowrulev2 = minsize 320 600, initialTitle:^(Friends List)$,initialClass:^(steam)$ # jellyfin media player # windowrulev2 = tile, initialClass:^(Jellyfin Media Player)$ windowrulev2 = tile, initialTitle:^(Jellyfin Media Player)$ Config File: /home/zjeffer/.config/hypr/configs/keybinds.conf: Read Succeeded # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # window control bind = $mainMod, W, killactive, bind = $mainMod SHIFT, W, exec, kill -9 $(hyprctl activewindow -j | jq -r '.pid') bind = $mainMod CTRL SHIFT, Escape, exit, bind = $mainMod, S, togglefloating, bind = $mainMod, F, fullscreen bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle # reload hyprland and send a inotify reload to waybar at .config/waybar/config.json bind = $mainMod, Escape, exec, hyprctl reload && hyprpm reload && sleep 0.5 && touch -m $APP_FOLDER/waybar/config.jsonc # applications bindr =$mainMod, SUPER_L, exec, pkill rofi || ~/.config/rofi/bin/launcher_colorful bind = $mainMod, return, exec, kitty bind = $mainMod SHIFT, return, togglespecialworkspace bind = $mainMod, Z, exec, firefox bind = $mainMod SHIFT, Z, exec, chromium bind = $mainMod, X, exec, thunar bind = $mainMod, A, exec, /usr/bin/spotify --ozone-platform-hint=wayland bind = $mainMod, Q, exec, code bind = $mainMod, D, exec, discord bind = ,Print,exec, grimblast copy area bind = $mainMod, Print, exec, grimblast copy output bind = $mainMod SHIFT, C, exec, hyprpicker -a -f hex bind = CTRL SHIFT, Escape, exec, gnome-system-monitor # hyprswitch bind = ALT, TAB, exec, /home/zjeffer/.local/share/cargo/bin/hyprswitch simple bind = $mainMod, TAB, exec, /home/zjeffer/.local/share/cargo/bin/hyprswitch gui --mod-key super_l --key TAB --close mod-key-release && /home/zjeffer/.local/share/cargo/bin/hyprswitch dispatch -r # 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 # move window with arrow keys bind = $mainMod SHIFT, left, movewindow, l bind = $mainMod SHIFT, right, movewindow, r bind = $mainMod SHIFT, up, movewindow, u bind = $mainMod SHIFT, down, movewindow, d # Tabbed windows bind = $mainMod, g, togglegroup # Switch workspaces with mainMod + [0-5] bind = $mainMod, 1, split-workspace, 1 bind = $mainMod, 2, split-workspace, 2 bind = $mainMod, 3, split-workspace, 3 bind = $mainMod, 4, split-workspace, 4 bind = $mainMod, 5, split-workspace, 5 # Move active window to a workspace with mainMod + SHIFT + [0-5] bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1 bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2 bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3 bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4 bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5 # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, r+1 bind = $mainMod, mouse_up, workspace, r-1 # focus with left/right bracket bind = $mainMod, bracketleft, workspace, r-1 bind = $mainMod, bracketright, workspace, r+1 # move with shift + left/right bracket bind = $mainMod SHIFT, bracketleft, movetoworkspace, r-1 bind = $mainMod SHIFT, bracketright, movetoworkspace, r+1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow # media keys bindle = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ bindle = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bind =, XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle bind =, XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle bind =, XF86AudioPlay, exec, ~/.config/activePlayer/control.sh play-pause bind =, XF86AudioPrev, exec, ~/.config/activePlayer/control.sh previous bind =, XF86AudioNext, exec, ~/.config/activePlayer/control.sh next bind =, XF86AudioStop, exec, ~/.config/activePlayer/control.sh stop bind = SHIFT, XF86AudioPrev, exec, ~/.config/activePlayer/control.sh skipBackward bind = SHIFT, XF86AudioNext, exec, ~/.config/activePlayer/control.sh skipForward # dunst notifications bind = $mainMod, space, exec, dunstctl close bind = $mainMod SHIFT, space, exec, dunstctl history-pop # brightness binde = , XF86MonBrightnessUp, exec, brightnessctl -d nvidia* set +10% binde = , XF86MonBrightnessDown, exec, brightnessctl -d nvidia* set 10%- # screen lock bindl= , switch:on:Lid Switch, exec, $APP_FOLDER/swaylock/lock.sh && sleep 2 && systemctl suspend-then-hibernate bind = $mainMod, L, exec, hyprlock # forward and back with mouse buttons bind = $mainMod, 123, exec, ydotool key 159:1 159:0 bind = $mainMod, 122, exec, ydotool key 158:1 158:0 # forward global shortcuts bind = $mainMod SHIFT, N, pass, ^(io\.github\.nuttyartist\.notes)$ # passthrough mainMod to virtual machine bind = $mainMod, O, submap, passthru submap = passthru bind = $mainMod, I, submap, reset submap = reset # # ### swayosd ### # bind = , XF86AudioRaiseVolume, exec, swayosd-client --output-volume # bind = , XF86AudioLowerVolume, exec, swayosd-client --output-volume # # Sink volume toggle mute # bind = , XF86AudioMute, exec, swayosd-client --output-volume mute-toggle # # Source volume toggle mute # bind = , XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle # # Brightness raise # bind = , XF86MonBrightnessUp, exec, swayosd-client --brightness raise # # Brightness lower # bind = , XF86MonBrightnessDown, exec, swayosd-client --brightness lower Config File: /home/zjeffer/.config/hypr/configs/input.conf: Read Succeeded # 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 { clickfinger_behavior = true scroll_factor = 0.25 middle_button_emulation = true tap-and-drag = true natural_scroll = true } sensitivity = -0.5 # -1.0 - 1.0, 0 means no modification. numlock_by_default = 1 repeat_rate = 50 repeat_delay = 200 accel_profile = flat } cursor { no_hardware_cursors = true } # Per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { name = elan06fa:00-04f3:31ad-touchpad sensitivity = 0.4 accel_profile = flat natural_scroll = true } gestures { # See https://wiki.hyprland.org/Configuring/Variables/ for more workspace_swipe = true } misc { } Config File: /home/zjeffer/.config/hypr/configs/workspace_rules.conf: Read Succeeded workspace = special:special, on-created-empty:kitty, gapsout:48 Config File: /home/zjeffer/.config/hypr/configs/plugins.conf: Read Succeeded plugin { split-monitor-workspaces { count = 5 keep_focused = 1 enable_notifications = 0 enable_persistent_workspaces = 1 } } ======Config-End======== ```

Description

Blur doesn't work since I updated to latest git yesterday.

Left: discord through xwayland, right: kitty (native wayland)

image

Likely caused by 4f591e807abe1865d8f8135a1a64932cc418d0f0 ?

How to reproduce

  1. Enable blur
  2. Set an opacity window rule to < 1 on xwayland applications
  3. Launch an xwayland application

The window will be transparent but not blurred.

Crash reports, logs, images, videos

No response

vaxerski commented 14 hours ago

patch.txt me when the

zjeffer commented 14 hours ago

works

notquitethereyet commented 1 hour ago

do i need to wait for a fix or can i do something about this?