picom icon indicating copy to clipboard operation
picom copied to clipboard

Persisting artifacts on transparent, vertically tiled windows on i3wm (xrender and glx)

Open 16NoCo opened this issue 4 years ago • 9 comments

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

  1. 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.
  2. (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)

picom_issue2

16NoCo avatar May 22 '20 14:05 16NoCo

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:

image

(Should I edit the issue?)

16NoCo avatar May 22 '20 16:05 16NoCo

I have a similar issue. i3wm-gaps. Have a similar issue

Kolbasyatin avatar May 31 '20 16:05 Kolbasyatin

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. picom_issue

thraizz avatar Nov 17 '20 10:11 thraizz

@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?

yshui avatar Nov 29 '20 06:11 yshui

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 avatar Nov 24 '21 21:11 LordMZTE

@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!

thraizz avatar Nov 24 '21 21:11 thraizz

I'm currently also on the next branch. I'm at commit g1f6bf271.

LordMZTE avatar Nov 24 '21 22:11 LordMZTE

Nevermind, its still there :( grafik

thraizz avatar Nov 25 '21 10:11 thraizz

@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.

thraizz avatar Nov 25 '21 10:11 thraizz