picom
picom copied to clipboard
Persisting artifacts on transparent, vertically tiled windows on i3wm (xrender and glx)
Platform
Ubuntu 18.04
GPU, drivers, and screen setup
Intel UHD Graphics 620 Single (built-in) display
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) UHD Graphics 620 (WHL GT2) (0x3ea0)
Version: 20.2.0
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) UHD Graphics 620 (WHL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.2.0-devel (git-c4544f4 2020-05-19 bionic-oibaf-ppa)
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.2.0-devel (git-c4544f4 2020-05-19 bionic-oibaf-ppa)
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.2.0-devel (git-c4544f4 2020-05-19 bionic-oibaf-ppa)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
Environment
i3 version 4.14.1
picom version
I suppose it is v8…
**Version:** vgit-0b377
### Extensions:
* Shape: Yes
* XRandR: Yes
* Present: Present
### Misc:
* Use Overlay: No (Another compositor is already running)
* Config file used: /home/noe/.config/picom.conf
### Drivers (inaccurate):
Intel
Configuration:
I removed the commented lines when pasting. If necessary for any reason I can provide the full file.
#################################
# Shadows #
#################################
shadow = false
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
# Fading #
#################################
fading = false
fade-in-step = 0.03;
fade-out-step = 0.03;
#################################
# Transparency / Opacity #
#################################
frame-opacity = 0.7;
inactive-opacity-override = false;
focus-exclude = [ "class_g = 'Cairo-clock'" ];
opacity-rule = [ "100:class_g = 'Firefox'",
"80:class_g = 'Nautilus'"];
#################################
# Background-Blurring #
#################################
blur-kern = "3x3box";
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
# General Settings #
#################################
backend = "glx";
vsync = true
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0
detect-transient = true
detect-client-leader = true
use-damage = false
log-level = "warn";
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; }
dnd = { shadow = false; }
popup_menu = { opacity = 0.8; }
dropdown_menu = { opacity = 0.8; }
};
Steps of reproduction
- Open at least 1 transparent window and 1 non-gtk in a vertical container.
- Much more noticeable/frequent with only 1 of each in the container.
- Only happens when "trasparent" is
- a gtk app
- a container
- Happens with transparency both set in picom config (e.g. Nautilus in my case) or set another way (gnome-terminal transparent background; Thunderbird with userchrome.css).
- "Non-gtk" apps I tested: Zathura, Thunar, Qt apps (Dolphin), …
- This window is not a container (even with only 1 window), but a simple window.
- It also happen for horizontal containers, but the artifacts only appear in the titlebar.
- (If not already the case) place the transparent window at the top of the other
- Appear mostly when the transparent window height is < 1/2 container height.
- Disappear (not all the time) when the transparent window is resized to ≃75-80% of the container height (see the attached gif).
Expected behavior
What is behind the transparent window should be the wallpaper − or another window the (vertical) container is in a staked/tabed container.
Current Behavior (why is there a Capital letter here, and not in the other titles?)
Apparition of artifacts behind the transparent window that do not disappear: chunks of polybar, or of the other application, or of the transparent application, or of titlebar/borders.
Note: the issue appear with both glx and xrender, but the exact behavior I described was with glx. (for example, with xrender, the artifacts do not disappear at 75-80% as with glx)
Stack trace
[I don't if it is relevant to put something here, or what to put, since log_level="trace"
generates tons of outputs…]
Other details
I attached a gif, but do not look at the 2 other windows (and polybar) glitches: those are only bad rendering of peek. (Actually, dunno if it is due to peek or picom, but that's not the current issue)
Actually, it seems to be a matter of having a title-bar/not having one: what I called "gtk" windows, that have to be on top and on which the artifacts appear are in fact windows without title-bar. (And thus what I called "non-gtk" windows are the ones with a title-bar.)
On my screen recording, Zathura (the all-black app) has a title-bar, even though it is not noticeable, and the terminals do not.
Note that the artifact in the title-bar still occur when all windows have one, and that I have both horizontal AND vertical tiled containers, and only for a window in 'upper-left' of a vertical container IN an horizontal one (the inverse case being still in the previous issue, since we have a container above a window with title-bar). This particular configuration is show in this screenshot:
(Should I edit the issue?)
I have a similar issue. i3wm-gaps.
I also experience weird artifacts when using no window bars with vertical tiles as well. No idea how and where to stop this from happening.
@16NoCo This looks like a driver issue. Could you try reporting it to mesa, we could get more information this way.
@Kolbasyatin What is your graphic driver? Is it Mesa Intel as well?
@thraizz Not sure what is the artifact in your screenshot, can you be more specific?
I'm getting the same artifact that @thraizz is getting on arch linux with proprietary nvidia drivers.
EDIT: It seems like this might be cause by a known bug in i3-gaps.
@LordMZTE Whats your i3-gaps version? I switched to packages built from git a couple days ago after i reencountered this issue on a new ThinkPad with a nvidia gpu. Since then this hasn't reoccured!
I'm currently also on the next branch. I'm at commit g1f6bf271.
Nevermind, its still there :(
@16NoCo This looks like a driver issue. Could you try reporting it to mesa, we could get more information this way.
@Kolbasyatin What is your graphic driver? Is it Mesa Intel as well?
@thraizz Not sure what is the artifact in your screenshot, can you be more specific?
I just realized I never responded to this, sorry! The screenshot shows artifacts around the open window. Normally, there should be a background. Instead, there remains artifacts/glitches of previous renderings and window transitions. I will try to provide reproducable steps for this or at least a video to clarify whats happing, maybe you can point us i3-gaps users in the right direction. This happened for me on nvidia-only proprietary drivers as well as with intel iGPU + offload rendering with a quadro gpu. I will use the iGPU only and try to reproduce this, otherwise I suspect some nvidia issue behind this.