Open max-kudinov opened 2 weeks ago
if this is a regression please bisect
if this is a regression please bisect
Sorry for a long reply, took me a while to figure out how to build old versions.
I've managed to bisect first bad commit, it is 6b92144
Not a programmer, so looking at the diff told me nothing
that's an old one. Can I get a WAYLAND_DEBUG=1 log from an app that is moved in a way to cause the bug? (on git)
This is when I open a terminal and move it to another monitor with a window opened.
Another thing that I've noticed now that it's blurry only if I move it to a monitor with another window opened. If the monitor has no windows, then the moved window is sharp as it should be.
And another thing that I forgot to initialy mention is that firefox doesn't have this problem. I've tested alacritty and kitty, and they both have this bug.
Tested OBS, kdenlive and Vscodium wayland, also affected
Bug or Regression?
Regression
System Info and Version
System/Version info
```sh Hyprland, built from branch main at commit cb63398f079b4b4324c04e2e41ba17983d66487c ([gha] Nix: update inputs). Date: Fri Jun 14 23:00:53 2024 Tag: v0.41.1-11-gcb63398f, commits: 4829 flags: (if any) System Information: System name: Linux Node name: UltraStudyingArch Release: 6.9.4-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Wed, 12 Jun 2024 20:17:17 +0000 GPU information: 26:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev ef) (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/mkudinov/.config/hypr/hyprland.conf: Read Succeeded # Hyprland config for my PC ################ ### MONITORS ### ################ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor = DP-1, 2560x1440@144, 1920x0, 1.333333 # right monitor monitor = DP-2, 3840x2160@60, 0x0, 2 # primary monitor = HDMI-A-1, 3840x2160@60, -1920x0, 2 # left monitor workspace = 1, monitor:DP-2 workspace = 2, monitor:DP-1 workspace = 3, monitor:HDMI-A-1 ################### ### MY PROGRAMS ### ################### # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use $terminal = alacritty $menu = rofi -show drun $powerMenu = rofi -show p -modi p:rofi-power-menu ################# ### AUTOSTART ### ################# # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: exec-once = swaybg -i /home/mkudinov/Pictures/wallpapers/board.png exec-once = waybar exec-once = hypridle exec-once = /usr/lib/polkit-kde-authentication-agent-1 exec-once = wl-paste --type text --watch cliphist store #Stores only text data exec-once = wl-paste --type image --watch cliphist store #Stores only image data exec-once = hyprctl dispatch workspace 1 ############################# ### ENVIRONMENT VARIABLES ### ############################# # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = HYPRCURSOR_THEME,HyprBibataModernClassicSVG env = HYPRCURSOR_SIZE,24 env = XCURSOR_THEME,Bibata-Modern-Classic env = XCURSOR_SIZE,24 ##################### ### LOOK AND FEEL ### ##################### # Refer to https://wiki.hyprland.org/Configuring/Variables/ # https://wiki.hyprland.org/Configuring/Variables/#general general { gaps_in = 5 gaps_out = 10 border_size = 2 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(fe8019ee) rgba(d65d0eee) 45deg col.inactive_border = rgba(504945aa) # 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 = 10 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 1.0 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, 5, myBezier animation = windowsOut, 1, 5, default, popin 80% animation = border, 1, 5, default animation = borderangle, 1, 4, default animation = fade, 1, 5, default animation = workspaces, 1, 4, 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_is_master = true } # 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 = true # If true disables the random hyprland logo / anime girl background. :( } ############# ### INPUT ### ############# # https://wiki.hyprland.org/Configuring/Variables/#input input { kb_layout = us, ru kb_variant = , typewriter kb_options = grp:alt_shift_toggle, caps:swapescape repeat_rate = 50 repeat_delay = 210 follow_mouse = 2 sensitivity = -0.8 # -1.0 - 1.0, 0 means no modification. } # 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 } ############## ### CURSOR ### ############## cursor { inactive_timeout = 5 } #################### ### KEYBINDINGSS ### #################### binds { workspace_back_and_forth = true } # See https://wiki.hyprland.org/Configuring/Keywords/ $mainMod = SUPER # Sets "Windows" key as main modifier # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, RETURN, exec, $terminal bind = $mainMod SHIFT, Q, killactive, bind = $mainMod SHIFT, E, exit, bind = $mainMod SHIFT, P, exec, $powerMenu bind = $mainMod, V, togglefloating, bind = $mainMod, D, exec, $menu bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, S, togglesplit, # dwindle bind = $mainMod, F, fullscreen # Move focus with mainMod + arrow keys bind = $mainMod, H, movefocus, l bind = $mainMod, L, movefocus, r bind = $mainMod, K, movefocus, u bind = $mainMod, J, movefocus, d # Move window with mainMod + arrow keys bind = $mainMod SHIFT, H, movewindow, l bind = $mainMod SHIFT, L, movewindow, r bind = $mainMod SHIFT, K, movewindow, u bind = $mainMod SHIFT, J, movewindow, d # Resize active window bind = $mainMod CTRL, H, resizeactive, -50 0 bind = $mainMod CTRL, L, resizeactive, 50 0 bind = $mainMod CTRL, K, resizeactive, 0 -50 bind = $mainMod CTRL, J, resizeactive, 0 50 # 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, M, togglespecialworkspace, bind = $mainMod SHIFT, M, movetoworkspace, special: # 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 # Volume keys bindel=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+ --limit 1.0 bindel=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%- bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Screenshot binds bind = $mainMod, Print, exec, slurp | grim -g - /home/mkudinov/Pictures/screenshot-"$(date +%M:%S)".png bind = , Print, exec, grim -g "$(slurp -d)" - | wl-copy bind = SHIFT, Print, exec, grim -g "$(slurp)" - | swappy -f - bind = CTRL_SHIFT, Print, exec, hyprctl -j activewindow | jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | grim -g - /home/mkudinov/Pictures/screenshot"$(date +%M:%S)".png bind = $mainMod SHIFT, Print, exec, grim /home/mkudinov/Pictures/screenshot"$(date +%M:%S)".png ############################## ### 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)$ # File picker size windowrule = size 1400 800, title:(Open File) windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. ======Config-End======== ```Description
Exact same issue described in #4987 and #1794.
TLDR: moving a wayland window (for example alacritty) from 1.3 scale to 2 scale with
movewindow
bind makes it blurry on higher scale monitor, dragging it with a mouse fixes blurry window.How to reproduce
Move a window from lower scale monitor to higher scale monitor with a keybind
Crash reports, logs, images, videos
No response