Mi sono imbattuto in un piccolo ,ma rognoso, problema con una scheda video Nvidia GeForce2 MX200.
Nella speranza che la soluzione possa tornare utile a qualcuno posto qui la soluzione all'inghippo.
Preciso che la cosa vale soprattutto per Fedora 8, ma credo che possa funzionare anche per altre distribuzioni tenendo conto delle dovute differenze.
Innanzitutto per la scheda in questione occorrono i driver della serie 96xx per le vecchie schede video.
Per installarli, se avete configurato i repository di Livna, basta dare :
#yum install kmod-nvidia-96xx
kmod-nvidia-96xx è un paccheto virtuale che installerà nel sistema i seguenti rpm:
kmod-nvidia-96xx-96.43.05-8.lvn8
kmod-nvidia-96xx-2.6.24.4-64.fc8-96.43.05-8.lvn8
xorg-x11-drv-nvidia-96xx-libs-96.43.05-4.lvn8
xorg-x11-drv-nvidia-96xx-96.43.05-4.lvn8
Dovrebbe, altresi, riscrivere in automatico il file di configurazione di Xorg in /etc/X11.
Se non dovesse farlo, basta lanciare il programmino messo a disposizione da Livna che trovate sotto menu/sistema(livna-config-display).
A questo punto, lanciando glxinfo, ci si rende conto che le estensioni opengl non vengono caricate e che non c'è accelerazione grafica.
Dando una occhiata a xorg.conf si nota subito che viene caricato il driver opensource "nv" anziche quello proprietario "nvidia".
Se si prova a modificare xorg.conf ed a riavviare il server X ci si ritrova con un sistema instabile che crasha alla prima applicazione che fa uso di opengl compreso il già citato glxinfo.
Se si lancia X da una console virtuale (ad es. con startx -- :1) si puo notare che un errore del tipo : Checking for texture_from_pixmap: not prensent.
Il problema risiede nel fatto che il server X legge le estensioni opengl opensource anzichè quelle dei driver Nvidia.
Le librerie delle estensioni vengono caricate da /usr/lib/xorg/modules/extensions/libglx.so, ma questo è il file sbagliato!
All'interno della stessa directory c'è, però, la cartella "nvidia" che contiene il file giusto.
Spostiamo libglx.so da qualche altra parte e copiamo i file della cartella nvidia nella cartella madre.
#mv /usr/lib/xorg/modules/extensions/libglx.so /root/
#cp /usr/lib/xorg/modules/extensions/nvidia/* /usr/lib/xorg/modules/extensions/
A questo punto riavviamo X. Lanciando glxinfo ci accorgiamo che l'accelerazione grafica funziona:
direct rendering: Yes.#vi /usr/bin/compiz-managerCerchiamo la riga contenente NVIDIA_MEMORY="65536" # 64MB e cambiamola con:
Section "ServerLayout"PS: la riga: # FontPath "/usr/share/fonts/default/Type1" è commentata perchè anche questa dava problemi.
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
# FontPath "/usr/share/fonts/default/Type1"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/lib/xorg/modules"
EndSection
Section "Module"
Load "type1"
Load "freetype"
Load "glx"
Load "dbe"
Load "extmod"
Load "dri"
EndSection
Section "ServerFlags"
Option "Xinerama" "0"
Option "AIGLX" "on"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from data in "/etc/sysconfig/keyboard"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "it"
Option "XkbModel" "pc105"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "JEN"
HorizSync 31.0 - 53.0
VertRefresh 56.0 - 85.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce2 MX 100/200"
Option "Composite" "Enable"
Option "XAANoOffscreenPixmaps"
Option "RenderAccel"
Option "NvAGP" "1"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "metamodes" "1024x768 +0+0"
SubSection "Display"
Depth 24
Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
14 aprile 2008
#mv /usr/lib/xorg/modules/extensions/libglx.so /root/ #cp /usr/lib/xorg/modules/extensions/nvidia/* /usr/lib/xorg/modules/extensions/ Non era più semplice mettere in blacklist sul file /etc/default/linux-restricted-modules-common ?? Questo permette un recupero della grafica se il pc, dopo un aggiornamento kernel, non ne vuole sapere dei drivere ............ e capita spesso. Fa anche si che non vengano caricati all'avvio i moduli nv i quali risultano inutili dopo l'installazione dei driver nvidia. Ciao
15 aprile 2008 Shaytan
inux-restricted-modules-common è un file che si usa su Ubuntu, non l'ho mai usato in Fedora. E poi il problema non riguarda il modulo del kernel ma , solamente, la libreria libglx.so. Probabilmente c'è un modo più elegante per risolvere la cosa che fare uno spostamento di file ma, sinceramente, non ho avuto il tempo di approfondire. Ciao
15 aprile 2008 leo