# libGL error

## oliver2104

Hallo,

ich hab schon längere Zeit ein libGL Problem und möchte das einmal ansprechen.

z.b: das Astronomie-Prog -> celestia  will nicht laufen sondern zeigt 

```
libGL error: No matching fbConfigs or visuals found

libGL error: failed to load driver: swrast

*** Cannot find the double-buffered visual.

*** Trying single-buffered visual.

*** No appropriate OpenGL-capable visual found.
```

kann dazu noch folgende Infos zu meiner Installation liefern:

```
# eselect opengl list

Available OpenGL implementations:

  [1]   nvidia *

  [2]   xorg-x11
```

```
 # find /usr -iname "*libGL.so*" -exec ls -l -- {} + 

lrwxrwxrwx 1 root root     14  3. Mai 13:40 /usr/lib32/libGL.so -> libGL.so.1.2.0

lrwxrwxrwx 1 root root     14  3. Mai 13:40 /usr/lib32/libGL.so.1 -> libGL.so.1.2.0

-rwxr-xr-x 1 root root 457092  3. Mai 13:40 /usr/lib32/libGL.so.1.2.0

lrwxrwxrwx 1 root root     14 23. Mai 12:01 /usr/lib32/opengl/nvidia/lib/libGL.so -> libGL.so.1.7.0

lrwxrwxrwx 1 root root     14 23. Mai 12:01 /usr/lib32/opengl/nvidia/lib/libGL.so.1 -> libGL.so.1.7.0

-rwxr-xr-x 1 root root 523944 23. Mai 12:01 /usr/lib32/opengl/nvidia/lib/libGL.so.1.7.0

lrwxrwxrwx 1 root root     14  3. Mai 13:40 /usr/lib64/libGL.so -> libGL.so.1.2.0

lrwxrwxrwx 1 root root     14  3. Mai 13:40 /usr/lib64/libGL.so.1 -> libGL.so.1.2.0

-rwxr-xr-x 1 root root 467400  3. Mai 13:40 /usr/lib64/libGL.so.1.2.0

lrwxrwxrwx 1 root root     14 23. Mai 12:01 /usr/lib64/opengl/nvidia/lib/libGL.so -> libGL.so.1.7.0

lrwxrwxrwx 1 root root     14 23. Mai 12:01 /usr/lib64/opengl/nvidia/lib/libGL.so.1 -> libGL.so.1.7.0

-rwxr-xr-x 1 root root 665720 23. Mai 12:01 /usr/lib64/opengl/nvidia/lib/libGL.so.1.7.0
```

Da gibt es anscheindend Links auf zwei unterschiedliche libGL versionen.

Könnte das die Ursache sein ?

----------

## demiurg

Ich bin jetzt mit NVIDIA  nicht so fit, da ich AMD und da nur die Opensourcetreiber verwende.

Die Fehlermeldung von libGL  sagt erstmal, dass mit der Konstellation überhaupt nichts mit/ von GL gefunden wird. Nicht mal der Softwarerasterizer swrast, der als Rückfalllösung dient.

Ich gehe mal davon aus, dass der proprietäre nvida Treiber installiert ist?

Was liefert 

```
#glxinfo
```

 an output und läuft die 3d Beschleunigung überhaupt in Hardware?

https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers/de sind Dir sicher bekannt?

Gruß Demiurg

----------

## Josef.95

Hm ja, seltsam :-/

Wurden eventuell mal nvidia drivers am Paketmanager (portage/emerge) vorbei manuell installiert? (Falls ja, dann sind wahrscheinlich xorg-server und eselect opengl im Eimer)

Poste doch bitte auch mal das /var/log/Xorg.0.log (am besten via NoPaste Service) mit.

----------

## Yamakuzure

Ein paar Ideen:

Hast du LD_LIBRARY_PATH gesetzt?

Gibt es eine Ausgabe, wenn du 

```
LIBGL_DEBUG=verbose glxinfo >/dev/null
```

 aufrufst?

/usr/lib64/dri/swrast_dri.so gehört zu media-libs/mesa : Welche Version und USE flags hast du?

Hast du schon versucht mit eselect opengl auf xorg-x11 und wieder zurück zu stellen?

Verwendest du Celestia mit gnome/gtk USE-flag?

Wegen der zwei unterschiedlichen libGL-Versionen brauchst du dir keine Gedanken zu machen. 1.2.0 ist von mesa, 1.7.0 von nvidia.

----------

## oliver2104

Danke für die Reaktionen!

die nvidia Treiber wurden immer mit -> emerge nvidia-drivers installiert.

```
# glxinfo | grep rendering

direct rendering: Yes
```

in /var/log/Xorg.0.log sehe ich jetzt mal keine relevanten Fehler

kann die Datei aber, wenn wirklich notwendig, als Ganzes posten.

LD_LIBRARY_PATH ist keiner gesetzt.

LIBGL_DEBUG=verbose glxinfo >/dev/null ergibt auch nichts

Auffällig ist aber folgendes:

```
# ls -l /usr/lib64/dri/*

lrwxrwxrwx 1 root root 25  3. Mai 13:40 /usr/lib64/dri/kms_swrast_dri.so -> ../mesa/kms_swrast_dri.so

lrwxrwxrwx 1 root root 22  7. Feb 2016  /usr/lib64/dri/swrast_dri.so -> ../mesa/swrastg_dri.so

lrwxrwxrwx 1 root root 22  3. Mai 13:40 /usr/lib64/dri/swrastg_dri.so -> ../mesa/swrastg_dri.so
```

da verweist sowohl /swrast_dri.so als auch /swrastg_dri.so auf  -> ../mesa/swrastg_dri.so

obwohl

```
# ls -l /usr/lib64/mesa

-rwxr-xr-x 2 root root 6657816  3. Mai 13:40 kms_swrast_dri.so

-rwxr-xr-x 1 root root 4175928  3. Mai 13:40 swrast_dri.so

-rwxr-xr-x 2 root root 6657816  3. Mai 13:40 swrastg_dri.so
```

sieht irgendwie so aus als zeige der Link /usr/lib64/dri/swrast_dri.so

auf die falsche Datei und wäre auch schon lang nicht upgedatet worden.

Die USE-flags für celestia sind:

USE="cairo gtk nls threads -debug -gnome -pch -theora"

auf xorg-x11 und wieder zurück zu stellen, hab ich verzichtet.

Weil celestia läuft wieder einwandfrei.

Hab nach wirklich intensiver Suche eine Lösung gefunden.

 *Quote:*   

> remove the library-link libGL.so.1 provided by mesa. 
> 
> At first I thought that it would be better to remove the package (libgl1-mesa-glx) that libGL.so.1 belongs to, but as it happens, this is a requirement of the Steam package. So just remove libGL.so.1 (which should be a symbolic link anyway)

 

bei mir also:

```
# rm /usr/lib32/libGL.so.1

# rm /usr/lib64/libGL.so.1
```

Ich vermute das ist eher ein Workaround als eine Lösung, aber es funktioniert.

----------

