[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