Problema Mesa 6.4 repository e driver NVidia

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
aLe46
Linux 2.x
Linux 2.x
Messaggi: 257
Iscritto il: gio 10 feb 2005, 0:00
Contatta:

Problema Mesa 6.4 repository e driver NVidia

Messaggio da aLe46 »

HO un problema con il pacchetto della libreria mesa 6.4 e il driver invidia .

Quando installo questo pacchetto , non funziona più l'accelerazione grafica e l'installer nvidia mi avvisa che sono stati effettuati dei cambiamenti ...

una volta reinstallato il driver per l'accelerazione questa riprende a funzionare ma, non vengono trovate le librerie mesa (che però sono installate ed in precedenza venivano rilevate )

qualcuno ha avuto questo problema?

saluti

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Si sono andato a ricontrollare. Il pacchetto Mesa3d installa 5 librerie una di queste Libgl.so va a sovrascrivere la liberia Opengl che viene installata con il driver Nvidia. Ora devo provare a modificare il pacchetto senza che la libreria Nvidia venga toccata.

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Il problema è documentato anche nel README presente all'interno dei driver NVIDIA

If there are other libraries whose "soname" conflicts with that of
the NVIDIA libraries, ldconfig may create the wrong symlinks. It is
recommended that you manually remove or rename conflicting libraries
(be sure to rename clashing libraries to something that ldconfig will
not look at -- we have found that prepending "XXX" to a library name
generally does the trick), rerun 'ldconfig', and check that the correct
symlinks were made. Some libraries that often create conflicts are
"/usr/X11R6/lib/libGL.so*" and "/usr/X11R6/lib/libGLcore.so*".

If the libraries checks out, then verify that the application is using
the correct libraries. For example, to check that the application
/usr/X11R6/bin/gears is using the NVIDIA libraries, you would do:

$ ldd /usr/X11R6/bin/gears
libglut.so.3 => /usr/lib/libglut.so.3 (0x40014000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x40046000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x40062000)
libc.so.6 => /lib/libc.so.6 (0x4009f000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x4018d000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40196000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x401ac000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x401c0000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x401cd000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401d6000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x402ab000)
libm.so.6 => /lib/libm.so.6 (0x4048d000)
libdl.so.2 => /lib/libdl.so.2 (0x404a9000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x404ac000)

Note the files being used for libGL and libGLcore -- if they are something
other than the NVIDIA libraries, then you will need to either remove the
libraries that are getting in the way, or adjust your ld search path.
If any of this seems foreign to you, then you may want to read the man
pages for "ldconfig" and "ldd" for pointers.


Il modo più semplice per risolvere e lasciare intatti i driver NVIDIA e quello di modifcare lo SlackBuild di MESA3D e ricompilarlo.
Io ho inserito una riga che fa in modo che la libreria lib.GL.so non venga sovrascritta dalla libreria OpenGl di Mesa 3d. Installando però tutte le altre librerie e Header di Mesa3d


#!/bin/sh
# Heavily based on the Slackware 10.2 SlackBuild
# http://mesa3d.org/
# Packagers Gohanz ( gohanz@infinito.ii)
# http://www.slacky.it


CWD=`pwd`
if ["$TMP" = ""]; then
TMP=/tmp
fi
PKG=$TMP/package-Mesa
NAME=Mesa
VERSION=6.4
TARGET=i486
ARCH=${ARCH:-i486}
BUILD=2AS


if [ ! -d $TMP ]; then
mkdir -p $TMP
fi
if [ ! -d $PKG ]; then
mkdir -p $PKG
fi

cd $TMP
tar xvjf $CWD/MesaDemos-$VERSION.tar.bz2
tar xvjf $CWD/MesaGLUT-$VERSION.tar.bz2
tar xvjf $CWD/MesaLib-$VERSION.tar.bz2

cd $NAME-$VERSION
chown -R root.root .

make linux-x86



mkdir -p $PKG/usr/doc/$NAME-$VERSION
cp -a $TMP/$NAME-$VERSION/docs/COPYING \
$PKG/usr/doc/$NAME-$VERSION

( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null
)

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

mkdir -p $PKG/usr/include
mkdir -p $PKG/usr/lib
mkdir -p $PKG/usr/share/mesa3d/docs
mkdir -p $PKG/usr/share/mesa3d/progs

cp -f -r $TMP/$NAME-$VERSION/include/* $PKG/usr/include
cp -f -d $TMP/$NAME-$VERSION/lib/* $PKG/usr/lib
rm $PKG/usr/lib/libGL.so.1.5.060400
cp -f $TMP/$NAME-$VERSION/docs/* $PKG/usr/share/mesa3d/docs/
find $TMP/$NAME-$VERSION/progs/ -perm -755 -exec cp {} /$PKG/usr/share/mesa3d/progs/ \;


cd $PKG
makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz

if [ "$1" = "--cleanup" ]; then
rm -rf $TMP/$NAME-$VERSION
rm -rf $PKG
fi


Oppure si puo procedere a mano. Nel caso in cui ci sia un conflitto con i driver Nvidia e il TGZ presente in Download cancellando la libreria lib.GL.so.1.5.06.0400 e link relativi. E poi reinstallando i driver Nvidia

Avatar utente
aLe46
Linux 2.x
Linux 2.x
Messaggi: 257
Iscritto il: gio 10 feb 2005, 0:00
Contatta:

Messaggio da aLe46 »

Ho provato a cancellare la libGL.so.1.5.060400 e i relativi link a mano e reinstallare i driver NV ma continuano a non fungere le openGL...

root@darkstar:/usr/lib# ls libGL* -l
-rw-r--r-- 1 root root 653 2005-11-06 17:40 libGL.la
lrwxrwxrwx 1 root root 10 2005-11-06 17:40 libGL.so -> libGL.so.1*
lrwxrwxrwx 1 root root 17 2005-11-06 17:40 libGL.so.1 -> libGL.so.1.0.7676*
-rwxr-xr-x 1 root root 518220 2005-11-06 17:40 libGL.so.1.0.7676*
lrwxrwxrwx 1 root root 11 2005-11-06 17:38 libGLU.so -> libGLU.so.1*
lrwxrwxrwx 1 root root 20 2005-11-06 17:38 libGLU.so.1 -> libGLU.so.1.3.060400*
-rwxr-xr-x 1 root root 2877857 2005-11-04 14:34 libGLU.so.1.3.060400*
lrwxrwxrwx 1 root root 21 2005-11-06 17:40 libGLcore.so.1 -> libGLcore.so.1.0.7676*
-rwxr-xr-x 1 root root 7794936 2005-11-06 17:40 libGLcore.so.1.0.7676*
lrwxrwxrwx 1 root root 11 2005-11-06 17:38 libGLw.so -> libGLw.so.1*
lrwxrwxrwx 1 root root 15 2005-11-06 17:38 libGLw.so.1 -> libGLw.so.1.0.0*
-rwxr-xr-x 1 root root 121002 2005-11-04 14:34 libGLw.so.1.0.0*

root@darkstar:/usr/lib# ldd /usr/X11R6/bin/glxgears
libglut.so.3 => /usr/X11R6/lib/libglut.so.3 (0x40030000)
libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x40067000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x400e0000)
libm.so.6 => /lib/libm.so.6 (0x4015f000)
libc.so.6 => /lib/libc.so.6 (0x40182000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4029b000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x40365000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x4037c000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40384000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40392000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x4044a000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x40453000)
libnvidia-tls.so.1 => /usr/lib/tls/libnvidia-tls.so.1 (0x40bbd000)
libdl.so.2 => /lib/libdl.so.2 (0x40bbf000)
/lib/ld-linux.so.2 (0x40000000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40bc3000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40c14000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40c1c000)

Avatar utente
aLe46
Linux 2.x
Linux 2.x
Messaggi: 257
Iscritto il: gio 10 feb 2005, 0:00
Contatta:

Messaggio da aLe46 »

Anche installando i driver nvidia con l'opzione --no-opengl-headers non cambia nulla...

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Eppure vedo che le librerie OpenGl Nvidia vengono caricate. Sul mio computer nella maniera che ti ho detto risolvo. Dopo aver modificato i collegamenti delle librerie hai dato ldconfig?
Devo anche provare con la versione di driver che hai tu, io ne ho una meno recente.
L'opzione --no-opengl-headers non esiste, già di default l'installer Nvidia non copia gli header per compilare i programmi OPenGl.
L'opzione è -opengl-headers che serve appunto ad installarli

Avatar utente
aLe46
Linux 2.x
Linux 2.x
Messaggi: 257
Iscritto il: gio 10 feb 2005, 0:00
Contatta:

Messaggio da aLe46 »

gohanz ha scritto: L'opzione --no-opengl-headers non esiste, già di default l'installer Nvidia non copia gli header per compilare i programmi OPenGl.
L'opzione è -opengl-headers che serve appunto ad installarli
root@darkstar:~# less /usr/doc/NVIDIA_GLX-1.0/README.txt | grep no-opengl-headers
OpenGL header files not be installed, you can pass the --no-opengl-headers
"--no-opengl-headers" option to the .run file during installation.

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Avranno cambiato opzioni allora con il 7174 che sto usando non c'è.

Avatar utente
aLe46
Linux 2.x
Linux 2.x
Messaggi: 257
Iscritto il: gio 10 feb 2005, 0:00
Contatta:

[RISOLTO] :D

Messaggio da aLe46 »

Ho risolto il problema aggiungendo in /etc/profile la seguente riga :

export "LD_PRELOAD=/usr/lib/libGL.so.1"


saluti
:D

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Meno male buono a sapersi :D

Rispondi