Questo messaggio era partito come una richiesta d’aiuto, man mano scrivevo e ragionavo si è trasformato in una soluzione.
Visto che oramai il lavoro era stato fatto e visto che tutto sommato può tornare utile anche ad altri con problemi NVidia ho deciso di postare lo stesso il messaggio nella sua integrità.
Nella macchina su cui è installata F12 avevo provveduto ad installare i driver NVidia come spiegato nel sito di rpmfusion e tutto è andato sempre benissimo sino a questa mattina.
Accendendo la macchina me la sono ritrovata in modalità vesa ad 800x600.
Verificando nei pacchetti mi sono accorto che ieri era stato aggiornato il kernel ma non i relativi kmod che sono invece arrivati questa mattina.
Ho provveduto a fare tutti gli aggiornamenti del caso e a sistemare xorg.conf usando la copia di backup ed infatti al riavvio tutto sembrava tornato normale.
Dico sembrava perché c’è qualche cosa che non va a livello dell’estensione GLX ed infatti:
$ glxgears
Xlib: extension "GLX" missing on display ":0.0".
Error: couldn't get an RGB, Double-buffered visual
Ho controllato di nuovo tutti i dati relativi al kernel ed ai suoi pacchetti e tutto sembra in ordine
$ uname -r
2.6.32.9-70.fc12.i686.PAE
$ rpm -qa | grep kernel | sort
abrt-addon-kerneloops-1.0.8-2.fc12.i686
kernel-firmware-2.6.32.9-70.fc12.noarch
kernel-headers-2.6.32.9-70.fc12.i686
kernel-PAE-2.6.31.12-174.2.22.fc12.i686
kernel-PAE-2.6.32.9-67.fc12.i686
kernel-PAE-2.6.32.9-70.fc12.i686
kernel-PAE-devel-2.6.31.12-174.2.22.fc12.i686
kernel-PAE-devel-2.6.32.9-67.fc12.i686
kernel-PAE-devel-2.6.32.9-70.fc12.i686
Idem per i pacchetti di NVidia
$ rpm -qa | grep nvidia | sort
kmod-nvidia-2.6.31.12-174.2.22.fc12.i686.PAE-190.53-1.fc12.5.i686
kmod-nvidia-2.6.32.9-67.fc12.i686.PAE-195.36.08-1.fc12.2.i686
kmod-nvidia-2.6.32.9-70.fc12.i686.PAE-190.53-3.fc12.i686
kmod-nvidia-PAE-190.53-3.fc12.i686
nvidia-settings-1.0-3.4.fc12.i686
nvidia-xconfig-1.0-2.fc12.i686
xorg-x11-drv-nvidia-190.53-4.fc12.i686
xorg-x11-drv-nvidia-libs-190.53-4.fc12.i686
Andando a spulciare nel log di X si trova
$ less /var/log/Xorg.0.log
(II) LoadModule: "glx"
(II) Loading /usr/lib/xorg/modules/extensions/nvidia/libglx.so
dlopen: libGLcore.so.1: cannot open shared object file: No such file or directory
(EE) Failed to load /usr/lib/xorg/modules/extensions/nvidia/libglx.so
(II) UnloadModule: "glx"
(EE) Failed to load module "glx" (loader failed, 7)
Vado a controllare in /usr/lib/xorg/modules/extensions/nvidia
$ ls -l /usr/lib/xorg/modules/extensions/nvidia
totale 2268
lrwxrwxrwx. 1 root root 16 18 mar 13:00 libglx.so -> libglx.so.190.53
-rwxr-xr-x. 1 root root 2320204 14 mar 11:59 libglx.so.190.53
ed è tutto in ordine
Vado a cercare libGLcore.so.1
# locate libGLcore.so.1
/usr/lib/nvidia/libGLcore.so.1
/usr/lib/nvidia/libGLcore.so.190.53
sembra tutto in ordine ma allora perché non trova la libreria??
Vado a dare un occhiata in /usr/lib/nvidia/ e si svela il mistero
# ls -l /usr/lib/nvidia/
totale 21968
lrwxrwxrwx. 1 root root 17 18 mar 12:59 libcuda.so -> libcuda.so.190.53
lrwxrwxrwx. 1 root root 20 18 mar 12:59 libcuda.so.1 -> libcuda.so.195.36.08
-rwxr-xr-x. 1 root root 4107636 14 mar 11:59 libcuda.so.190.53
lrwxrwxrwx. 1 root root 19 18 mar 12:59 libGLcore.so -> libGLcore.so.190.53
lrwxrwxrwx. 1 root root 22 18 mar 12:59 libGLcore.so.1 -> libGLcore.so.195.36.08
-rwxr-xr-x. 1 root root 17349052 14 mar 11:59 libGLcore.so.190.53
lrwxrwxrwx. 1 root root 18 18 mar 12:59 libGL.so.1 -> libGL.so.195.36.08
-rwxr-xr-x. 1 root root 724636 14 mar 11:59 libGL.so.190.53
lrwxrwxrwx. 1 root root 26 18 mar 12:59 libnvidia-cfg.so.1 -> libnvidia-cfg.so.195.36.08
-rwxr-xr-x. 1 root root 118084 14 mar 11:59 libnvidia-cfg.so.190.53
lrwxrwxrwx. 1 root root 26 18 mar 12:59 libnvidia-tls.so.1 -> libnvidia-tls.so.195.36.08
-rwxr-xr-x. 1 root root 4400 14 mar 11:59 libnvidia-tls.so.190.53
lrwxrwxrwx. 1 root root 26 18 mar 12:59 libXvMCNVIDIA_dynamic.so.1 -> libXvMCNVIDIA.so.195.36.08
-rwxr-xr-x. 1 root root 179052 14 mar 11:59 libXvMCNVIDIA.so.190.53
drwxr-xr-x. 2 root root 4096 18 mar 13:02 tls
Purtroppo mancano i colori se no la cosa sarebbe molto più evidente, molti dei link sono saltati e puntano ancora alla vecchia versione 195.36.08
Non ci resta quindi che sistemare i link
# cd /usr/lib/nvidia/
# ln -sf libcuda.so.190.53 libcuda.so.1
# ln -sf libGLcore.so.190.53 libGLcore.so.1
# ln -sf libGL.so.190.53 libGL.so.1
# ln -sf libnvidia-cfg.so.190.53 libnvidia-cfg.so.1
# ln -sf libnvidia-tls.so.190.53 libnvidia-tls.so.1
# ln -sf libXvMCNVIDIA.so.190.53 libXvMCNVIDIA_dynamic.so.1
Già che ci sono do un occhiata anche in tls (in realtà mento e che dopo non funzionava ancora ma devo fare bella figura)
# cd tls
[root@Fedora12 tls]# ls -l
totale 8
lrwxrwxrwx. 1 root root 26 18 mar 12:59 libnvidia-tls.so.1 -> libnvidia-tls.so.195.36.08
-rwxr-xr-x. 1 root root 4576 14 mar 11:59 libnvidia-tls.so.190.53
Anche qui c’è un link saltato che provvedo a sistemare
# ln -sf libnvidia-tls.so.190.53 libnvidia-tls.so.1
A questo punto riavvio la macchina e tutto torna alla normalità.
Ciao Ciao, Moreno