You are not logged in.

#1 2022-11-17 01:57:54

sayonalion
Member
Registered: 2016-10-25
Posts: 42

Picom doesn't start

Hi.

Picom doesn't start after today's system update. When starting, the program crashes and returns: `picom: symbol lookup error: picom: undefined symbol: glEGLImageTargetTexStorageEXT`.

How should I go about solving the problem?

Thanks.

xorg-server 21.1.4;
openbox 3.6.1;
picom 10;
nvidia-340xx-dkms 340.108.

Offline

#2 2022-11-17 08:35:38

seth
Member
Registered: 2012-09-03
Posts: 33,685

Re: Picom doesn't start

for name in /usr/lib/libGL*.so ; do echo $name; nm -D $name | grep glEGLImageTargetTexStorageEXT; done

But the problem is likely "nvidia-340xx-dkms 340.108" - you may need to rebuild picom locally.
Does it work w/ the xrender backend?

Offline

#3 2022-11-17 10:44:58

sayonalion
Member
Registered: 2016-10-25
Posts: 42

Re: Picom doesn't start

for name in /usr/lib/libGL*.so ; do echo $name; nm -D $name | grep glEGLImageTargetTexStorageEXT; done

/usr/lib/libGLdispatch.so
/usr/lib/libGLESv2.so
/usr/lib/libGL.so
0000000000049e80 T glEGLImageTargetTexStorageEXT
/usr/lib/libGLU.so
/usr/lib/libGLX_mesa.so
/usr/lib/libGLX.so
seth wrote:

Does it work w/ the xrender backend?

It doesn't. I get the same error.

Offline

#4 2022-11-17 10:54:14

sayonalion
Member
Registered: 2016-10-25
Posts: 42

Re: Picom doesn't start

seth wrote:

you may need to rebuild picom locally

I manually built and installed picom-git from AUR. Unfortunately, this didn't solve the problem — I still get the same error.

Last edited by sayonalion (2022-11-17 10:57:25)

Offline

#5 2022-11-17 13:47:15

seth
Member
Registered: 2012-09-03
Posts: 33,685

Re: Picom doesn't start

/usr/lib/libGL.so
0000000000049e80 T glEGLImageTargetTexStorageEXT

The symbol is there.

type picom
ldd /usr/bin/picom

Offline

#6 2022-11-18 13:36:39

sayonalion
Member
Registered: 2016-10-25
Posts: 42

Re: Picom doesn't start

seth What should I do with this information?

Offline

#7 2022-11-18 13:49:21

seth
Member
Registered: 2012-09-03
Posts: 33,685

Re: Picom doesn't start

Post the output of the two commands.

Offline

#8 2022-11-19 02:37:09

sayonalion
Member
Registered: 2016-10-25
Posts: 42

Re: Picom doesn't start

The type output.

type picom
picom is /usr/bin/picom

The ldd output.

ldd /usr/bin/picom
	linux-vdso.so.1 (0x00007ffd467dd000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007fce32e2d000)
	libev.so.4 => /usr/lib/libev.so.4 (0x00007fce32e1c000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fce32cd9000)
	libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007fce32cd4000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fce32ca9000)
	libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x00007fce32ca3000)
	libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007fce32c92000)
	libxcb-image.so.0 => /usr/lib/libxcb-image.so.0 (0x00007fce32c8c000)
	libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007fce32bdf000)
	libxcb-damage.so.0 => /usr/lib/libxcb-damage.so.0 (0x00007fce32bda000)
	libxcb-randr.so.0 => /usr/lib/libxcb-randr.so.0 (0x00007fce32bc8000)
	libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007fce32bbf000)
	libxcb-composite.so.0 => /usr/lib/libxcb-composite.so.0 (0x00007fce32bb8000)
	libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0x00007fce32bb2000)
	libxcb-xinerama.so.0 => /usr/lib/libxcb-xinerama.so.0 (0x00007fce32bad000)
	libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007fce32ba4000)
	libxcb-present.so.0 => /usr/lib/libxcb-present.so.0 (0x00007fce32b9f000)
	libxcb-glx.so.0 => /usr/lib/libxcb-glx.so.0 (0x00007fce32b82000)
	libconfig.so.11 => /usr/lib/libconfig.so.11 (0x00007fce32b71000)
	libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007fce32af7000)
	libGL.so.1 => /usr/lib/nvidia/libGL.so.1 (0x00007fce32600000)
	libEGL.so.1 => /usr/lib/nvidia/libEGL.so.1 (0x00007fce32200000)
	libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007fce32aa6000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fce32a86000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007fce32019000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fce32fa1000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fce32a7f000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fce32a77000)
	libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007fce32a72000)
	libxcb-util.so.1 => /usr/lib/libxcb-util.so.1 (0x00007fce32a6a000)
	libnvidia-tls.so.340.108 => /usr/lib/nvidia/libnvidia-tls.so.340.108 (0x00007fce31e00000)
	libnvidia-glcore.so.340.108 => /usr/lib/nvidia/libnvidia-glcore.so.340.108 (0x00007fce2f000000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fce32a53000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fce32a4e000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fce32a49000)
	librt.so.1 => /usr/lib/librt.so.1 (0x00007fce32a44000)
	libnvidia-glsi.so.340.108 => /usr/lib/nvidia/libnvidia-glsi.so.340.108 (0x00007fce2ec00000)
	libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007fce32966000)
	libcap.so.2 => /usr/lib/libcap.so.2 (0x00007fce3295a000)
	libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007fce31cb8000)
	liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007fce325d6000)
	libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007fce3252d000)
	liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007fce3250b000)
	libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007fce31c92000)

Offline

#9 2022-11-19 07:40:54

seth
Member
Registered: 2012-09-03
Posts: 33,685

Re: Picom doesn't start

libGL.so.1 => /usr/lib/nvidia/libGL.so.1 (0x00007fce32600000)
nm -D /usr/lib/nvidia/libGL.so.1 | grep glEGLImageTargetTexStorageEXT

You can probably build and run picom w/o the "opengl" option ("-Dopengl=false" meson configure flag)

Offline

#10 2022-11-20 04:37:23

sayonalion
Member
Registered: 2016-10-25
Posts: 42

Re: Picom doesn't start

seth I've built it with the option you specified. Now the program starts without any errors. But the reason I installed picom was to get rid of screen tearing in Firefox. When building with that option tearing remains intact, moreover now I observe significant stuttering when scrolling web pages in the browser. So, this is not the solution. Thanks, anyway.

Offline

#11 2022-11-20 07:37:23

d.ALT
Member
Registered: 2019-05-10
Posts: 383

Re: Picom doesn't start

sayonalion wrote:

seth I've built it with the option you specified. Now the program starts without any errors. But the reason I installed picom was to get rid of screen tearing in Firefox. When building with that option tearing remains intact, moreover now I observe significant stuttering when scrolling web pages in the browser. So, this is not the solution. Thanks, anyway.

You're NOT using OpenGL, expected behavior. Try opening an issue to Picom devs.


<49,17,III,I>    Fama di loro il mondo esser non lassa;
<50,17,III,I>    misericordia e giustizia li sdegna:
<51,17,III,I>    non ragioniam di lor, ma guarda e passa.

Offline

#12 2022-11-20 08:10:46

seth
Member
Registered: 2012-09-03
Posts: 33,685

Re: Picom doesn't start

Tearing isn't really an expected behavior, the problem will originate w/ https://github.com/yshui/picom/commit/0 … 1e47fbadf3 and the missing "nm -D /usr/lib/nvidia/libGL.so.1 | grep glEGLImageTargetTexStorageEXT" would probably show that this symbol isn't anywhere to be found in the 340xx GL library.
However, I'd expect a local - even GL enabled - build to either fail or not stumble over this, hence there's probably a misconception reg. https://bbs.archlinux.org/viewtopic.php … 1#p2068541

The specific issue is "glEGLImageTargetTexStorageEXT(GL_TEXTURE_2D, eglpixmap->image, NULL);", l263 in egl.c but there may be more.
Not sure whether upstream is gonna adjust for an EOL proprietary driver and even then you'd have to build picom yourself (because this is a linker error)

Edit: w/ the repo version, try

LD_PRELOAD=/usr/lib/nvidia/libGL.so.1:/usr/lib/libGL.so picom

or (less likely)

LD_PRELOAD=/usr/lib/libGL.so:/usr/lib/nvidia/libGL.so.1 picom

Last edited by seth (2022-11-20 08:16:15)

Offline

#13 2022-11-22 09:09:52

d.ALT
Member
Registered: 2019-05-10
Posts: 383

Re: Picom doesn't start

seth wrote:

Tearing isn't really an expected behavior, the problem will originate w/ https://github.com/yshui/picom/commit/0 … 1e47fbadf3 and the missing "nm -D /usr/lib/nvidia/libGL.so.1 | grep glEGLImageTargetTexStorageEXT" would probably show that this symbol isn't anywhere to be found in the 340xx GL library.

So this is a problem due to the old nVIDIA driver lacking new OpenGL specifications?





seth wrote:

ther upstream is gonna adjust for an EOL proprietary driver and even then you'd have to build picom yourself (because this is a linker error)

Edit: w/ the repo version, try

LD_PRELOAD=/usr/lib/nvidia/libGL.so.1:/usr/lib/libGL.so picom

or (less likely)

LD_PRELOAD=/usr/lib/libGL.so:/usr/lib/nvidia/libGL.so.1 picom

Due to lack in my knwoledge maybe this will be a wrong assumption: what if the OP fake the reported OpenGL version (MESA_GL_VERSION_OVERRIDE=)?


<49,17,III,I>    Fama di loro il mondo esser non lassa;
<50,17,III,I>    misericordia e giustizia li sdegna:
<51,17,III,I>    non ragioniam di lor, ma guarda e passa.

Offline

#14 2022-11-22 09:18:22

seth
Member
Registered: 2012-09-03
Posts: 33,685

Re: Picom doesn't start

MESA_GL_VERSION_OVERRIDE is ignored by nvidias GL implementantion and it would still not add the missing symbol.
This isn't so much an OpenGL problem, but rather a "ABI incompatible library" problem.
GL is a random, insignificant element to that.

Offline

#15 2022-11-22 15:57:16

sayonalion
Member
Registered: 2016-10-25
Posts: 42

Re: Picom doesn't start

I reported upstreem. I will write if this patch have any changes about the problem.

Offline

Board footer

Powered by FluxBB