
Originariamente inviato da
Matt95
Beh, non è che la ROM non ha i driver, anche perché senza di essi il telefono non si avvierebbe nemmeno.
Intanto chiariamo il concetto di driver. Il driver è, diciamo, un programma (anche se è un qualcosa di più complicato rispetto ad un semplice programma) che permette al sistema operativo di dialogare con le varie componenti fisiche (in questo caso GPU, schermo, fotocamera, ecc) di un dispositivo (in questo caso telefono, ma può essere anche un PC ad esempio); di solito si usa un driver per ogni componente. Quindi il sistema operativo chiede al driver di una certa componente di fare qualcosa e il driver si arrangia per far si che questa la faccia. Qual'è il vantaggio?? Che il sistema operativo non deve essere fatto apposta per un dato dispositivo per funzionare completamente, ma può essere compatibile con molti dispositivi, naturalmente affiancandogli i driver corretti. E' un po' quello che succede con Windows, che va su tutti i PC ma ha bisogno dei driver di alcune componenti (gli altri li ha già incorporati in una sua libreria).
Ora passiamo a quello che ci interessa.
I driver che abbiamo ora sono molto vecchi e, se non sbaglio, erano rivolti solo all'uso da parte degli sviluppatori proprio per testare le nuove versioni di Android.
Un paio di mesi fa la Qualcomm ha rilasciato i nuovi driver per GPU Adreno fatti per Android 4.2.x: quindi i driver nuovi per migliorare le prestazioni grafiche ci sono, ma non possono andare e ti spiego subito perché: da ICS, Google ha cambiato il metodo per allocare la memoria RAM sui dispositivi Android. Fino a GB si usava un metodo chiamato PMEM, da ICS si usa ION.
Ora, come viene allocata la memoria RAM su Android?? Una parte per l'utente (quella che si vede in Impostazioni -> Info sul Dispositivo) e la restante per gestire alcune componenti del telefono come ad esempio: schermo, antenna e foto/videocamera (infatti con i kernel BIGMEM si va a togliere RAM a quest'ultima per "darla" all'utente). Naturalmente per poter usare ION bisogna che tutti i componenti lo supportino altrimenti questi non funzionano. E che cosa deve supportare ION per far si che sti componenti funzionino?? I driver. E noi li abbiamo i driver che supportano ION?? No. Perché?? Perché il nostro telefono e praticamente nessun'altro tra quelli che hanno la nostra stessa GPU hanno ricevuto l'aggiornamento ufficiale ad ICS (perché, secondo le case produttrici, troppo poco potenti). Se ci fosse stato sto dannato aggiornamento avremmo avuto tutti i driver ION per tutte le componenti belli che pronti. Invece noi ora abbiamo solo i vecchi driver fatti per PMEM di GB. Il problema sarebbe stato risolto anche se Samsung avesse rilasciato i codici sorgente dei driver PMEM cosicché i nostri sviluppatori li potessero modificare per farli andare con ION ma le politiche commerciali di Samsung le vietano di rilasciare questo tipo di documentazione. Al momento attuale, alcuni driver per alcune componenti col supporto ad ION sono stati trovati ma tanti altri mancano e quindi i nostri sviluppatori hanno preferito avere prestazioni più basse nel 2D/3D ma avere tutto funzionante modificando le ROM e i kernel togliendo ION e rimettendo il vecchio PMEM (e quindi usando ancora i vecchi driver della GPU).
Quindi per molti la colpa è di Samsung, per altri la colpa è di Qualcomm che non ha rilasciato anche i driver con il supporto a PMEM. Ecco perché molti dicono che i driver non ci sono.
Naturalmente qualcuno che ha informazioni più aggiornate o ne sa più di me mi corregga pure se ho fatto qualche errore.