You are not logged in.
Pages: 1
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
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
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
Does it work w/ the xrender backend?
It doesn't. I get the same error.
Offline
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
/usr/lib/libGL.so
0000000000049e80 T glEGLImageTargetTexStorageEXT
The symbol is there.
type picom
ldd /usr/bin/picom
Offline
seth What should I do with this information?
Offline
Post the output of the two commands.
Offline
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
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
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
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
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
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?
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
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
I reported upstreem. I will write if this patch have any changes about the problem.
Offline
Pages: 1