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

Weird buffer visual glitches #208

Closed
LGFae opened this issue Feb 13, 2024 · 9 comments · Fixed by #221
Closed

Weird buffer visual glitches #208

LGFae opened this issue Feb 13, 2024 · 9 comments · Fixed by #221
Labels
bug Something isn't working

Comments

@LGFae
Copy link
Owner

LGFae commented Feb 13, 2024

out.mp4

Originally posted by @YaLTeR in #206 (comment)

@LGFae LGFae added the bug Something isn't working label Feb 13, 2024
@jeLee6gi
Copy link

I can reproduce this only when I have multiple outputs connected. With a single output it looks correct on my end.

@YaLTeR
Copy link

YaLTeR commented Feb 13, 2024

I do in fact have multiple outputs connected.

@mamaraddio
Copy link

Same issue for me.
Additionally I;m using --transition-pos option set to the output of hyprctl like this:

export SWWW_TRANSITION=grow
export SWWW_TRANSITION_DURATION=2
export SWWW_TRANSITION_STEP=90

swww img --transition-pos "$( hyprctl cursorpos | tr -d ' ' )" path/to/image

If I unplug the external monitor swww respect the cursor position, the animation is very smooth and no glitches.

Wile with the external monitor plugged in --transition-pos is not respected, I get same glitches shown above during the animation and at the end of animation it stops glitching but at the bottom of the screen remains a band with static glitches.

I also noticed that if I unplug external monitor and then plug in back the image is rendered right

system:

OS: Arch Linux x86_64
Kernel: 6.7.4-arch1-1
Display (HP Z27i): 2560x1440 @ 60Hz (as 1280x720) [External]
Display (CMN15E7): 1920x1080 @ 60Hz [Built-in]
WM: Hyprland (Wayland)
CPU: Intel(R) Core(TM) i7-9750HF (12) @ 4,50 GHz
GPU: NVIDIA GeForce GTX 1650 Mobile / Max-Q

packages:

egl-wayland-git 1.1.13.r2.g369b337-1
    EGLStream-based Wayland external platform (git version)
hyprland-git 0.35.0.r37.a8dae8f5-1
    A dynamic tiling Wayland compositor based on wlroots that doesn't sacrifice on its looks.
libva-nvidia-driver-git 0.0.11.r29.g746d551-1
    VA-API implementation that uses NVDEC as a backend (git version)
libvdpau 1.5-2
    Nvidia VDPAU library
libxnvctrl 545.29.06-1
    NVIDIA NV-CONTROL X extension
nvidia 545.29.06-18
    NVIDIA drivers for linux
nvidia-prime 1.0-4
    NVIDIA Prime Render Offload configuration and utilities
nvidia-settings 545.29.06-1
    Tool for configuring the NVIDIA graphics driver
nvidia-utils 545.29.06-4
    NVIDIA drivers utilities
opencl-nvidia 545.29.06-4
    OpenCL implemention for NVIDIA
swww-git 0.8.2.20.g58ce329-1
    Efficient animated wallpaper daemon for wayland, controlled at runtime.
wlroots-nvidia 0.17.1-1
    Modular Wayland compositor library, with fix for nvidia flickering
xdg-desktop-portal-hyprland 1.3.1-3
    xdg-desktop-portal backend for hyprland

wlr-ramdr output:

HDMI-A-1 "Hewlett Packard HP Z27i CNK4080DVJ (HDMI-A-1)"
  Make: Hewlett Packard
  Model: HP Z27i
  Serial: CNK4080DVJ
  Physical size: 600x340 mm
  Enabled: yes
  Modes:
    2560x1440 px, 59.951000 Hz (preferred, current)
    1920x1200 px, 59.884998 Hz
    1920x1080 px, 60.000000 Hz
    1920x1080 px, 59.938999 Hz
    1920x1080 px, 50.000000 Hz
    1920x1080 px, 49.949001 Hz
    1600x1200 px, 60.000000 Hz
    1680x1050 px, 59.953999 Hz
    1600x900 px, 60.000000 Hz
    1280x1024 px, 60.020000 Hz
    1440x900 px, 59.887001 Hz
    1280x720 px, 60.000000 Hz
    1280x720 px, 59.943001 Hz
    1280x720 px, 50.000000 Hz
    1024x768 px, 60.004002 Hz
    800x600 px, 60.317001 Hz
    720x576 px, 50.000000 Hz
    720x480 px, 59.939999 Hz
    640x480 px, 59.939999 Hz
    640x480 px, 59.929001 Hz
  Position: 1920,0
  Transform: normal
  Scale: 1.066406
  Adaptive Sync: disabled
eDP-1 "Chimei Innolux Corporation 0x15E7 (eDP-1)"
  Make: Chimei Innolux Corporation
  Model: 0x15E7
  Serial: (null)
  Physical size: 340x190 mm
  Enabled: yes
  Modes:
    1920x1080 px, 60.007999 Hz (preferred, current)
  Position: 0,0
  Transform: normal
  Scale: 1.000000
  Adaptive Sync: enabled

@LGFae
Copy link
Owner Author

LGFae commented Feb 16, 2024

Yes, I am pretty sure the issue is happening when multiple monitors are connected. On Monday I'll be somewhere I have two monitors to actually work on this.

@LGFae
Copy link
Owner Author

LGFae commented Feb 19, 2024

Bad news: I've tried reproducing this with two monitors and failed. I tried river, sway and niri's latest master. It worked fine with all of them...

Edit: I'll have to think a bit more about what could be the underlying cause.

@marcelohdez
Copy link

marcelohdez commented Feb 20, 2024

Hello I am experiencing this issue as well, to be more specific I am using Sway 1.8.1 with a monitor at 1.25 scale and another at 1 scale, the difference in scaling may be the culprit?

@YaLTeR
Copy link

YaLTeR commented Feb 20, 2024

One of my screens is, in fact, scale 2 while others are scale 1.

@jeLee6gi
Copy link

My outputs are all the same physical resolution and use scale 1.0, it's just that the two external ones are set up vertically (rotated by 90 and 270 degrees).

@LGFae
Copy link
Owner Author

LGFae commented Feb 22, 2024

Alright, I can reproduce this. Indeed, it seems it happens when the two monitors do not have the same logical size, either due to rotation or scaling differences.

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

Successfully merging a pull request may close this issue.

5 participants