chjj / compton

A compositor for X11.
Other
2.24k stars 501 forks source link

GLX backend showing blank screen on AMD GPU #339

Open ghost opened 8 years ago

ghost commented 8 years ago

I currently have an ArchLinux install with i3wm and xf86-video-amdgpu driver installed on my PC. When I run Compton with the xrender backend it works fine, however when I run it with the GLX backend I can only see my background (feh) and nothing else. Running on an AMD Radeon HD 5670. My config:

# General
daemon = true;

# Shadow
shadow = true;
clear-shadow = true;
no-dock-shadow = true;
no-dnd-shadow = true;

shadow-opacity = 0.75;
shadow-radius = 8;
shadow-offset-x = -12;
shadow-offset-y = -12;

menu-opacity = 0.85;
inactive-opacity = 0.85;
active-opacity = 1;
frame-opacity = 0.6;
sw-opti = true;

shadow-exclude = [ 
  "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",       # hidden
  "bounding_shaped",                                    # shadow-ignore-shaped
  "class_g *= 'Dmenu'"
];

# Fading
fading = true;
fade-in-step = 0.1;
fade-out-step = 0.04;
fade-delta = 20;

# Opacity
backend = "glx"
opacity-rule = [ 
  "90:class_i ^= 'scratchpad_' && !_NET_WM_STATE@:32a",   # scratch 90%
  "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",       # hidden 0%
  "0:class_g = 'Transparent Conky'"              # lemonbar placeholder
];

vsync = "drm"

# GLX backend
glx-no-stencil = true;
glx-copy-from-front = false;
glx-use-copysubbuffermesa = false;
glx-no-rebind-pixmap = true;
glx-swap-method = "copy";
glx-use-gpushader4 = true;
xrender-sync = true;

What could be causing the problem?

ghost commented 8 years ago

No one responded to this in the past 3 months... Wow.

smlx commented 8 years ago

Have you tried removing all .conf lines except backend = "glx";?

ghost commented 8 years ago

AMD produces atrocious Linux drivers for their graphic cards. This is especially true for their binary blob (Catalyst) driver which I heard is now discontinued (?). I don't know how good their open source driver is, but I'd suggest it is of the same garbage quality.

If you want to use Linux, do your best to stay away from AMD products.

polyzen commented 5 years ago

Just ran into this. :\

ericpruitt commented 1 month ago

I ran into this, but I discovered that it only happens when using "--daemon" option. On my system, when GLX is a valid backend, I run compton --daemon -C --backend=glx. If I run compton -C --backend=glx instead, it works as expected.

EDIT: I forgot to mention that potential issues with "--daemon" is noted in the man page:

Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.

I'm using the Debian package xserver-xorg-video-amdgpu on the system in question (Thinkpad T14 gen. 2) which has a Radeon Cezanne / Vega 7 GPU.