Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple shadows in fullscreen #251

Open
scrouthtv opened this issue Oct 14, 2019 · 13 comments
Open

Multiple shadows in fullscreen #251

scrouthtv opened this issue Oct 14, 2019 · 13 comments

Comments

@scrouthtv
Copy link

drivers

Using
Linux archlinux 5.3.5-arch1-1-ARCH #1 SMP PREEMPT x86_64 GNU/Linux
with an Intel i5 M 520 (4) @ 2.4 GHz and integrated graphics
and drivers:

xf86-video-ati 1:19.0.1-1
xf86-video-dummy 0.3.8-3
xf86-video-fbdev 0.5.0-1
xf86-video-intel 1:2.99.917+893+gbff5eca4-1
xf86-video-nouveau 1.0.16-1
xf86-video-openchrome 0.6.0-3
xf86-video-qxl 0.1.5-7
xf86-video-vesa 2.4.0-2
xf86-video-vmware 13.3.0-1
xf86-video-voodoo 1.2.5-10

(which I'm pretty sure I should uninstall some)

direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Intel(R) Ironlake Mobile  (0x46)
    Version: 19.2.1
    Accelerated: yes
    Video memory: 1536MB
    Unified memory: yes
    Preferred profile: compat (0x2)
    Max core profile version: 0.0
    Max compat profile version: 2.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 2.0
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile 
OpenGL version string: 2.1 Mesa 19.2.1
OpenGL shading language version string: 1.20

OpenGL ES profile version string: OpenGL ES 2.0 Mesa 19.2.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16

environment

  • ldm 1.30.0 / i3-gaps 4.17.1
  • compton vgit-04520 (built it myself for the experimental backends):
[ WARN ] "clear-shadow" is removed as an option, and is always enabled now. Consider removing it from your config file
[ WARN ] "paint-on-overlay" has been removed as an option, and is enabled whenever possible
[ INFO ] Switching to log file: ~/compton.log

config

log-level = "info";
log-file = "~/compton.log";

mark-wmwin-focused = true;
unredir-if-possible = false;
detect-client-opacity = true;
detect-client-leader = false;
paint-on-overlay = true;

shadow = true;
clear-shadow = true;
shadow-radius = 16;
shadow-offset-x = -16;
shadow-offset-y = -16;
shadow-exclude = [
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
"name *= 'Chromium'"
];

opacity-rule = [
 "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];
opacity-exclude = [
 // ...
]

blur: {
method: "gaussian";
size: 15;
deviation: 3;
}

use-damage = true;
vsync = true;

bug

I've used compton on multiple setups so far, and experienced this bug everytime. I'm using (VTE) termite as a terminal emulator. Normally, everything works fine, but as soon as I switch termite to fullscreen and edit lines, there are some bugged shadows:
crop

What it's supposed to do would look like this:
out

The visual bug I'm seeing are some single lines having an extra shadow. Maybe this is a VTE / termite bug? Or is the damage not updated properly?

Thanks for the help in advance.

@yshui
Copy link
Owner

yshui commented Oct 14, 2019

This should have already be fixed 2.5 months ago...

Can you try the glx backend?

@scrouthtv
Copy link
Author

I just noticed that I was calling compton using the --experimental-backends flag.

Tried compton v7.4 (the latest version in the arch linux repositories), I encountered the same bug, but also in non fullscreen mode.

Tried compton vgit-f227e (the latest dev version in the aur), I encountered the same bug, but only in fullscreen mode.

Disabling the experimental backends option & enabling glx fixes the bug for me but I can't use gaussian blur anymore. The reason I switched to building my own experimental version in the first place was because I found the kernel blur effect to be very weak & wanted to use gaussian blur.

From what I can tell the glx backend fixes this bug, but as soon as I reenable blur by changing the method to kernel I don't only have a weaker blur effect, but I see the visual bug again, also in non fullscreen mode, although it's way less notable.

So far it looks like this issue is not connected to the backend, but rather to the blur function (?)

@yshui
Copy link
Owner

yshui commented Oct 14, 2019

Can you test this config:

log-level = "info";

blur: {
method: "gaussian";
size: 15;
deviation: 3;
}

use-damage = true;
vsync = true;

and this config:

log-level = "info";
backend = "glx";

blur: {
method: "gaussian";
size: 15;
deviation: 3;
}

use-damage = true;
vsync = true;

with --experimental-backends?

@scrouthtv
Copy link
Author

scrouthtv commented Oct 14, 2019

Using vgit-04520:
First config: visual glitch only in fullscreen

Using vgit-f227e:
First config: visual glitch only in fullscreen

Using glx (the second config) crashes on both versions:

~ compton --experimental-backends
// found some glx extensions, missing GLX_EXT_swap_control
 10/14/2019 19:23:32.197 glx_init ERROR ] Failed to get GLX context.
[ 10/14/2019 19:23:32.198 initialize_backend FATAL ERROR ] Failed to initialize backend, aborting...

Which one of these even is the newer version / should I update my own build manually at some point?

Btw the experimental backends flag isn't documented in the man page

@yshui
Copy link
Owner

yshui commented Oct 14, 2019

Ah, my bad, didn't notice you don't have GL3.

I think this might be xrender specific, I will investigate when I got time.

@yshui
Copy link
Owner

yshui commented Oct 14, 2019

@scrouthtv There is still something you could do to help.If you can record your screen with compton --experimental-backends --monitor-repaint running, and this bug happening, that will help me narrow down the problem.

@scrouthtv
Copy link
Author

For some reason the bug isn't as visible using monitor-repaint. I once ran
compton --experimental-backends --no-fading-openclose
woRepaint
and then - in the same fullscreen terminal emulator
compton --experimental-backends --no-fading-openclose --monitor-repaint
wRepaint

I added the no fading by accident (I'm used to it) but it shouldn't add anything (I guess)

@yshui
Copy link
Owner

yshui commented Oct 14, 2019

OK, thanks.

@Oscillope
Copy link

Oscillope commented Nov 19, 2019

I am also seeing this issue. After a little fiddling around, I disabled use-damage, which seems to have fixed the problem (though I'd prefer not to suffer the performance penalty that comes with that, especially since this is on my laptop).
I noticed that double-shadows were drawn around any window that floated over a terminal, in addition to around text lines on the terminal as OP reported. Dragging the top window around creates after-images of the shadow. I also use termite, same as @scrouthtv.

Using Arch 5.3.11-arch1-1 #1 SMP PREEMPT. Intel Core i5 2520M with integrated graphics (i915 driver). Picom vgit-9a88d.

picom.conf

img

EDIT to add: the problem goes away for me when I use --experimental-backends.

@Oscillope
Copy link

So, this issue has come back now that the Arch package has updated to v7.5, even with --experimental-backends.

@AlterEigo
Copy link

AlterEigo commented Jul 18, 2020

Hello,

I'm currently experiencing the same issue with line shadowing, but in fullscreen Termite terminal only. Alacritty seems to handle it well. The issue occurs on both nvidia or intel card (I'm using nvidia-xrun script to do so). I'm currently on Arch 5.4.23-1-lts (plasma + i3) and using picom's fork (picom-tryone-git) for kawase blur feature, so I would also like to still be able to use '--experimental-backends' feature. I'm able to provide further details if you need it.

@4kanesora
Copy link

4kanesora commented Oct 20, 2020

confirm the same problem, only with use-damage = false could resolve it.
BTW, I tried 3 terminals, ST, urxvt and alacritty, both have this issue.
The config is blur method box with experimental backends glx.

@longarmz
Copy link

longarmz commented Apr 1, 2023

Recently I've been plagued by multiple shadows on fullscreen with Urvxt. I think it started v10 but can't be sure. In any case, this wasn't an issue until an update to arch Picom pkg. I was able to find a workaround for myself and I thought I'd share for posterity.

Initially, I just set use-damage = false but the performance penalty was too much so I bailed on that. After playing around with a few different setting, i found that switching from glx to egl backend and changing blur method to dual-kawase from guassian resolved the shadow issues at fullscreen for me while giving me acceptable blur. You can find pertinent setting below.

backend = "egl";

blur: {
method: "dual-kawase ";
size: 10;
deviation: 5.0;
}

use-damage = true;
vsync = true;

I'm using Arch 6.2.8-arch1-1. Intel i7-1065G7 with Integrated Graphics. Picom 10.2-1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants