jonaburg / picom

A lightweight compositor for X11 (previously a compton fork)
Other
956 stars 99 forks source link

Animation plays several times, making windows disappear for an instant. #6

Closed unai-ndz closed 3 years ago

unai-ndz commented 4 years ago

Platform

Manjaro 20.0 amd64

GPU, drivers, and screen setup

R7 250, amdgpu, xf86-video-amdgpu v19.1.0-2, Mesa 20.1.6. Two monitors configured with xrandr.

-> glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD Radeon HD 8600 Series (OLAND, DRM 3.37.0, 5.7.17-2-MANJARO, LLVM 10.0.1) (0x6610)
    Version: 20.1.6
    Accelerated: yes
    Video memory: 1024MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 750 MB, largest block: 750 MB
    VBO free aux. memory - total: 3029 MB, largest block: 3029 MB
    Texture free memory - total: 750 MB, largest block: 750 MB
    Texture free aux. memory - total: 3029 MB, largest block: 3029 MB
    Renderbuffer free memory - total: 750 MB, largest block: 750 MB
    Renderbuffer free aux. memory - total: 3029 MB, largest block: 3029 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 1024 MB
    Total available memory: 4096 MB
    Currently available dedicated video memory: 750 MB
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon HD 8600 Series (OLAND, DRM 3.37.0, 5.7.17-2-MANJARO, LLVM 10.0.1)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.1.6
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.1.6
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.1.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Environment

AwesomeWM

picom version

vgit-26035

Configuration:

I use this, but it triggers with every config I tested, including the default one;

backend = "glx";
xrender-sync-fence = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
vsync = false;
sw-opti = false;
fading = false;
unredir-if-possible = true;
detect-transient = true;
detect-client-leader = true;

Steps of reproduction

Pretty much anything that triggers an animation. Swapping, spawning, closing windows... It happens randomly but often enough.

Expected behavior

The animation plays only once and without making the windows disappear.

Current Behavior

The animation plays several times, making the windows disappear for a few seconds in between loops.

Other details

Video

PD: Rewatching the video I also noticed the first animation does not play. This happens once every time I restart picom.

abi19911 commented 4 years ago

I'll second this. If its of any help, this is also happening on my intel system (no dedicated gpu).

unai-ndz commented 4 years ago

Reverting the changes to the timer accuracy seems to fix the problem. You can test it here.

That repo also has a branch called 40us_accuracy with the new timer activated and some related values changed (They were modified in commit.) I'm guessing by mistake but they still do not fix this bug.

jonaburg commented 3 years ago

Sorry for the delay, I haven't spent any time in this project lately. Please pull and try the latest version, this should now be fixed.