Category Archives: Hardware

Il driver Nvidia e il problema di num_physpages

A luglio Linus Torvald rimosse la variabile num_physpages dalla versione 3.11 del kernel di Linux. Questa decisione ha però determinato una conflittualità tra il codice sorgente del driver fornito da Nvidia e il kernel stesso. La num_physpages era definita nel gestore mm della memoria di Linux.

Oggi, l’ultimo driver stabile di Nvidia è il 319.60 e ci sono ancora i riferimenti alla variabile suddetta nel file d’intestazione nv-linux.h. Se anche voi avete una distribuzione con il kernel 3.11 (o più recente) e tentate, come ho fatto io, di compilare il driver per le schede video, otterrete il seguente messaggio di errore:


In file included from /tmp/selfgz4790/NVIDIA-Linux-x86_64-319.49/kernel/os-interface.c:26:0:
   /tmp/selfgz4790/NVIDIA-Linux-x86_64-319.49/kernel/os-interface.c: In function ‘os_get_system_memory_size’:
   /tmp/selfgz4790/NVIDIA-Linux-x86_64-319.49/kernel/nv-linux.h:1040:41: error: ‘num_physpages’ undeclared (first use in this function)
    #define NV_NUM_PHYSPAGES                num_physpages
                                            ^

Come già detto, num_physpages è stata tolta da Torvalds, quindi per il momento non c’è altra soluzione che correggere il file nv-linux.h del driver con una patch oppure un editor di testo. Potete scaricare la patch dalla Rete, ma si tratta di un file specifico per una particolare versione del driver di Nvidia che dovreste adattare alla vostra situazione. A questo indirizzo troverete le istruzioni per procedere nel modo corretto. Oltre a servirvi di una patch, in alternativa potete modificare il file nv-linux.h durante l’installazione del driver, per esempio seguendo questa procedura:

  1. Eseguite l’installer di Nvidia con l’opzione -x, il comando decomprirà l’archivio che contiene il codice sorgente del driver.
  2. Modificate il file nv-linux.h, che trovate nella directory kernel, con un editor, vi oppure gedit vanno benissimo.
  3. Cercate la riga che ha la seguente definizione in linguaggio C #define NV_NUM_PHYSPAGES   num_physpages, dovreste trovarla inserita fra altre definizioni, esattamente come nell’esempio sottostante:
    
    #if !defined(NV_VMWARE):
    #define NV_NUM_PHYSPAGES                num_physpages
    #define NV_GET_CURRENT_PROCESS()        current->tgid
    #define NV_IN_ATOMIC()                  in_atomic()
    
  4. Dopo la riga corrispondente all’istruzione condizionale #if, ma prima della definizione #define NV_GET_CURRENT_PROCESS ecc. dovete creare un nuovo blocco che corrisponda al seguente codice per il preprocessore C:
    
    #if LINUX_VERSION_CODE &gt;= KERNEL_VERSION(3, 11, 0)</p>
    #define NV_NUM_PHYSPAGES                get_num_physpages()
    #else</p>
    #define NV_NUM_PHYSPAGES                num_physpages
    #endif
    
  5. Ultimate le vostre modifiche, avrete esattamente questo:
    
    #if !defined(NV_VMWARE)
    #if LINUX_VERSION_CODE &gt;= KERNEL_VERSION(3, 11, 0)</p>
    #define NV_NUM_PHYSPAGES                get_num_physpages()
    #else
    #define NV_NUM_PHYSPAGES                num_physpages
    #endif</p>
    #define NV_GET_CURRENT_PROCESS()        current-&gt;tgid
    #define NV_IN_ATOMIC()
    
  6. Potete ora chiudere l’editor ed eseguire il comando nvidia-installer che trovate nella directory principale del driver.

Ubuntu 13.10 è in circolazione da poco tempo e utilizza un kernel recentissimo che non è compatibile con il driver per le schede video GeForce. Il bug dovrebbe essere ormai già noto ai programmatori di Nvidia, anche se il problema non sembra molto diffuso fra gli utenti. In questo caso è bastato cercare la patch con un motore di ricerca, usando i termini num_physpage, kernel 3.11 e Nvidia. Vista l’importanza raggiunta da Linux, e in particolare dalla distribuzione Ubuntu, mi aspetto da un giorno all’altro un driver che sia compatibile con il recente kernel 3.11 e 3.12.

Nvidia non deve abbassare i prezzi

Dovrebbe abbassare i prezzi Nvidia? A questa domanda una fonte che conosce profondamente l’industria delle schede video ha detto, in un’intervista rilasciata alla rivista PCR, che non è necessario un gioco al ribasso sul prezzo di listino delle GeForce Titan. La fonte ritiene che il nuovo processore grafico Radeon R9 290X  di AMD non batterà di molto il modello di prima classe di Nvidia. I benchmark di alcuni siti specializzati mostrano quest’oggi una differenza modestissima di FPS: con un test di 45 secondi fatto eseguendo il gioco Tom Raider a qualità “ultra” e alla risoluzione di 3840×2160, è risutato che solo quattro frame per secondo separano le due schede. Inoltre, c’è anche una diceria che circola intensamente a proposito di un modello erede del Titan che Nvidia metterebbe in vendita per competere meglio con il nuova accelleratore grafico di AMD. Se fosse vera, sarebbe opportuno effettuare il taglio al prezzo della Titan.

Diamoci un taglio
Diamoci un taglio

Al di là dell’aspetto economico di queste schede di prima classe, bisogna considerare che si tratta di bench effettuati a risoluzioni HD, pochi giocatori le usano. Inoltre, queste schede per il momento non hanno sbocco nel gaming sotto Linux dove tra i driver dei due produttori c’è troppa disparità di qualità (vd. i recenti bench di Miachael Larabel) e l’offerta di video game è limitata.

Fonte:

  1. ‘Nvidia doesn’t need to lower prices to compete with new AMD R7/R9 cards’

Nouveau e CPUFreq: Geforce 9800 supera GTX680

Il recente test di Michael Larabel sul driver AMD open source, fra le due versione del kernel 3.11 e 3.12 (da git), ha reso evidente un miglioramento delle prestazioni del computer. Lo stesso test è stato ripetuto con il driver Nouveau, però in questo caso il guadagno è risultato minimo con le schede denominate Kepler e Fermi. Per quale motivo? Il motivo è che il driver open source non supporta ancora il reclock, ovvero la selezione del livello delle prestazioni della GPU.

I cambiamenti nel codice di CPUFreq (il modulo che governa la frequenza d’esercizio della CPU) hanno giovato alle GPU Radeon, ma non a tutte quelle di marca nVidia. Da tempo c’è la possibilità di fare “re-clocking” delle schede grafiche GeForce: fino alla serie 7 il reclock avveniva in fase di boot e non interessava la velocità della VRAM; a partire dalla serie 8, i modelli M dei portatili avevano la capacità di riaggiustare sia il clock della RAM video sia quello del core della GPU. Questa modifica fu decisa per ridurre i consumi energetici quando la GPU si trovava per lo più in riposo. Il clock era impostato a una velocità intermedia fra il valore massimo e quello minimo d’esercizio. Con le GeForce 200 il clock al boot era impostato a ⅓ della velocità massima della GPU. Con le schede video denominate Fermi (dalla serie 400 alla 600) le prestazioni sono peggiorate perché il clock di default è al 10% della frequenza massima d’esercizio e non c’è ancora modo di fare reclock usando il driver Nouveau. Per questo motivo nel test di Michael la scheda 9800GTX ha superato una GeForce GTX680.

PTS: Nouveau bench con Xonotic
PTS: Nouveau bench con Xonotic

Thermaltake Silver-River II

Ho sia un PC desktop che un portatile e cercavo una soluzione per gestirli con un unico profilo utente, senza spendere tanti soldi. Potevo mantenerne due sincronizzati ma così avrei sprecato troppo spazio (all’incirca 8 GB di dati) e tempo tra upload e download da uno all’altro; inoltre sarei stato costretto a lasciare i due computer accesi per la sincronizzazione. Nel mio caso era meglio condividere un disco rigido fra i due elaboratori.
Il Thermaltake Silver River II è un dispositivo ultra compatto con collegamento USB per il trasporto dei dati memorizzati su un hard disk di tipo SATA da 2.5” di larghezza, quelli comunemente montati all’interno dei portatili.

Confezione Silver-River II
Confezione Silver-River II

La scatola di questa componente hardware ha dimensioni contenute, di solido cartone e con una veste grafica elegante. Lo sfondo bianco mette subito in risalto l’immagine dell’apparecchio posta al centro della parte superiore della scatola. Le informazioni tecniche più dettagliate sono riportate sul lato inferiore, mentre sui fianchi appaiono alcune piccole foto dei suoi caratteri distintivi: la rifinitura a taglio di diamante; la superficie di metallo trattata con abrasivi e verniciata di nero; l’indicatore LED e gli accessori presenti nella confezione (il cacciavite, la custodia protettiva, la garanzia e le istruzioni d’installazione). L’imballaggio nel complesso garantisce l’adeguata protezione del dispositivo.

Un imballaggio accurato
Un imballaggio accurato

Il montaggio è una procedura elementare, tant’è che le istruzioni sono stampate sulla singola facciata di un foglio volante e descrivono una sequenza di sei operazioni, dall’apertura del box al collegamento USB:

  1. Togliere la coppia di viti che sigillano il contenitore.
  2. Sfilare il pannello di controllo per l’unità disco rigido.
  3. Collegare l’hard disk da 2” alla presa SATA del circuito stampato.
  4. Infilare la memoria di massa nel corpo del dispositivo Silver-River II.
  5. Avvitare le viti.
  6. Connettere il cavo USB alla presa del box e a quella del PC.
Collegamento unità - scheda
Collegamento unità – scheda

A questo punto, con il computer acceso e collegato all’unità, ho effettuato un test della velocità di lettura, prima con un programma generico e grafico (il gestore di dischi di Ubuntu), successivamente con un programma specifico e orientato ai caratteri (il ben noto hdparm). Dati alla mano, le prestazioni in fase di lettura erano il cinquanta per cento di quelle dello stesso disco rigido quando montato all’interno del PC. Thermaltake non dichiara il transfer rate del Silver-River II, ma è risultato nella media per questo tipo di periferica: 32 MB/s (si veda a tal proposito l’altro mio test su un Hard Disk esterno con Icy Box).

Test Samsung HM321HI esterno
Test Samsung HM321HI esterno

Nella scelta di un drive portatile, l’importante è che l’alimentazione sia fornita dal collegamento USB, per minimizzare l’ingombro e agevolare l’installazione; il Silver-River II ha questo prerequisito. La trasportabilità, la condivisione e il salvataggio (backup) dei dati, sono gli altri tre aspetti che contano. Anche se è possibile utilizzarlo per avviare il sistema operativo, non risulta conveniente perché il segnale trasmesso viaggia al di sotto della massima banda disponibile, ovvero circa la metà del collegamento USB (480 Mbit/s) e un terzo del canale SATA (1500 Mbit/s).

Collegamento Silver-River II
Collegamento Silver-River II

 

Hard Disk esterno con Icy Box

Pochi giorni fa si è guastato il mio computer portatile Asus che usavo da almeno tre anni, in attività di vario tipo. Ho effettuato un controllo alla sua parte elettronica, ma non c’era più nulla da fare. Si è surriscaldato durante queste giornate afose di luglio; già altri proprietari del modello A6Tc hanno subìto prima di me lo stesso danno. Probabilmente per un errore di progettazione la scheda video ha raggiunto temperature elevate, bruciandosi.

Grazie alla modularità dei laptop moderni, certi elementi possono essere sostituiti in caso di rottura con altri più potenti o recuperati dai sistemi mal funzionanti. Mi dispiaceva rinunciare a 80 GB del disco rigido installato nel portatile, quello spazio poteva servirmi come memoria ausiliaria per il salvataggio di documenti, musiche, foto e file multimediali. Dovevo riciclare questa vecchia componente acquistando un box esterno.

Quasi sempre si tratta di unità da 2,5” di larghezza, con uno spessore molto piccolo, al fine di ingombrare il meno possibile. La funzione principale del dispositivo Icy Box B-220U-Wh è di collegare un disco rigido da 2,5” con interfaccia IDE a un computer via cavo seriale USB. Non solo permette di recuperare i vecchi dischi da portatili in disuso, ma si rivela anche un accessorio molto comodo in periodi di vacanze, avendo una trasportabilità eccezionale: è leggerissimo e si infila facilmente in un marsupio.

Il box acceso
Il box acceso

Imballaggio

Sull’involucro di cartone spiccano i grandi caratteri bianchi su sfondo nero usati per il marchio del fabbricante, la foto del dispositivo e un corpo di donna stilizzato che rammenta la leggerezza di questo prodotto. La confezione presenta inoltre una finestra nel punto dove il dispositivo è stato imballato: essa permette all’acquirente di farsi una chiara idea delle dimensioni dell’oggetto rispetto alla scatola che è molto più grande.
All’interno abbiamo la guida cartacea per il montaggio, un CD con il software di controllo e backup per Windows e alcuni accessori. Le spiegazioni sono tradotte in varie lingue, c’è anche l’italiano. I programmi sono superflui, se si intende adoperare l’Icy Box in un ambiente Linux. Invece la custodia di similpelle, il cavo USB e persino il cacciavite per il serraggio delle viti sono veramente utili.

Caratteristiche del prodotto

Le caratteristiche salienti del dispositivo riportate dal fabbricante sono essenzialmente quattro: un’eccellente dissipazione del calore fornita dalla base in alluminio; le dimensioni ridotte permettono un facile trasporto; un collegamento USB 2.0 da 420Mbit/s (60MB/s) che procura l’alimentazione (non c’è necessità di un alimentatore supplementare); supporta dischi da 2,5” alti fino a 9mm, ossia la maggioranza installata nei portatili di marca.

Montaggio e manutenzione

Poiché non sono richieste competenze particolari, il montaggio è alla portata di tutti; talmente facile e intuitivo che si può trascurare il manuale. Prima di tutto bisogna aprire il box, separando il coperchio bianco dalla base metallica. Poi si attacca il disco rigido al pettine PATA saldato sulla piccola basetta, dove trovano posto anche il controller , i tre led di segnalazione e la presa di alimentazione/trasmissione dati. Sul lato interno del coperchio ci sono le sedi per il circuito elettronico, esse servono anche per fissare fra loro i pezzi del box tramite due viti. La superficie esterna del dissipatore è protetta da una pellicola di plastica contro i graffi: può essere strappata dopo l’avvitamento delle viti al coperchio. L’assemblaggio si sbriga in dieci minuti, dopodiché basta allacciare la nuova periferica al computer con il cavo USB e accedere alla memoria di massa tramite le funzioni del sistema operativo. La superficie esterna si pulisce da impronte e polvere con un panno di “microfibra” che è impiegata spesso su altri oggetti domestici (CD, occhiali, ecc.), con risultati soddisfacenti.

Il Seagate Momentous 5400.2 aveva un laccio che agevolava l’estrazione dal suo alloggiamento nel portatile, ma ostacolava in questo caso la chiusura della scatoletta, per cui l’ho rimosso con un paio di forbici.

Momentous 5400.2
Momentous 5400.2

Per la progettazione della componente B-220U-Wh, Icy Box ha tenuto conto di tre principali funzionalità che espongo di seguito:

  1. L’impiego di materiali particolari (plastica e alluminio) per smorzare le vibrazioni del disco rigido
  2.  L’isolamento interno del disco rigido onde evitare il passaggio di eventuali correnti elettriche verso l’esterno.
  3. Fornire informazioni all’utente tramite tre led blu di segnalazione dello stato di accensione e utilizzo del dispositivo.

È stato prodotto un dispositivo maneggevole e leggero con un unico difetto: il chassis è difficile da riaprire senza un cacciavite, e si rischia di graffiare la superficie; il serraggio viene fatto solo con due viti su un lato e un incastro sull’altro.
Ho rilevato la velocità di trasmissione dei dati con il programma hdparm per Linux e l’ho poi verificato con il file manager Midnight Commander, trasferendo un file video di grosse dimensioni. Mentre il fabbricante prometteva picchi di 60MB/s, il Seagate Momentous 5400.2 lavorava a 30MB/s che è un valore molto inferiore rispetto alla media dei dischi SATA (70MB/s). Personalmente li ritengo sufficienti per la maggior parte delle applicazioni, ma non consiglio di utilizzare questa unità di accesso per giocare. In passato mi è capitato di mettere i Videogiochi su un hard disk SATA esterno che trasferiva informazioni via USB a 12MB/s, ma i grossi flussi di dati generavano tempi di caricamento appena accettabili.

La confezione
La confezione