Problems with libGl, fbConfigs, swrast through each update?
Solution 1:
The swrast
thing is the software renderer. That means it's not finding the hardware driver for your graphics card. There are a bunch of libGL libraries installed and a bunch of of symbolic links to those libraries. To see these run this from the shell:
find /usr -iname "*libGL.so*" -exec ls -l -- {} +
Now the probable cause of your problem is that installing graphics drivers sometimes break these symbolic links. (Specifically /usr/local/lib/libGL.so.1.2.0
is likely to be either the wrong lib or a sym link to the wrong link) (N.B. I wrote this a while ago. libGL.so.1.2.0 was the current gl version it may be something else now).
To work out what library the OpenGL programs are trying to run you can turn on a bit of verbosity and run a simple OpenGL program. You can verify this using the standard OpenGL test program:
LIBGL_DEBUG=verbose glxgears
Hopefully that will fail in the same way as SFML. With LIBGL_DEBUG
it should tell you what OpenGL library it's trying to load. Furthermore the lib it will be trying to load will almost certainly be /usr/local/lib/libGL.so.1.2.0
(Edit: This was the standard OpenGL library on my machine at the time I answered this. It may well be some other version on your machine now).
So the solution (in this case) is to make sure that /usr/local/lib/libGL.so.1.2.0
is a symbolic link pointing at the right OpenGL library. In my case I have the Nvidia 3.40 driver so I ran:
ln -s /usr/lib/nvidia-340/libGL.so.1 /usr/local/lib/libGL.so.1.2.0
But you'll want to point it at the OpenGL lib that is appropriate for you (listed in the first find command).
In summary: installing (proprietary) graphics drivers can break the symbolic links used for OpenGL libs. To solve this problem manually fix the symbolic links (fix /usr/local/lib/libGL.so.1.2.0
first).
Solution 2:
Got same problem on ubuntu 18. This happened basically only with 32bit apps. So my idea was to install 32bit nvidia something, as my /usr/lib/i386-linux-gnu/ folder was suspiciously empty.
After very few tries, this fixed my problem with steam and wine not starting:
sudo apt install libnvidia-gl-418:i386
(and change 418 to whichever version you have)
Interesting that the applications did not complain about missing dependencies during installation.
Solution 3:
I was having problems getting the correct symlink to point at the nVidia driver and I found another way that works for me.
It is outlined here.
And it lists on how to install the nVidia driver via PPA which is avaliable for 349.16, the latest version.
First uninstall any nVidia drivers currently installed by opening a terminal window (Ctrl + ALT + T) and typing
sudo apt-get remove nvidia*
Reboot your system
Then open another terminal and type the following
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install nvidia-349 nvidia-settings
sudo add-apt-repository -r ppa:xorg-edgers/ppa
Then reboot again
I tried it after getting lost with the symlinks and steam worked fine immediately after the installing the driver and again it was still working after I had 400+ megs of system updates.