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.83k stars 908 forks source link

Rendering issues on current display setup (OBS, Hyprpicker, Screenshot utilities etc) #8134

Open MrDogeFace opened 1 month ago

MrDogeFace commented 1 month ago

Already reported ? *

Regression?

No

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 4520b30d498daca8079365bdb909a8dea38e8d55 (version: bump to 0.44.1). Date: Wed Oct 9 12:54:39 2024 Tag: v0.44.1, commits: 5309 built against aquamarine 0.4.2 flags: (if any) System Information: System name: Linux Node name: endogenyx Release: 6.11.3-zen1-1-zen Version: #1 ZEN SMP PREEMPT_DYNAMIC Thu, 10 Oct 2024 20:11:02 +0000 GPU information: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c1) (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/dg/.config/hypr/hyprland.conf: Read Succeeded # _ _ _ _ # | | | |_ _ _ __ _ __| | __ _ _ __ __| | # | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` | # | _ | |_| | |_) | | | | (_| | | | | (_| | # |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_| # |___/|_| # # ----------------------------------------------------- # IMPORTANT: Don't overwrite ML4W configuration. # Create your own custom configuration variation instead. # https://github.com/mylinuxforwork/dotfiles/wiki/Configuration-Variations # ----------------------------------------------------- # Monitor # ----------------------------------------------------- source = ~/.config/hypr/conf/monitor.conf # ----------------------------------------------------- # Autostart # ----------------------------------------------------- source = ~/.config/hypr/conf/autostart.conf # ----------------------------------------------------- # Cursor # ----------------------------------------------------- source = ~/.config/hypr/conf/cursor.conf # ----------------------------------------------------- # Environment # ----------------------------------------------------- source = ~/.config/hypr/conf/environment.conf # ----------------------------------------------------- # Keyboard # ----------------------------------------------------- source = ~/.config/hypr/conf/keyboard.conf # ----------------------------------------------------- # Load pywal color file # ----------------------------------------------------- source = ~/.cache/wal/colors-hyprland.conf # ----------------------------------------------------- # Load configuration files # ----------------------------------------------------- source = ~/.config/hypr/conf/window.conf source = ~/.config/hypr/conf/decoration.conf source = ~/.config/hypr/conf/layout.conf source = ~/.config/hypr/conf/misc.conf source = ~/.config/hypr/conf/keybinding.conf source = ~/.config/hypr/conf/windowrule.conf # ----------------------------------------------------- # Animation # ----------------------------------------------------- source = ~/.config/hypr/conf/animation.conf # ----------------------------------------------------- # Custom # ----------------------------------------------------- source = ~/.config/hypr/conf/custom.conf # ----------------------------------------------------- # ML4W Configuration # ----------------------------------------------------- source = ~/.config/hypr/conf/ml4w.conf # ----------------------------------------------------- # Environment for xdg-desktop-portal-hyprland # ----------------------------------------------------- exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP Config File: /home/dg/.config/hypr/conf/monitor.conf: Read Succeeded source = ~/.config/hypr/conf/monitors/4K.conf Config File: /home/dg/.config/hypr/conf/monitors/4K.conf: Read Succeeded monitor=DP-1,2560x1440@155,0x0,1 monitor=DP-3,3840x2160@60,0x-1440,1.5,transform,2 monitor=DP-2,1920x1080@60,2560x-1000,1,transform,3 input { touchdevice { transform = 3 output = DP-2 } } Config File: /home/dg/.config/hypr/conf/autostart.conf: Read Succeeded # ----------------------------------------------------- # Autostart # ----------------------------------------------------- # Setup XDG for screen sharing exec-once = ~/.config/hypr/scripts/xdg.sh # Start Polkit # Test Polkit pkexec --user username alacritty exec-once=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # Load Dunst Notification Manager exec-once = dunst # Load GTK settings exec-once = ~/.config/hypr/scripts/gtk.sh # Using hypridle to start hyprlock exec-once = hypridle # Load cliphist history exec-once = wl-paste --watch cliphist store # Start ewww daemon exec-once = ags & # Initialize waypaper # exec-once = waypaper --restore exec-once = swww-daemon # Launch Waybar exec-once = ~/.config/waybar/launch.sh # Start autostart cleanup exec-once = ~/.config/hypr/scripts/cleanup.sh # wallpaper/welcome script i am so cool (no) exec-once = ~/Documents/.other/start.sh # Load configuration from ML4W Hyprland Settings App exec = ~/.config/ml4w-hyprland-settings/hyprctl.sh exec-once = com.core447.StreamController -b Config File: /home/dg/.config/hypr/conf/cursor.conf: Read Succeeded exec-once = hyprctl setcursor Bibata-Modern-Classic 24 Config File: /home/dg/.config/hypr/conf/environment.conf: Read Succeeded source = ~/.config/hypr/conf/environments/default.conf Config File: /home/dg/.config/hypr/conf/environments/default.conf: Read Succeeded # ----------------------------------------------------- # Environment Variables # name: "Default" # ----------------------------------------------------- # Default Settings in ml4w.conf Config File: /home/dg/.config/hypr/conf/keyboard.conf: Read Succeeded # ----------------------------------------------------- # Keyboard Layout # https://wiki.hyprland.org/Configuring/Variables/#input # ----------------------------------------------------- input { kb_layout = us kb_variant = kb_model = kb_options = numlock_by_default = true mouse_refocus = false # For United States # kb_layout = us # kb_variant = intl # kb_model = pc105 # kb_options = follow_mouse = 1 touchpad { # for desktop natural_scroll = false # for laptop # natural_scroll = yes # middle_button_emulation = true # clickfinger_behavior = false scroll_factor = 1.0 # Touchpad scroll factor } sensitivity = 0 # Pointer speed: -1.0 - 1.0, 0 means no modification. } gestures { workspace_swipe = true } Config File: /home/dg/.cache/wal/colors-hyprland.conf: Read Succeeded $background = rgb(060913) $foreground = rgb(c0c1c4) $color0 = rgb(060913) $color1 = rgb(4F2B67) $color2 = rgb(6E3072) $color3 = rgb(624478) $color4 = rgb(8B377B) $color5 = rgb(98437E) $color6 = rgb(A74989) $color7 = rgb(c0c1c4) $color8 = rgb(575c6a) $color9 = rgb(4F2B67) $color10 = rgb(6E3072) $color11 = rgb(624478) $color12 = rgb(8B377B) $color13 = rgb(98437E) $color14 = rgb(A74989) $color15 = rgb(c0c1c4) Config File: /home/dg/.config/hypr/conf/window.conf: Read Succeeded source = ~/.config/hypr/conf/windows/orange.conf Config File: /home/dg/.config/hypr/conf/windows/orange.conf: Read Succeeded # ----------------------------------------------------- # General window layout and colors # name: "Default" # ----------------------------------------------------- general { gaps_in = 5 gaps_out = 10 border_size = 2 col.active_border = rgb(FF3109) rgb(FFC809) col.inactive_border = $color11 layout = dwindle resize_on_border = true } Config File: /home/dg/.config/hypr/conf/decoration.conf: Read Succeeded source = ~/.config/hypr/conf/decorations/fullopacity.conf Config File: /home/dg/.config/hypr/conf/decorations/fullopacity.conf: Read Succeeded # ----------------------------------------------------- # General window decoration # name: "Default" # ----------------------------------------------------- decoration { rounding = 10 blur { enabled = true size = 6 passes = 2 new_optimizations = on ignore_opacity = true xray = true # blurls = waybar } active_opacity = 1.0 inactive_opacity = 1.0 fullscreen_opacity = 1.0 drop_shadow = true shadow_range = 30 shadow_render_power = 3 col.shadow = 0x66000000 } Config File: /home/dg/.config/hypr/conf/layout.conf: Read Succeeded source = ~/.config/hypr/conf/layouts/default.conf Config File: /home/dg/.config/hypr/conf/layouts/default.conf: Read Succeeded # ----------------------------------------------------- # Layouts # ----------------------------------------------------- dwindle { pseudotile = true preserve_split = true } master { # Commented out due to compatibility reasons # new_status = master } gestures { workspace_swipe = false } binds { workspace_back_and_forth = false allow_workspace_cycles = true pass_mouse_when_bound = false } Config File: /home/dg/.config/hypr/conf/misc.conf: Read Succeeded # ----------------------------------------------------- # Misc settings # ----------------------------------------------------- misc { disable_hyprland_logo = true disable_splash_rendering = true } Config File: /home/dg/.config/hypr/conf/keybinding.conf: Read Succeeded source = ~/.config/hypr/conf/keybindings/default.conf Config File: /home/dg/.config/hypr/conf/keybindings/default.conf: Read Succeeded # ----------------------------------------------------- # Key bindings # name: "Default" # ----------------------------------------------------- # SUPER KEY $mainMod = SUPER $HYPRSCRIPTS = ~/.config/hypr/scripts $SCRIPTS = ~/.config/ml4w/scripts # Applications bind = $mainMod, Z, exec, ~/.config/ml4w/settings/terminal.sh # Open the terminal bind = $mainMod, B, exec, ~/.config/ml4w/settings/browser.sh # Open the browser bind = $mainMod, E, exec, ~/.config/ml4w/settings/filemanager.sh # Open the filemanager bind = $mainMod, T, exec, ~/.config/ml4w/settings/editor.sh # Open the filemanager bind = $mainMod, B, exec, com.sidevesh.Luminance bind = $mainMod, Period, exec, ~/.config/ml4w/settings/emojipicker.sh # Open the emoji picker # Windows bind = $mainMod, X, killactive # Kill active window bind = $mainMod, F, fullscreen # Set active window to fullscreen bind = $mainMod SHIFT, F, fullscreen, 1 # Set active window to fullscreen bind = $mainMod, V, togglefloating # Toggle active windows into floating mode bind = $mainMod SHIFT, V, exec, $HYPRSCRIPTS/toggleallfloat.sh # Toggle all windows into floating mode bind = $mainMod, J, togglesplit # Toggle split bind = ALT, left, movefocus, l # Move focus left bind = ALT, right, movefocus, r # Move focus right bind = ALT, up, movefocus, u # Move focus up bind = ALT, down, movefocus, d # Move focus down bindm = $mainMod, mouse:272, movewindow # Move window with the mouse bindm = $mainMod, mouse:273, resizewindow # Resize window with the mouse bind = ALT SHIFT, right, resizeactive, 100 0 # Increase window width with keyboard bind = ALT SHIFT, left, resizeactive, -100 0 # Reduce window width with keyboard bind = ALT SHIFT, down, resizeactive, 0 100 # Increase window height with keyboard bind = ALT SHIFT, up, resizeactive, 0 -100 # Reduce window height with keyboard bind = $mainMod, G, togglegroup # Toggle window group # Actions bind = $mainMod, A, exec, $HYPRSCRIPTS/toggle-animations.sh # Toggle animations bind = $mainMod SHIFT, S, exec, $HYPRSCRIPTS/screenshot.sh # Take a screenshots bind = $mainMod SHIFT, L, exec, wlogout # Start wlogout bind = $mainMod, L, exec, hyprlock bind = $mainMod, W, exec, waypaper --random # Change the wallpaper bind = $mainMod SHIFT, W, exec, waypaper # Open wallpaper selector bind = $mainMod ALT, W, exec, /home/dg/Documents/.other/mainwall.sh bind = $mainMod, SPACE, exec, rofi -show drun -replace -i # Open application launcher bind = $mainMod, K, exec, $HYPRSCRIPTS/keybindings.sh # Show keybindings bind = $mainMod SHIFT, B, exec, ~/.config/waybar/launch.sh && hyprctl reload # Reload waybar bind = $mainMod CTRL, B, exec, ~/.config/waybar/toggle.sh # Toggle waybar bind = $mainMod SHIFT, R, exec, $HYPRSCRIPTS/loadconfig.sh # Reload hyprland config bind = $mainMod, C, exec, $SCRIPTS/cliphist.sh # Open clipboard manager bind = $mainMod SHIFT, C, exec, com.github.finefindus.eyedropper bind = $mainMod SHIFT, T, exec, ~/.config/waybar/themeswitcher.sh # Open waybar theme switcher bind = $mainMod SHIFT, G, exec, $HYPRSCRIPTS/gamemode.sh # Toggle game mode # Workspaces 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 bind = $mainMod, EQUAL, workspace, 11 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 bind = $mainMod SHIFT, EQUAL, movetoworkspace, 11 bind = $mainMod CTRL, 1, exec, $HYPRSCRIPTS/moveTo.sh 1 # Move all windows to workspace 1 bind = $mainMod CTRL, 2, exec, $HYPRSCRIPTS/moveTo.sh 2 # Move all windows to workspace 2 bind = $mainMod CTRL, 3, exec, $HYPRSCRIPTS/moveTo.sh 3 # Move all windows to workspace 3 bind = $mainMod CTRL, 4, exec, $HYPRSCRIPTS/moveTo.sh 4 # Move all windows to workspace 4 bind = $mainMod CTRL, 5, exec, $HYPRSCRIPTS/moveTo.sh 5 # Move all windows to workspace 5 bind = $mainMod CTRL, 6, exec, $HYPRSCRIPTS/moveTo.sh 6 # Move all windows to workspace 6 bind = $mainMod CTRL, 7, exec, $HYPRSCRIPTS/moveTo.sh 7 # Move all windows to workspace 7 bind = $mainMod CTRL, 8, exec, $HYPRSCRIPTS/moveTo.sh 8 # Move all windows to workspace 8 bind = $mainMod CTRL, 9, exec, $HYPRSCRIPTS/moveTo.sh 9 # Move all windows to workspace 9 bind = $mainMod CTRL, 0, exec, $HYPRSCRIPTS/moveTo.sh 10 # Move all windows to workspace 10 bind = $mainMod CTRL, EQUAL, exec, $HYPRSCRIPTS/moveTo.sh 11 # Move all windows to workspace 11 # Workspaces (Arrow Binds) bind = $mainMod, left, workspace, r-1 bind = $mainMod, right, workspace, r+1 bind = $mainMod CTRL, left, movetoworkspacesilent, r-1 bind = $mainMod CTRL, right, movetoworkspacesilent, r+1 bind = $mainMod SHIFT, left, movetoworkspace, r-1 bind = $mainMod SHIFT, right, movetoworkspace, r+1 # Windows (Arrow binds) bind = ALT, left, movefocus, l bind = ALT, right, movefocus, r bind = ALT, up, movefocus, u bind = ALT, down, movefocus, d bind = ALT, TAB, cyclenext bind = $mainMod, TAB, cyclenext, prev bind = ALT CTRL, left, resizeactive, -50 0 bind = ALT CTRL, right, resizeactive, 50 0 bind = ALT CTRL, up, resizeactive, 0 -50 bind = ALT CTRL, down,resizeactive, 0 50 bind = ALT SHIFT, left, movewindow, l bind = ALT SHIFT, right, movewindow, r bind = ALT SHIFT, up, movewindow, u bind = ALT SHIFT, down, movewindow, d # Fn keys bindl = , XF86MonBrightnessUp, exec, brightnessctl -q s +10% # Increase brightness by 10% bindl = , XF86MonBrightnessDown, exec, brightnessctl -q s 10%- # Reduce brightness by 10% bindl = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +2% # Increase volume by 2% bindl = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -2% # Reduce volume by 2% bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle # Toggle mute bindl = , XF86AudioPlay, exec, playerctl play-pause # Audio play pause bindl = , XF86AudioPause, exec, playerctl pause # Audio pause bindl = , XF86AudioNext, exec, playerctl next # Audio next bindl = , XF86AudioPrev, exec, playerctl previous # Audio previous bindl = , XF86AudioMicMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle # Toggle microphone bindl = , XF86Calculator, exec, ~/.config/ml4w/settings/calculator.sh # Open calculator bindl = , XF86Lock, exec, hyprlock # Open screenlock bindl = , XF86Tools, exec, alacritty --class dotfiles-floating -e ~/.config/ml4w/apps/ML4W_Dotfiles_Settings-x86_64.AppImage # Open ML4W Dotfiles Settings app bind = , code:238, exec, brightnessctl -d smc::kbd_backlight s +10 bind = , code:237, exec, brightnessctl -d smc::kbd_backlight s 10- Config File: /home/dg/.config/hypr/conf/windowrule.conf: Read Succeeded source = ~/.config/hypr/conf/windowrules/default.conf Config File: /home/dg/.config/hypr/conf/windowrules/default.conf: Read Succeeded # ----------------------------------------------------- # Window rules # ----------------------------------------------------- windowrule = tile,^(Microsoft-edge)$ windowrule = tile,^(Brave-browser)$ windowrule = tile,^(Chromium)$ windowrule = float,^(pavucontrol)$ windowrule = float,^(blueman-manager)$ windowrule = float,^(nm-connection-editor)$ windowrule = float,^(qalculate-gtk)$ windowrule = float,^(com.github.finefindus.eyedropper)$ workspace=1,monitor:DP-1 workspace=2,monitor:DP-1,rounding:false,gapsin:0,gapsout:0,border:false,decorate:false workspace=3,monitor:DP-1 workspace=4,monitor:DP-1 workspace=5,monitor:DP-1 workspace=6,monitor:DP-2 workspace=7,monitor:DP-2,rounding:false,gapsin:0,gapsout:0,border:false,decorate:false workspace=8,monitor:DP-2 workspace=9,monitor:DP-2 workspace=10,monitor:DP-2 workspace=11,monitor:DP-3 workspace=12,monitor:DP-3,rounding:false,gapsin:0,gapsout:0,border:false,decorate:false workspace=13,monitor:DP-3 workspace=14,monitor:DP-3 workspace=15,monitor:DP-3 # Browser Picture in Picture windowrulev2 = float, title:^(Picture-in-Picture)$ windowrulev2 = pin, title:^(Picture-in-Picture)$ windowrulev2 = move 69.5% 4%, title:^(Picture-in-Picture)$ Config File: /home/dg/.config/hypr/conf/animation.conf: Read Succeeded source = ~/.config/hypr/conf/animations/main.conf Config File: /home/dg/.config/hypr/conf/animations/main.conf: Read Succeeded # ----------------------------------------------------- # Animations # name "Dynamic" # ----------------------------------------------------- animations { enabled = true bezier = wind, 0.05, 0.9, 0.1, 1.05 bezier = winIn, 0.1, 1.1, 0.1, 1.1 bezier = winOut, 0.3, -0.3, 0, 1 bezier = liner, 1, 1, 1, 1 animation = windows, 1, 6, wind, slide animation = windowsIn, 1, 6, winIn, slide animation = windowsOut, 1, 5, winOut, slide animation = windowsMove, 1, 5, wind, slide animation = border, 1, 1, liner animation = borderangle, 1, 30, liner animation = fade, 1, 10, default animation = workspaces, 1, 5, wind } Config File: /home/dg/.config/hypr/conf/custom.conf: Read Succeeded # Add your additional Hyprland configurations here # # This is an additional key binding # bind = $mainMod CTRL, up, workspace, empty # # Example for xwayland # xwayland { # force_zero_scaling = true # } # qt5ct environment variable # env = QT_QPA_PLATFORMTHEME,qt5ct # SDL version env = SDL_VIDEODRIVER,wayland # No Hardware Cursor # cursor { # no_hardware_cursors = false # } Config File: /home/dg/.config/hypr/conf/ml4w.conf: Read Succeeded # ----------------------------------------------------- # ML4W configurations # ----------------------------------------------------- # Pavucontrol floating windowrulev2 = float,class:(.*org.pulseaudio.pavucontrol.*) windowrulev2 = size 700 600,class:(.*org.pulseaudio.pavucontrol.*) windowrulev2 = center,class:(.*org.pulseaudio.pavucontrol.*) windowrulev2 = pin,class:(.*org.pulseaudio.pavucontrol.*) # Waypaper App floating windowrulev2 = float,class:(.*waypaper.*) windowrulev2 = size 800 700,class:(.*waypaper.*) windowrulev2 = center,class:(.*waypaper.*) windowrulev2 = pin,class:(.*waypaper.*) # System Mission Center windowrulev2 = float, class:(io.missioncenter.MissionCenter) windowrulev2 = pin, class:(io.missioncenter.MissionCenter) windowrulev2 = center, class:(io.missioncenter.MissionCenter) windowrulev2 = size 900 600, class:(io.missioncenter.MissionCenter) # System Mission Center Preference Window windowrulev2 = float, class:(missioncenter), title:^(Preferences)$ windowrulev2 = pin, class:(missioncenter), title:^(Preferences)$ windowrulev2 = center, class:(missioncenter), title:^(Preferences)$ # Gnome Calculator windowrulev2 = float,class:(org.gnome.Calculator) windowrulev2 = size 700 600,class:(org.gnome.Calculator) windowrulev2 = center,class:(org.gnome.Calculator) # Emoji Picker Smile windowrulev2 = float,class:(it.mijorus.smile) windowrulev2 = pin, class:(it.mijorus.smile) windowrulev2 = move 100%-w-40 90,class:(it.mijorus.smile) # Hyprland Share Picker windowrulev2 = float, class:(hyprland-share-picker) windowrulev2 = pin, class:(hyprland-share-picker) windowrulev2 = center, title:class:(hyprland-share-picker) windowrulev2 = size 600 400,class:(hyprland-share-picker) # XDG Desktop Portal env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland # QT env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_QPA_PLATFORMTHEME,qt5ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 # GDK env = GDK_SCALE,1 # Toolkit Backend env = GDK_BACKEND,wayland,x11,* env = CLUTTER_BACKEND,wayland # Mozilla env = MOZ_ENABLE_WAYLAND,1 # Set the cursor size for xcursor env = XCURSOR_SIZE,24 # Disable appimage launcher by default env = APPIMAGELAUNCHER_DISABLE,1 # Ozone env = OZONE_PLATFORM,wayland env = ELECTRON_OZONE_PLATFORM_HINT,wayland ======Config-End======== ```

Description

There are rendering issues with my monitor setup, specifically my 4K monitor (DP-3), with applcations such as OBS/Hyprpicker/Grimblast, any screenshot utility, etc. Different things break at different resolutions/scaling.

Specific Issues with fractional scaling (tested DP-3 at 4K 1.5 Scale, 1440p, 1.6 Scale, 1080P, 1.5 Scale):

  1. OBS: Unable to record display, as only 1/4 of the screen is visible, and the rest is black (SEE VIDEO).
  2. Screenshot utilities: Similar issue, screenshots of the display are black for 1/4 of the screen.
  3. Hyprpicker: Unable to get correct colours from 1/4 of the display, major rendering issues while picking colour (SEE VIDEO).

Issues at non-fractional scales (tested DP-3 at 4K 2X Scale).

  1. OBS: Unable to record display, the entire display is black.
  2. Screenshot utilities: Same issue, display is blank. Other displays unaffected.
  3. Hyprpicker: Unable to get any colours from the entire display

No issues appear at 1X Scaling

Now I thought this was definitely a monitor configuration issue, however a hyprland VM on my 4K screen yields the same glitches, which makes me thing its probably GPU related? See issue reproduction for more information, this is really odd.

The issue only affects my 4K screen, my main screen (1440p) does not have this issue at any scale. There is however a slight rendering issue with hyprpicker on my vertical screen (DP-2), however this doesnt affect anything else (OBS, screenshots).

This issue isnt deal breaking, but is frustrating. From what I can remember, this has always been a problem, however I cannot verify as I am relatively new to Hyprland.

These issues do not occur using other desktop environments/WMS using wayland compositing (atleast out of the small selection I have tested, gnome, kde, etc).

How to reproduce

Was able to replicate both issue on a QEMU/KVM virtual machine on the same PC/Display (freshly installed), however was UNABLE to replicate the issue on my laptop running Hyprland, which leads me to believe that this issue may be GPU related? I have an RX 6700XT, and the VM was using virtio with 3D acceleration, and display spice to use my GPU.

Replication Steps (Issue examples with Hyprpicker/OBS, 1.5X scaling):

  1. Launch OBS/Hyprpicker 2.1. (Hyprpicker): Move cursor to 4K fractionally scaled display, rendering issue will occur. 2.2. (OBS): Enable screen capture for 4K fractionally scaled display.

Replication Steps (Issue examples with Hyprpicker/OBS, 2X scaling):

  1. Launch OBS/Hyprpicker 2.1. (Hyprpicker): No distortion, but picking a colour only yields black. 2.2. (OBS): Enable screen capture for 4K display.

I know this isnt really helpful, as it is likely my hardware that is the issue (current monitor configuration, maybe GPU?).

Crash reports, logs, images, videos

Current Behaviour (4K screen, 1.5X scaling, Showcasing OBS/Hyprpicker) https://github.com/user-attachments/assets/1e6569a6-ac10-4f2d-9455-cd0963a9151f

Example screenshot of 4K display at 1.5X (OBS also renders this) Screenshotᅠ2024-10-16ᅠ20:31:20

Grimblast on my vertical monitor (may be seperate issue? Not as important, as it works fine) Screenshotᅠ2024-10-16ᅠ20:29:19

THEENlGMA commented 1 month ago

regarding the blurry vertical monitors in grimblast, it seems to be caused by grimblast freezing the screen as the image is clear when it isnt frozen

frozen: image unfrozen: image

MahouShoujoMivutilde commented 1 month ago

Oh, I've never noticed that, but apparently it's a thing with slurp because layers are also animated (as of https://github.com/hyprwm/Hyprland/commit/29997ef4ba8ef0a80390e80199998d1390177454) by default.

But this can be worked around with

# make slurp instant, so it doesn't pollute screenshots
layerrule = noanim, selection
Details

Animated ![24-10-2024-02_52_24](https://github.com/user-attachments/assets/44005d8f-2886-4b16-8a89-7a405a06455c) With rule ![24-10-2024-02_59_11](https://github.com/user-attachments/assets/f390a01b-4680-4cb9-8126-76aa287d74eb)

THEENlGMA commented 1 month ago

seems to be a different issue as it gives me the same problem with the rule aswell image its somehow linked to monitor transform aswell i.e vertical monitor as it does not occur at all on my main monitor that is horizontal.

MrDogeFace commented 3 weeks ago

lil update, was able to replicate with other hardware (new motherboard/gpu/ssd) and a fresh install of hyprland.

Also noticed some issues with other linux desktops/distros with my monitor config, such as borked desktop zoom in gnome, etc. I now have issues with both X11 and Wayland.

Hate to make generalized statements like this, but Linux just aint ready for my monitor config :skull:

eisbar1808 commented 2 weeks ago

I'm having similar issues with my secondary monitor configured like monitor=HDMI-A-2,3840x2160@60,0x0,1.5,transform,1 (4K portrait at 150% scale). Whenever I try to capture anything on it, it's like the content is being shifted in different directions. This one is an area pick via grimblast (but picking the entire screen image This one is the screen capture in OBS (preview) image There are no such issues at 100% scaling (but it's 4k 27" so) or with the other monitor which is also 100% as it is. Also I should mention that it's been configured like this a few months ago (June-ish?) and I didn't touch any of the configs related to displays. The issue wasn't there back then.

EDIT: Ah yes sorry for the wp