/dev/random

ATI o nVidia? (o Intel?)

Quale scheda video usare con Linux?

Prendo spunto da una domanda di Luca tra i commenti del mio post sul nuovo PC e ne approfitto per un nuovo post. Luca mi chiede perché ho preso ATI e non nVidia come scheda video. Vorrei fare qui un breve riassunto dei motivi che mi hanno spinto a questa scelta.

Fasce di utilizzo

A livello di schede video ad alte prestazioni ormai sul mercato sono rimaste solo ATI e nVidia. Le proposte di Intel (spesso integrate nei chipset dei notebook), di S3 e di VIA sono molto lontane, prestazionalmente parlando, dalle due case più famose. Quindi già possiamo fare una distinzione: se ci servono schede potenti, principalmente per giocare (ad altro non servono, queste prestazioni) si deve scegliere tra ATI e nVidia. Se vogliamo schede video economiche possiamo rivolgerci anche agli altri produttori.

In entrambe queste categorie, per noi “Linuxari”, si pone il problema dei driver. nVidia fornisce degli ottimi driver, ma non fornisce sorgenti e specifiche dell'hardware. Intel da molto tempo fornisce driver open source e specifiche complete alle sue schede video. S3 e VIA sono abbastanza restie a rilasciare driver open source o informazioni, ma un po' alla volta il supporto compare in Xorg. ATI ha sempre mantenuto il massimo riserbo sui suoi nuovi chipset, pubblicando solo alcune specifiche dei vecchi chipset, ma ha cambiato completamente politica quando è stata acquistata da AMD (la stava già cambiando prima, ma l'acquisizione ha dato una spintarella al processo). Notizia di questi giorni l'apertura di una sezione del loro sito dedicata alle specifiche delle suo nuove schede.

Funzioni accessorie

Ci sono altri fattori che possono far pendere l'ago della bilancia in una direzione o nell'altra. Per esempio i consumi, sia a pieno regime che in condizioni di scarso utilizzo, soprattutto della sezione 3D della scheda (o di quella 2D, viste le ultime tendenze). Da questo punto di vista probabilmente Intel e VIA sono le migliori, essendo soluzioni pensate per dispositivi mobili o embedded, ma ATI ha fatto un discreto sforzo, soprattutto di recente, per abbassare almeno i consumi minimi, ed ha anche annunciato di recente il nuovo chip, Imageon, per dispositivi embedded.

nVidia, d'altro canto, si sta concentrando sullo sfruttare la GPU per “aiutare” la CPU in alcuni tipi di calcoli, in modo da sfruttare la potenza della scheda video anche quando non la si utilizza per le normali funzioni, come per calcoli fisici dopo l'acquisizione di Ageia.

Su dispositivi portatili ed embedded spesso ci si trova un certo tipo di scheda video, quindi le scelte sono limitate o nulle, ma fortunatamente il supporto per Linux nel mondo embedded si sta ampliando a macchia d'olio, quindi se non possiamo ancora dire di essere tranquilli, almeno possiamo essere meno tesi di qualche anno fa, quando eravamo costretti a usare driver VESA o, peggio, VGA standard.

La scelta

Cosa scegliere? Si tratta soprattutto di valutare le proprie esigenze, e di trovare il prodotto che più vi si adatta.

Per quanto mi riguarda i parametri di scelta erano: bassi consumi quando poco utilizzata, quindi bassa rumorosità e bassa dispersione di calore; prestazioni alte e possibilità di usare Crossfire/SLI per aumentare le prestazioni in futuro senza buttare la vecchia scheda; driver open source disponibili (o quasi); prezzo non esagerato.

La scelta si era ristretta tra la ATI Radeon HD3870 e la nVidia 8800, e il prezzo doveva essere inferiore ai 200 euro. La Radeon, da test trovati in giro (scusate, non ritrovo il link), si domostrava più parsimoniosa dal punto di vista elettrico. La 3850 offriva un rapporto prezzo/prestazioni migliore, ma ho trovato un'offerta per la 3870 che ha cambiato questo parametro. E infine i driver: ATI fornisce i driver closed che supportano bene la scheda, e sono quasi pronti i driver open che la supportano almeno in 2D (è di ieri l'annuncio ufficiale della prima versione pubblica dei nuovi driver ati), fornendo anche pieno supporto alla comunità opensource, mentre nVidia fornisce solo driver closed, anche se non si sta opponendo attivamente allo sviluppo dei driver open basati su reverse engineering.

Ho pessime esperienze dovuto all'uso di driver closed (per controller IDE, schede WiFi, VmWare, ecc.), quindi per me è fondamentale che una scheda abbia driver open, anche se magari non supportano proprio tutte le funzioni della scheda o non la sfruttano al 100%. O che almeno ci sia la possibilità che siano sviluppati.

Per questo ho scelto ATI.