Installare i driver Nvidia per accelerare XFree86 (X Window)

Una limitazione che ha frenato l'uso di Linux sul desktop è stata la carenza di supporto 3D su XFree86, l'X Window Server opensource utilizzato in tutte le distribuzioni.
Per godere della accelerazione hardware 3D delle schede di Nvidia (GeForce, TNT, Quadro) si possono scaricare i driver Linux ufficiali da www.nvidia.com, che dalla versione 1.0-4349 prevedono un nuovo comodo ed efficace meccanismo di installazione che, soprattutto se si utilizzano i kernel ufficiali di distribuzioni come RedHat, Mandrake, Suse, è piuttosto semplice e regala in fretta le ovvie soddisfazioni sia per il supporto accellerato OpenGL che per la gestione dell'output su TV, su schermi flat e anche di due schermi contemporaneamente, se supportato dalla propria scheda Nvidia.

Vediamo come procedere per installare i driver Nvidia:
[al@localhost DOWN]$ wget http://download.nvidia.com/XFree86/Linux-x86/1.0-4349/NVIDIA-Linux-x86-1.0-4349.run
[al@localhost DOWN]$ ls -la
-rw-------    1 al       al        6483213 Apr 18 21:11 NVIDIA-Linux-x86-1.0-4349.run
[al@localhost DOWN]$ chmod 755 NVIDIA-Linux-x86-1.0-4349.run Il file scaricato è un binario autoinstallante, deve essere eseguibile
[al@localhost DOWN]$ ./NVIDIA-Linux-x86-1.0-4349.run
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 1.0-4349........................
nvidia-installer: Error opening log file '/var/log/nvidia-installer.log' for writing (Permission denied); disabling logging.
[al@localhost DOWN]$ su Solo root può installare un nuovo modulo per il kernel
Password:
[root@localhost DOWN]# ./NVIDIA-Linux-x86-1.0-4349.run
Verifying archive integrity... OK

Appare una finestra con licenza d'uso da accettare e indicazioni su cosa viene installato e come completare la configurazione. Il programma di installazione provvede anche a scaricare, ne necessario, gli aggiornamenti del driver e il supporto per nuove versioni del kernel per le principali distribuzioni.
I requisiti di base sono:
  - linux kernel     2.2.12   # cat /proc/version
  - XFree86          4.0.1    # XFree86 -version
  - Kernel modutils  2.1.121  # insmod -V

Installati i binari si deve procedere alla configurazione di XF86config.
[root@localhost al]# vi /etc/X11/XF86Config
Qui fondamentalmente, per una installazione base, basta sostituire nella Device Section:
        Driver "nv"
    (o Driver "vesa")

con
        Driver "nvidia"
assicurarsi che esista nella Module Section:
        Load   "glx"
e siano commentate o assenti le seguenti righe:
##        Load  "dri"
##        Load  "GLcore"

Per andare oltre queste indicazioni essenziali e in caso di problemi esiste un ottimo README:
[root@localhost DOWN]# cat /usr/share/doc/NVIDIA_GLX-1.0/README
Prima di riavviare il proprio X Server occorre essere consapevoli che qualcosa può fallire (driver inadatti al proprio kernel, configurazione di XFree sbagliata, Murphy vari...) e quindi essere pronti e in grado di ripristinare un sistema che reebootta in modalità grafica (init 5) e non riesce ad aprire l'X Window accellerato, balendando cambi di risoluzione sul monitor e fallendo con messaggio di errore tipo: Respawning too fast.
In questi casi, dalla modalità testale (init 3) consultare il README e guardare il log (/var/log/XFree86.0.log).
Per procedere si deve uscire dalla eventuale propria sessione grafica corrente:
[root@localhost DOWN]# init 3.
Eseguire un login da console (sempre meglio evitare di usare l'utente root, soprattutto se si usa X Windows):
[al@localhost DOWN]> startx
e se gli astri ci sono favorevoli, o semplicemente abbiamo seguito le istruzioni, appare il logo Nvidia e il nostro Desktop accellerato si apre pronto per essere studiato.

Chi vuole approfondire è possibile provare le opzioni del file scaricato:
./NVIDIA-Linux-x86-1.0-4349.run --help - Elenca le opzioni disponibili
./NVIDIA-Linux-x86-1.0-4349.run --info - Mostra informazioni sulla versione del driver e la directory di installazione
./NVIDIA-Linux-x86-1.0-4349.run --update - Scarica da Internet e installa i driver aggiornati
./NVIDIA-Linux-x86-1.0-4349.run --uninstall - Disinstalla i driver.
./NVIDIA-Linux-x86-1.0-4349.run --extract-only - Non installa niente e scompatta tutto in una directory dove si trovano file fondamentali per approfondire:
.nvidia-installer - I programma di installazione, con le stesse opzioni del pacchetto .run
./usr/share/doc/XF86Config.sample - File di conf di XFree con esempi utili per il supporto TwinView e altre modalità a doppio schermo.
./usr/share/doc/README - Readme completo, con varie informazioni e appendici per il tuning della configurazione di X Windows e il troubleshooting.

Sul sistema vengono installati vari componenti chiave:
/usr/X11R6/lib/modules/drivers/nvidia_drv.o - Il driver per XFree86 (4.0.1 o superiore).
/usr/X11R6/lib/modules/extensions/libglx.so.x.y.z - Il modulo per il supporto di GLX (Specifiche di Silicon Graphics per l'uso di OpenGL su XWindow)
/usr/lib/libGL.so.x.y.z - Libreria condivisa per l'accesso alle funzioni OpenGL e GLX, viene caricata dinamicamente dalle applicazioni OpenGL
/lib/modules/`uname -r`/video/nvidia.o o /lib/modules/`uname -r`/kernel/drivers/video/nvidia.o Il modulo per il kernel che permette l'accesso a basso livello sull'hardware Nvidia. Viene caricato dal kernel quando si avvia X. Consta di due componenti: il core, di cui Nvidia distribuisce soltanto il binario e una kernel interface che è strettamente dipendente dalla versione del proprio kernel.

Se si aggiorna il proprio kernel tramite un pacchetto ufficiale, è necessario reinstallare i driver Nvidia (la parte di kernel interface del modulo è strettamente vincolata allo specifico kernel installato). La procedura è rapida ed indolore, i driver scaricati possono autoaggiornarsi e provvedere, generalmente senza intoppi (se si usano le distribuzioni supportate da Nvidia) a ripristinare il supporto 3d su XWindow:
[root@localhost DOWN]# ./NVIDIA-Linux-x86-1.0-4349.run

Testare le potenzialità di un 3d su Linux
Una volta avviato XServer con i driver Nvidia tutto apparentemente resta uguale, si devono cercare applicazioni, giochi, demo che sfruttino il 3d.
Su molte distribuzioni è disponibile TuxRacer, un gioco dove si lancia un pinguino giù per piste innevate a raccattar bandiere. Vederlo senza accelerazione 3d è scoraggiante, ma con i nuovi driver rivela una fluidità e una giocabilità piacevoli.
Ma questo è solo l'inizio, chi ha comprato Unreal Tournament 2003 per Windows ha la gradita sorpresa di trovare nel terzo CD l'installer per Linux e potrà avere le prestazioni che la sua scheda grafica gli permettono.
Discorso analogo per Quake e un crescente numero di altri giochi.
Altra ottima via per godere di un 3d spettacolare, senza necessariamente avere un gioco comemrciale, è lanciarsi nella ancora acerba ma promettente scena demo su Linux.
Un demo è una sorta di videoclip calcolato in tempo teale, prodotto per svago e senza lucro da gruppi di artisti del computer: grafici, musicisti e programmatori in grado di esprimere emozioni e tecnica tramite il mezzo digitale.
Una ottima conversione per Linux di un demo uscito per Windows nel 2000 è Vip2  (http://www.sesse.net/vip2-linux/)

Privacy Policy