picom icon indicating copy to clipboard operation
picom copied to clipboard

Window borders leave residue when rounded corners are enabled

Open dybdeskarphet opened this issue 2 years ago • 2 comments

Platform

Arch Linux 5.16.8-arch1-1

GPU, drivers, and screen setup

  • GPU: AMD Ryzen 5 5500U Radeon Graphics
  • xf86-video-amdgpu version: 21.0.0
  • mesa version: 21.3.6
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD RENOIR (DRM 3.44.0, 5.16.8-arch1-1, LLVM 13.0.0) (0x164c)
    Version: 21.3.5
    Accelerated: yes
    Video memory: 2048MB
    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: 1749 MB, largest block: 1749 MB
    VBO free aux. memory - total: 3015 MB, largest block: 3015 MB
    Texture free memory - total: 1749 MB, largest block: 1749 MB
    Texture free aux. memory - total: 3015 MB, largest block: 3015 MB
    Renderbuffer free memory - total: 1749 MB, largest block: 1749 MB
    Renderbuffer free aux. memory - total: 3015 MB, largest block: 3015 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 2048 MB
    Total available memory: 5120 MB
    Currently available dedicated video memory: 1749 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD RENOIR (DRM 3.44.0, 5.16.8-arch1-1, LLVM 13.0.0)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.3.5
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 21.3.5
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 21.3.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Environment

bspwm (and its borders)

picom version

vgit-7e568

Diagnostics
**Version:** vgit-7e568

### Extensions:

* Shape: Yes
* XRandR: Yes
* Present: Present

### Misc:

* Use Overlay: No
  (Another compositor is already running)
* Config file used: /home/skarphet/.config/picom/picom.conf

### Drivers (inaccurate):

AMDGPU, Radeon

### Backend: glx

* Driver vendors:
 * GLX: Mesa Project and SGI
 * GL: AMD
* GL renderer: AMD RENOIR (DRM 3.44.0, 5.16.8-arch1-1, LLVM 13.0.0)
* Accelerated: 1

Configuration:

Configuration file
#  _. _ ._.._  _ ._. __
# (_.(_)[  [ )(/,[  _) 
# 
corner-radius = 15

# Exclude conditions for rounded corners.
rounded-corners-exclude = [
  "window_type = 'dock'",
  "window_type = 'notification'",
  "window_type = 'desktop'"
];


#    .       .            
#  __|_  _. _| _ .    , __
# _) [ )(_](_](_) \/\/ _) 
# 
shadow = true;
shadow-radius = 10;
shadow-offset-x = -7;
shadow-offset-y = -7;

# shadow-red = 0
# shadow-green = 0
# shadow-blue = 0

# shadow-exclude = [
#   "name *= 'Chromium'"
# ];

# shadow-exclude-reg = "x100+0+0" 


# ._     .       
# |, _. _|*._  _ 
# | (_](_]|[ )(_]
#             ._|
# 
fading = true
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-delta = 10

# fade-exclude = []
no-fading-openclose = false
no-fading-destroyed-argb = false

#               ,    
#  _ ._  _. _.*-+-  .
# (_)[_)(_](_.| | \_|
#    |            ._|
# 
active-opacity = 1.0
inactive-opacity = 1.0;
inactive-opacity-override = true;

frame-opacity = 0.6;
menu-opacity = 1.0

inactive-dim = 0.0
# focus-exclude = []
opacity-rule = [ "80:name *= 'URxvt'" ];


#                   .
#  _  _ ._  _ ._. _.|
# (_](/,[ )(/,[  (_]|
# ._|
# 
daemon = false;
backend = "glx";
refresh-rate = 60
vsync = true
dbus = false

mark-wmwin-focused = true;
mark-ovredir-focused = false;
detect-rounded-corners = true;
detect-client-opacity = true;
use-ewmh-active-win = false;
no-ewmh-fullscreen = true;

unredir-if-possible = false;
unredir-if-possible-delay = 10;
# unredir-if-possible-exclude = []

detect-transient = true
detect-client-leader = true

# invert-color-include = [
# 	"name *= 'Chromium'"
# ];

glx-no-stencil = true;
glx-no-rebind-pixmap = true;
use-damage = false;

# xrender-sync-fence = false
# max-brightness = false

# .      
# | _  _ 
# |(_)(_]
#     ._|
# 
log-level = "warn";
show-all-xerrors = true

#            ,             
# .    ,*._ -+-  .._  _  __
#  \/\/ |[ ) | \_|[_)(/,_) 
#              ._||        
# 
wintypes:
{
  tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
  dock = { shadow = false; }
  dnd = { shadow = false; }
  notification = { full-shadow = true; }
};

Steps of reproduction

  1. Use window borders of bspwm
  2. Use rounded corners.
  3. Open a window
  4. Open another window
  5. Close the last window

Expected behavior

No residue after closing the window.

Current Behavior

Last window's borders lag behind the window itself and leaves a residue for about half-second.

Other details

It doesn't happen when I set the corner-radius to 0. Here is the video of it (Border size is exaggerated for a better representation but it also happens when the borders are thin):

https://user-images.githubusercontent.com/42360077/154117566-37b35de1-1def-48a3-b85d-881ab7b4a079.mp4

dybdeskarphet avatar Feb 15 '22 17:02 dybdeskarphet

Weird, 8671f6f03de2925e3 is meant to fix this.

What does it look like if you turn off rounded border?

yshui avatar Feb 15 '22 19:02 yshui

It looks like this, i think the problem is the first one doesn't fade but this one does:

https://user-images.githubusercontent.com/42360077/154156274-0c817532-ed49-45d3-adce-418a8732b677.mp4

dybdeskarphet avatar Feb 15 '22 22:02 dybdeskarphet