You are not logged in.

#1 2021-08-17 11:19:11

pvsakith
Member
Registered: 2020-04-28
Posts: 18

[Solved] Picom screen freezes when using 'glx' backend

I installed Arch Linux yesterday and installed i3 with picom. I have Geforce 1060 graphic card.

My xorg.conf

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 470.63.01

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

glxinfo -B output

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa/X.org (0xffffffff)
    Device: llvmpipe (LLVM 12.0.1, 256 bits) (0xffffffff)
    Version: 21.1.6
    Accelerated: no
    Video memory: 5896MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Mesa/X.org
OpenGL renderer string: llvmpipe (LLVM 12.0.1, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 21.1.6
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.1 Mesa 21.1.6
OpenGL shading language version string: 1.40
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.1.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

picom.conf

# ░█▀█░▀█▀░█▀▀░█▀█░█▄█░░░░█▀▀░█▀█░█▀█░█▀▀
# ░█▀▀░░█░░█░░░█░█░█░█░░░░█░░░█░█░█░█░█▀▀
# ░▀░░░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀░░▀▀▀░▀▀▀░▀░▀░▀░░
#
#  X compositor configuration

# ░█▀▀░█░█░█▀█░█▀▄░█▀█░█░█
# ░▀▀█░█▀█░█▀█░█░█░█░█░█▄█
# ░▀▀▀░▀░▀░▀░▀░▀▀░░▀▀▀░▀░▀

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

# shadow-red = 0
# shadow-green = 0
# shadow-blue = 0
shadow-color = "#000000";

shadow-exclude = [
	"name = 'Notification'",
	"class_g = 'Conky'",
	"class_g ?= 'Notify-osd'",
	"class_g = 'Cairo-clock'",
	"class_g = 'slop'",
	"class_g = 'Firefox' && argb",
	"class_g = 'Rofi'",
	"_GTK_FRAME_EXTENTS@:c",
	"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];

# shadow-exclude-reg = "x10+0+0";
# xinerama-shadow-crop = true;

# ░█▀▀░█▀█░█▀▄░▀█▀░█▀█░█▀▀
# ░█▀▀░█▀█░█░█░░█░░█░█░█░█
# ░▀░░░▀░▀░▀▀░░▀▀▀░▀░▀░▀▀▀

fading = true;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-delta = 3;

fade-exclude = [];

no-fading-openclose = false;
no-fading-destroyed-argb = true;

# ░█▀█░█▀█░█▀█░█▀▀░▀█▀░▀█▀░█░█
# ░█░█░█▀▀░█▀█░█░░░░█░░░█░░░█░
# ░▀▀▀░▀░░░▀░▀░▀▀▀░▀▀▀░░▀░░░▀░

inactive-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
active-opacity = 1.0;
inactive-dim = 0.0;

focus-exclude = [
	"class_g = 'Cairo-clock'",
	"class_g ?= 'rofi'",
	"class_g ?= 'slop'",
	"class_g ?= 'Steam'"
];

# inactive-dim-fixed = 1.0;

opacity-rule = [ 
	"80:class_g = 'URxvt'",
	"80:class_g = 'UXTerm'",
	"80:class_g = 'XTerm'"
]

# ░█▀▄░█░░░█░█░█▀▄░█▀▄░▀█▀░█▀█░█▀▀
# ░█▀▄░█░░░█░█░█▀▄░█▀▄░░█░░█░█░█░█
# ░▀▀░░▀▀▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░▀▀▀

blur: {
	method = "gaussian";
    strength = 10.0;
	deviation = 1.0;
	kernel = "11x11gaussian";
}

blur-background = true;
blur-background-frame = true;
blur-background-fixed = true;
# blur-kern = "3x3box";

blur-background-exclude = [
	"class_g = 'slop'",
	"_GTK_FRAME_EXTENTS@:c"
];

# ░█▀▀░█▀▀░█▀█░█▀▀░█▀▄░█▀█░█░░░░░█▀▀░█▀▀░▀█▀░▀█▀░▀█▀░█▀█░█▀▀░█▀▀
# ░█░█░█▀▀░█░█░█▀▀░█▀▄░█▀█░█░░░░░▀▀█░█▀▀░░█░░░█░░░█░░█░█░█░█░▀▀█
# ░▀▀▀░▀▀▀░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░░░▀▀▀░▀▀▀░░▀░░░▀░░▀▀▀░▀░▀░▀▀▀░▀▀▀

daemon = false;
experimental-backends = true;
backend = "glx";
vsync = true;
dbus = false;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true
detect-client-opacity = true;
# refresh-rate = 0;
# use-ewmh-active-win = true;
# unredir-if-possible = false;
# unredir-if-possible-delay = 0;

unredir-if-possible-exclude = [];

detect-transient = true;
detect-client-leader = true;
resize-damage = 1;

invert-color-include = [];

glx-no-stencil = true;
# glx-no-rebind-pixmap = false;
use-damage = true;
# xrender-sync-fence = true;

# glx-fshader-win = "";
# force-win-blend = false;

# no-ewmh-fullscreen = false;
# max-brightness = 1.0;

transparent-clipping = false;

log-level = "warn";
log-file = "~/.cache/picom-log.log";
show-all-xerrors = true;
# write-pid-path = '/path/to/your/mom';

wintypes: {
	tooltip = { fade = true; shadow = false; focus = false; };
	normal = { shadow = false; };
	dock = { shadow = false; };
	dnd = { shadow = false; };
	popup_menu = { shadow = true; focus = false; opacity = 0.90; };
	dropdown_menu = { shadow = false; focus = false; };
	above = { shadow = true; };
	splash = { shadow = false; };
	utility = { focus = false; shadow = false; blur-background = false; };
	notification = { shadow = false; };
	desktop = { shadow = false; blur-background = true; };
	menu = { focus = false; };
	dialog = { shadow = true; };
};

Picom works properly with xrender. But when the backend is changed to glx the screen freezes. I can move the mouse and click on buttons but the UI does not update. For example I can type on a terminal but the text is not shown, but when I kill picom the text has been typed. I have used arch linux with graphic card before with glx backend and it was fine. I tried disabling vsync and commenting out refresh-rate in picom configuration file.

Last edited by pvsakith (2021-08-17 13:05:00)

Offline

#2 2021-08-17 12:51:40

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,310

Re: [Solved] Picom screen freezes when using 'glx' backend

Your GLX backend is broken because that config doesn't expand the module path properly. Remove that xorg.conf and reboot. If it still doesn't work, enable early KMS: https://wiki.archlinux.org/title/NVIDIA … de_setting

Offline

#3 2021-08-17 13:04:35

pvsakith
Member
Registered: 2020-04-28
Posts: 18

Re: [Solved] Picom screen freezes when using 'glx' backend

V1del wrote:

Your GLX backend is broken because that config doesn't expand the module path properly. Remove that xorg.conf and reboot. If it still doesn't work, enable early KMS: https://wiki.archlinux.org/title/NVIDIA … de_setting

Thanks it worked. I've had two configuration files, xorg.conf and another one in xorg.conf.d/20-nvidia.conf, removed both of them and it is working!

Offline

Board footer

Powered by FluxBB