Come già scritto Hardy Heron porta con sé un problema riguardante le schede grafiche nVidia GeForce serie 8600 (quindi GS, GT, Mobile version, ecc.) che è montata su molti portatili Dell (come il mio Inspiron 1520) e su molte altre marche.
Il problema si verifica facendo installare al gestore dei driver con restrizione di Ubuntu i nuovi driver proprietari 169.12, che evidentemente non sono ancora del tutto supportati (mentre su Gustsy i vecchi 1:96.43.05 andavano una meraviglia), infatti riavviando dopo l’installazione dei driver, giungendo alla schermata di login, essa si presenta completamente bianca con delle linee verticali che partono da un grigio-violetto e tendono sempre più al nero.
Descritto il problema, se vi riconoscete la vostra situazione, continuate a leggere, perché dopo svariate ricerche e tentativi sono riuscito ad avere gli ultimi driver nVidia funzionanti sul mio pc, e sinceramente di faticare un pochino, visti i risultati, ne vale la pena.
Let’s start!
Se avete riconosciuto il problema siete arrivati ad un punto che per un utente alle prime armi potrebbe sembrare di non ritorno, invece non serve reinstallare tutto daccapo:
- riavviate il pc brutalmente;
- entrando nel menù di grub avviate ubuntu in modalità recovery mode;
- selezionate nel menù che vi si presenterà (grande Hardy Heron!) che volete tentare il fix dell’xserver;
- attendete che si completino le operazioni di risoluzione del problema (il vecchio file xorg.conf sarà backuppato) ed a questo punto riavviate normalmente Ubuntu.
Vi ritroverete con la risoluzione base e i driver open vesa (o nv).
Adesso spiegherò brevemente quello che cercheremo di fare: per risolvere il problema basta ottenere il file EDID della scheda video ed inserire manualmente nel file xorg.conf un’opzione che obblighi il server x a fare riferimento a tale file. Per ottenerlo (a meno che non vogliate ricavarlo sotto Windows, se lo avete installato accanto ad Ubuntu, ma non è questo il mio caso) dobbiamo far funzionare il programma di configurazione della nVidia (NVIDIA X Server Settings), che però a sua volta necessita che i driver nVidia siano già in uso (potenza dei programmi proprietari…), solo che se noi installiamo i driver proprietari non possiamo accedere in modalità grafica e di conseguenza ciccia.
Non rimane altro che ingannare NVIDIA X Server Settings facendogli credere che stiamo usando i driver giusti
. Per far questo abbiamo bisogno di un’installazione funzionante di EnvyNG e di un accesso ad internet, considerate che molti passaggi saranno effettuati al di fuori della modalità grafica, quindi scrivetevi i comandi su un foglio o stampatevi questo post, se pensate di non ricordarli a memoria, non potrete consultarli mentre agite da terminale!
Andiamo con ordine:
- Scaricate dal sito dell’nVidia i driver 100.14.19, che sono per un’altra serie di schede, ma fanno comodo per i nostri ingannevoli propositi;
- per installarli uscite dall’ambiente grafico con la combinazione di tasti Ctrl + Alt + F1 e effettuate il login, supponendo che abbiate scaricato i driver sulla scrivania da terminale date i seguenti comandi:
sudo /etc/init.d/gdm stop
sudo sh NVIDIA-Linux-x86-100.14.19-pkg1.run
- durante il processo di installazione rispondete no quando vi si chiede se volete controllare via ftp se esistono moduli kernel più aggiornati (li avete appena scaricati) e fate compilare il tutto all’installer;
- riavviate, per farlo da terminale:
sudo reboot
- alla schermata di login (che adesso dovrebbe essere leggibile, anche se con la risoluzione sbomballata) effettuate l’accesso e notate che anche una volta entrati la risoluzione è sbomballata uguale;
- Ubuntu potrebbe avvertirvi che siete a risoluzione minima o cose del genere, voi gioite perché se siete arrivati qui vuol dire che avete superato l’odiosa schermata bianca che vi perseguitava;
- pregate per me;
- aggiustate la risoluzione a vostro piacimento;
- andate nella barrà del menù e cercate la voce NVIDIA X Server Settings, sotto Sistema -> Amministrazione, se non sta lì controllate un po’ per tutto il menù, se non lo trovate non avete installato correttamente i driver, quindi ricominciate daccapo;
- avviate NVIDIA X Server Settings, che adesso si avvia in quanto avete installato dei driver proprietari e stanno funzionando, anche se sono quelli sbagliati, se non stanno funzionando attivateli (se i driver funzionano potete saltare il seuito di questo ed i prossimi due punti, andate al 13):
sudo gedit /etc/X11/xorg.conf
nella riga Driver all’interno della sezione Device scrivete “nvidia” al posto di “vesa” o “nv”;
- riavviate e pregate;
- gioite se non avete avuto la schermata bianca ed effettuate il login, altrimenti piangete pure e ricominciate daccapo;
- avviate NVIDIA Settings, che a questo punto dovrebbe rendervi disponibili tutte le opzioni;
- nella scheda DFP-0 (nel mio caso DFP-0 Seiko) premete sul pulsante “Acquire EDID” e salvatelo nella home, per poi copiarlo nella cartella /etc/X11 con i privilegi da root:
sudo cp ~/edid.bin /etc/X11/edid.bin
(lo mettiamo lì per comodità, altrimenti potremmo lasciarlo ovunque). Questo è il passaggio principale, tutto quello che avete fatto finora era in funzione dell’EDID, mi raccomando;
- uscite di nuovo dall’ambiente grafico con la solita combinazione Ctrl + Alt + F1 ed effettuate il login da terminale, lanciate EnvyNG in versione testuale col seguente comando:
sudo envyng -t
- all’interno di EnvyNG cancellate qualsiasi installazione precedente di driver, poi installate i nuovi driver nVidia (EnvyNG installerà di default gli incriminati 169.12, cioè glx-new) e permettete a EnvyNG di configurare il file xorg.conf;
- non riavviate;
- se passate in Abruzzo ricordate di pagarmi una birra;
- aprite il file xorg.conf:
sudo gedit /etc/X11/xorg.conf
e dategli un’occhiata;
- trovate la sezione Device ed aggiungeteci la seguente linea:
Option “CustomEDID” “DFP-0:/etc/X11/edid.bin”
mentre nella sezione Screen, sottosezione Display, assicuratevi che sia presente la vostra risoluzione standard, perché non è ovvio che ci sia, ed aggiungetela alla linea Modes, nel caso del mio portatile ho aggiunto “1280×800@60″;
- il mio consiglio, non ufficiale, è di lasciare solo la vostra configurazione, togliete le altre;
- salvate e chiudete il file, riavviate col comando di prima;
- a questo punto dovrebbe essere tutto a posto, se avete ancora qualche problema potete aggiustare tutte le configurazioni che volete, sia tramite l’utility Sistema -> Preferenze -> Risoluzione Schermo che direttamente con NVIDIA X Server Settings, ma ricordate che questi programmi andranno a riscrivere il file xorg.conf e, anche se non è detto, potrebbero rimuovere la linea fondamentale, quella riguardante l’EDID, che abbiamo tanto faticosamente aggiunto, quindi ricordatevi ogni volta, prima di riavviare o cambiare sessione, di controllare nel file xorg.conf se essa c’è ancora e, nel caso, riaggiungetela a mano;
- io ho cambiato sessione e riavviato per assicurarmi che le nuove configurazioni non fossero una fatua illusione, pronta a svanire al primo riavvio del sistema, se volete fatelo;
- se avete incasinato il sistema io non mi assumo nessuna responsabilità, se il sistema funziona il merito è mio, ma non solo, alla fine del post riporterò le fonti da cui ho attinto nella nottata passata a cercare di far funzionare il tutto;
- niente, era giusto per aggiungere un altro punto.
A parte gli scherzi, spero che tutto vada bene. Godetevi il vostro Airone Forte con la vostra scheda nvidia, magari giocando a qualcosa per rilassarvi, che ve lo siete meritato.
W i Subbaqqui…
Fonti:
http://blog.gpowered.net/2008/04/fixing-nvidia-8600-gt-on-hardy-heron.html
https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.24/+bug/208718
http://www.nvnews.net/vbulletin/showthread.php?t=107138
http://ubuntuforums.org/showthread.php?t=712479&page=5