yshui / picom

A lightweight compositor for X11 with animation support
https://picom.app/
Other
4.15k stars 589 forks source link

Invisible windows when switching between desktops before the fading transition finishes #410

Open SeerLite opened 4 years ago

SeerLite commented 4 years ago

Platform

Arch Linux

GPU, drivers, and screen setup

Intel HD Graphics 510 xf86-video-intel-git (AUR): 1:2.99.917+906+g846b53da-1 It's a laptop so only one monitor. It also has a dedicated AMD graphics card used through PRIME, but I think that's irrelevant since this all runs under Intel (still worth mentioning I guess). glxinfo -B:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) HD Graphics 510 (SKL GT1) (0x1906)
    Version: 20.0.7
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: yes
    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
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 510 (SKL GT1)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.7
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.0.7
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.0.7
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Environment

bspwm without a DE. I could also reproduce this in i3, although it took a lot more attempts and isn't as consistent. Sometimes only the titlebars are invisible there.

picom version

vgit-0b377

Configuration:

fading = true

Steps of reproduction

  1. Start picom with the configuration above.
  2. Quickly switch the focus between two desktops, with at least 1 window open in one of them. The more windows, the easier to reproduce.

Expected behavior

All windows are opaque and visible after the fading transition finishes.

Current Behavior

Sometimes, some windows stay completely invisible until either their contents get refreshed, or the desktop is re-focused.

Other details

Video showing the issue. Sorry for the quality, I just couldn't figure OBS out.

atreyasha commented 4 years ago

Also experiencing the same issue on Arch Linux running i3 for picom versions 8-1 and 8-2. For me reverting to version 7.5-3 results in this issue going away.

SeerLite commented 4 years ago

Ah, so I'm not the only one experiencing this!

Note that either I'm really unlucky, or this is slightly hardware independent: I upgraded to a desktop PC a few weeks ago and am now using an Nvidia graphics card with closed source nvidia drivers. Still the same issue.

Edit: Version 7.5-3 works fine for me too!

atreyasha commented 4 years ago

Yes, I was surprised to find (AFAIK) only this issue so far. Just for completeness, below are my system settings.

Platform: Arch Linux 5.7.7-arch1-1 GPU: Intel HD Graphics 4600 Video driver: mesa 20.1.3-1 (not using xf86-video-intel)

Output of glxinfo -B:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Intel(R) HD Graphics 4600 (HSW GT2) (0x416)
    Version: 20.1.3
    Accelerated: yes
    Video memory: 1536MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 4600 (HSW GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 20.1.3
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 20.1.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 20.1.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
atreyasha commented 2 years ago

@SeerLite are you still experiencing this issue? For me, I no longer experience this as of version v9.0.

SeerLite commented 2 years ago

I can still reproduce the issue with version v9 in bspwm when opening picom like this:

picom --config /dev/null --blur-background --backend glx --fading

I have to switch between 2 desktops with many open windows very quickly a few times to get the issue. I didn't come across it naturally, though I didn't test it out for very long (I don't regularly use picom anymore) so it's hard to tell if it's a legitimate issue.

I'm also not testing this on the same laptop I originally reported the issue, as I don't have it anymore. I'm using a more modern and slightly faster one, so maybe that makes the issue less likely to occur. I think it'd show up more naturally with the other one.

These are my current specs: OS: GNU Guix GPU: Intel HD Graphics 620 Video driver: xf86-video-intel 2.99.917-18.31486f4 (this is it, right?) with mesa 21.3.2