compton icon indicating copy to clipboard operation
compton copied to clipboard

Recommendations on modesetting?

Open Vladimir-csp opened this issue 7 years ago • 2 comments

Platform: Debian stretch amd64

GPU, drivers, and screen setup: Intel Corporation HD Graphics 520, modesetting, Mesa 17.1.2

Compton version: 0.1~beta2+20160430-1 (rebuild from 0.1~beta2+20150922-1 package + latest master sources

Compton configuration: below

Are there any "official" recommendations for compton usage with modesetting driver? I have performance versus no tearing issues. The only way to get rid of tearing I've found is backend = "glx"; vsync = "opengl";. But this results in slow performance, windows become almost wobbly with slow vertical redraw and when there is any heavy opengl app is running, redraw gets noticeably slower for content of windows.

shadow = true;
no-dnd-shadow = true;
no-dock-shadow = true;
clear-shadow = true;
shadow-radius = 3;
shadow-offset-x = -5;
shadow-offset-y = -5;
shadow-opacity = 0.7;
shadow-exclude = [ "name = 'Notification'", "class_g = 'Conky'", "class_g ?= 'Notify-osd'", "_GTK_FRAME_EXTENTS@:c", "class_g = 'gnome-pie'", "name = 'Gnome-Pie'" ];
shadow-ignore-shaped = true;

menu-opacity = 0.9;
frame-opacity = 0.85;
inactive-opacity-override = false;
alpha-step = 0.06;
blur-background = false;
blur-background-frame = false;
blur-background-fixed = true;

fading = true;
fade-delta = 15;
fade-in-step = 0.1;
fade-out-step = 0.1;
fade-exclude = [ "_GTK_FRAME_EXTENTS@:c" ];

mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-ewmh-active-win = false;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;


backend = "glx";
glx-swap-method = "copy";
glx-use-copysubbuffermesa = true;
glx-no-rebind-pixmap = true;


vsync = "opengl";

xrender-sync = true;
unredir-if-possible = true;


focus-exclude = [ ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];

Vladimir-csp avatar Jun 19 '17 11:06 Vladimir-csp

I'm using modesetting driver on Intel HD 630 (Kaby Lake) and haven't found a proper solution to tearing either.

I have no trouble with performance, but no available vsync method works.

The best results are obtained with 'drm' and 'opengl': tearing tends to mostly appear only in upper ~150px of the screen.

I think it might be that modesetting just sucks at vsync game, breaking everything else by extension.
I do wonder, whether this could possibly be corrected for with some sort of workaround?

aidaho avatar Oct 19 '17 22:10 aidaho

Try with: vsync = "opengl-swc";

It works fine on Skylake HD 530.

Relevant parts of my config: backend = "glx"; glx-swap-method = "buffer-age"; vsync = "opengl-swc";

slack3r avatar Mar 20 '19 13:03 slack3r