[OpenIndiana-discuss] screensave failure to display GL, screensavers - Resolved?
russell
stream at willows7.myzen.co.uk
Wed Feb 1 17:30:08 UTC 2023
On 2/1/23 15:14, Stephan Althaus wrote:
> On 2/1/23 14:59, russell wrote:
>>
>> Hi Stephan
>>
>> I am running with 32 bit
>>
>> $ grep -i depth /var/log/Xorg.0.log
>> [ 98.581] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
>> [ 100.246] (--) Depth 24 pixmap format is 32 bpp
>>
>>
>> /usr/bin/glxgears works fine
>>
>> $ldd /usr/bin/glxgears
>> libGL.so.1 => /usr/lib/64/libGL.so.1
>> libm.so.2 => /lib/64/libm.so.2
>> libX11.so.4 => /usr/lib/64/libX11.so.4
>> libc.so.1 => /lib/64/libc.so.1
>> libnvidia-glsi.so.1 => /usr/lib/64/libnvidia-glsi.so.1
>> libnvidia-tls.so.1 => /usr/lib/64/libnvidia-tls.so.1
>> libnvidia-glcore.so.1 => /usr/lib/64/libnvidia-glcore.so.1
>> libsocket.so.1 => /lib/64/libsocket.so.1
>> libXext.so.0 => /usr/lib/64/libXext.so.0
>> librt.so.1 => /lib/64/librt.so.1
>> libxcb.so.1 => /usr/lib/64/libxcb.so.1
>> libnsl.so.1 => /lib/64/libnsl.so.1
>> libpthread.so.1 => /lib/64/libpthread.so.1
>> libXau.so.6 => /usr/lib/64/libXau.so.6
>> libXdmcp.so.6 => /usr/lib/64/libXdmcp.so.6
>> libmp.so.2 => /lib/64/libmp.so.2
>> libmd.so.1 => /lib/64/libmd.so.1
>> libXevie.so.1 => /usr/lib/64/libXevie.so.1
>> libXss.so.1 => /usr/lib/64/libXss.so.1
>>
>> Comparing the two programs the screensavers use more GL libraries,
>> when you tried the GL/freeglut which libraries were used.
>>
>> $ ldd /usr/lib/xscreensaver/hacks/glhanoi
>> libEGL.so.1 => /usr/lib/64/libEGL.so.1
>> libGLU.so.1 => /usr/lib/64/libGLU.so.1
>> libGL.so.1 => /usr/lib/64/libGL.so.1
>> libXft.so.2 => /usr/lib/64/libXft.so.2
>> libXt.so.4 => /usr/lib/64/libXt.so.4
>> libX11.so.4 => /usr/lib/64/libX11.so.4
>> libm.so.2 => /lib/64/libm.so.2
>> libc.so.1 => /lib/64/libc.so.1
>> libpthread.so.1 => /lib/64/libpthread.so.1
>> librt.so.1 => /lib/64/librt.so.1
>> libsocket.so.1 => /lib/64/libsocket.so.1
>> libnvidia-glsi.so.1 => /usr/lib/64/libnvidia-glsi.so.1
>> libstdc++.so.6 => /usr/gcc/7/lib/amd64/libstdc++.so.6
>> libgcc_s.so.1 => /usr/gcc/7/lib/amd64/libgcc_s.so.1
>> libnvidia-tls.so.1 => /usr/lib/64/libnvidia-tls.so.1
>> libnvidia-glcore.so.1 => /usr/lib/64/libnvidia-glcore.so.1
>> libXext.so.0 => /usr/lib/64/libXext.so.0
>> libfontconfig.so.1 => /usr/lib/64/libfontconfig.so.1
>> libfreetype.so.6 => /usr/lib/64/libfreetype.so.6
>> libXrender.so.1 => /usr/lib/64/libXrender.so.1
>> libSM.so.6 => /usr/lib/64/libSM.so.6
>> libICE.so.6 => /usr/lib/64/libICE.so.6
>> libxcb.so.1 => /usr/lib/64/libxcb.so.1
>> libnsl.so.1 => /lib/64/libnsl.so.1
>> libexpat.so.1 => /usr/lib/64/libexpat.so.1
>> libz.so.1 => /usr/lib/64/libz.so.1
>> libbz2.so.1 => /usr/lib/64/libbz2.so.1
>> libpng16.so.16 => /usr/lib/64/libpng16.so.16
>> libharfbuzz.so.0 => /usr/lib/64/libharfbuzz.so.0
>> libbrotlidec.so.1 => /usr/lib/64/libbrotlidec.so.1
>> libXau.so.6 => /usr/lib/64/libXau.so.6
>> libXdmcp.so.6 => /usr/lib/64/libXdmcp.so.6
>> libmp.so.2 => /lib/64/libmp.so.2
>> libmd.so.1 => /lib/64/libmd.so.1
>> libgraphite2.so.3 => /usr/lib/64/libgraphite2.so.3
>> libglib-2.0.so.0 => /usr/lib/64/libglib-2.0.so.0
>> libbrotlicommon.so.1 => /usr/lib/64/libbrotlicommon.so.1
>> libpcre2-8.so.0 => /usr/lib/64/libpcre2-8.so.0
>> libXevie.so.1 => /usr/lib/64/libXevie.so.1
>>
>> libXss.so.1 => /usr/lib/64/libXss.so.1
>>
>> Russell
>>
>>
> Hi!
>
>
> The linking of my test program "moon" is similar, libEGL is not used,
> though.
>
> $ ldd moon
> libGL.so.1 => /usr/lib/64/libGL.so.1
> libGLU.so.1 => /usr/lib/64/libGLU.so.1
> libX11.so.4 => /usr/lib/64/libX11.so.4
> libglut.so.3 => /usr/lib/64/libglut.so.3
> libstdc++.so.6 => /usr/gcc/7/lib/amd64/libstdc++.so.6
> libm.so.2 => /lib/64/libm.so.2
> librt.so.1 => /lib/64/librt.so.1
> libgcc_s.so.1 => /usr/gcc/7/lib/amd64/libgcc_s.so.1
> libc.so.1 => /lib/64/libc.so.1
> libnvidia-glsi.so.1 => /usr/lib/64/libnvidia-glsi.so.1
> libnvidia-tls.so.1 => /usr/lib/64/libnvidia-tls.so.1
> libnvidia-glcore.so.1 => /usr/lib/64/libnvidia-glcore.so.1
> libsocket.so.1 => /lib/64/libsocket.so.1
> libXext.so.0 => /usr/lib/64/libXext.so.0
> libxcb.so.1 => /usr/lib/64/libxcb.so.1
> libnsl.so.1 => /lib/64/libnsl.so.1
> libXrandr.so.2 => /usr/lib/64/libXrandr.so.2
> libXxf86vm.so.1 => /usr/lib/64/libXxf86vm.so.1
> libXi.so.5 => /usr/lib/64/libXi.so.5
> libpthread.so.1 => /lib/64/libpthread.so.1
> libXau.so.6 => /usr/lib/64/libXau.so.6
> libXdmcp.so.6 => /usr/lib/64/libXdmcp.so.6
> libmp.so.2 => /lib/64/libmp.so.2
> libmd.so.1 => /lib/64/libmd.so.1
> libXrender.so.1 => /usr/lib/64/libXrender.so.1
> libXevie.so.1 => /usr/lib/64/libXevie.so.1
> libXss.so.1 => /usr/lib/64/libXss.so.1
>
> Don't know much about linking, but the glmatrix etc don't have a
> linking issue and does not show lib xxx not found or something.
> So this may be some GL internal thing..
>
> These Examples work, too:
>
> https://github.com/danginsburg/opengles-book-samples
>
> What do the GL Screensaver use that doesn't work?
>
> ...
>
Hi Stephan
Looking at the /usr/lib/xscreensaver/hacks/ I have identified all the
libraries for the executables which do not work and then removed all the
libraries which are used by other working executables.
libEGL.so.1 => /usr/lib/64/libEGL.so.1
libffi.so.6 => /usr/lib/64/libffi.so.6
libgcc_s.so.1 => /usr/gcc/7/lib/amd64/libgcc_s.so.1
libresolv.so.2 => /lib/64/libresolv.so.2
Looking at matrixview which works it uses the libgcc_s.so.1 however it
points to gcc/10 see below the broken ones use
/usr/gcc/7/lib/amd64/libgcc_s.so.1
libgcc_s.so.1 => /usr/gcc/10/lib/amd64/libgcc_s.so.1
So making sure that it binds to the correct gcc version lib might fix
the issue.
Kind Regards
Russell
More information about the openindiana-discuss
mailing list