Salve a tutti.
Chi monta il franco Kernel, forse sa già che ho fatto una guida per esso. Purtroppo la guida si è sempre persa tra le pagine del Forum, e Dropbox cambia periodicamente i link, per cui mi accingo a fare una guida per tutti i custom kernel.
Ovviamente ogni sviluppatore include ciò che preferisce, per cui alcune voci non saranno comuni a tutti. Sono comunque disposto a inserire tutte i parametri che richiederete.
Le modifiche al tutti i parametri indicati si possono fare con Trickster Mod, oppure con le app proprietarie dei vari Franco, Faux o chi per loro.
Saranno indicati link ad altre discussioni del forum: vi invito a ringraziare gli autori del post.
In questa guida sono presenti nozioni imparate nella mia “carriera” di amante del modding: le mie fonti sono per cui le stesse che avreste potuto avere voi ( principalmente XDA), e per questo non posso garantire la correttezza assoluta di tutto. Se qualcuno nota degli errori, è pregato di comunicarmelo.
Se i moderatori lo ritengono opportuno, sarò lieto se verrà messa in rilievo.
Frequenze e Voltaggi
Come saprete, il range di frequenze stock e 348-1512 MHz.
E' chiaro che abbassare la frequenza massima aumenta l'autonomia a scapito delle prestazioni.
Può essere utile, nei kernel che lo permettono, abbassare la frequenza minima per ridurre il consumo in stand-by: questo a volte può portare a dei freeze, per cui andateci cauti.
Molti custom kernel (tutti, che io sappia) permettono di abbassare il voltaggio della CPU.
L’informazione più importante per procedere è quella relativa al tipo di CPU, che potrà essere Slow, Nominal, Fast (come la mia) e Faster.
Il tipo di CPU non influenza le prestazioni del terminale, ma solo la resistenza all’UnderVolt, e quindi in secondo luogo i consumi.
L’undervolting è una pratica che ci permette far lavorare il processore ad un voltaggio minore rispetto a quello di fabbrica: perciò, senza nessuna perdita di prestazioni, la batteria avrà una durata maggiore e le temperature di esercizi saranno minore. In ogni caso, non aspettatevi miracoli su nessuno dei due fronti.
La domanda che viene da porsi è: “perché le case non abbassano già loro queste tensioni, se ci sono solo guadagni?” .
Il problema principale è che ogni CPU, seppur nominalmente uguale, differisce dalle altre in minima parte; per cui la produzione in serie di processori non permette (ovviamente) l’ottimizzazione completa.
In particolare vi sono le 4 macro-distinzioni iniziali (Slow, nominal, fat, faster): la CPU faster sarà quella che meglio sopporterà l’UV, la Slow quella che lo sopporterà meno.
Tra CPU dello stesso tipo ci potranno ancora essere minime differenze (nulla vieta che voi riusciate a scendere, con la stessa CPU, più di me senza problemi).
I settaggi quisono quelli relativi alla mia CPU Fast, per cui NON vanno bene per gli altri tipi.Spoiler:
Io ho abbassato di -125 mV su tutte le frequenze.
(per le CPU Fasterotrete probabilmente scendere ancora di -25 mV su tutte le frequenza, ma non garantisco /// per le cpu Slow o Nominal: dovrete probabilmente salire di almeno 50-75 mV rispetto ai miei valori, dato che esse partono anche da valori più elevati di default).
Come capire quando si è under voltato troppo?
A quel punto il telefono inizierà a subire dei freeze o dei riavvi spontanei, per cui dovrete tornare ai valori precedenti.
La regola per il settaggio perfetto sarebbe quello di scendere, frequenza per frequenza, di -25mV rispetto ad un settaggio ritenuto stabile, e verificare se in un paio di giorni vi sono problemi.
Governor
Per quanto riguarda la scelta del Governor e dello Scheduler più adatto a voi, vi rimando a questa guida https://www.androidiani.com/forum/mo...scheduler.html
In seguito alla scelta, potreste ancora modificare alcuni parametri, in modo da adattare perfettamente il kernel al vostro uso.
Sono consapevole del fatto che me ne mancano molti dei governor che io non uso: cercherò piano piano di aggiungerli tutti, anche su vostro suggerimento.
• above_hispeed_delay: il ritardo (in micro-secondi) dall’applicazione del carico all’aumento della frequenza. Valori alti --> maggiore autonomia, ma possibili lag all’apertura di applicazioni particolarmente pesanti.
• hispeed_freq: la frequenza a cui viene spedito il processore una volta superato un certo valore di carico. Valori alti --> maggiori reattività e maggiori consumi, Valori Bassi --> minore reattività ma consumi più contenuti.
• min_sample_time: il tempo minimo in cui stare su una frequenza, una volta esaurito il carico (non lo state più usando), prima di iniziare a scendere. I valori sono espressi in micro-secondi (10-6 secondi). Valori bassi --> miglior durata della batteria, ma se ad esempio state leggendo un articolo sul “leggerissimo” Chrome, può non essere un bene che appena finisce il touch input la frequenza crolli.
Al contrario, alzare ulteriormente il valore può essere un’inutile spreco di batteria.
• Sampling_rate: è un parametro che indica quanto spesso il kernel guarda l’uso della CPU e decide quindi come regolare la frequenza della CPU. Valori più alti significano sondaggi sulla CPU meno frequenti. Per le frequenze più base, questo potrebbe essere considerato un vantaggio in autonomia dal momento che, nonostante la presenza di un carico, potrebbe non saltare alla successiva frequenza in maniera rapida (ma questo vuol dire anche meno reattività), ma per frequenze più alte, il tempo di discesa sarà aumentato.
Invertendo il ragionamento si può facilmente capire cosa succede quando il valore viene diminuito.
• Timer_rate: La frequenza di campionamento,ovvero quanto spesso il kernel guarda la CPU per decidere se aumentarne la frequenza. E’ praticamente l’equivalente in Interactive del sampling_rate dell’ondemand, solo che ha una logica più “prestazionale” (guarda solo in alto).
Valori più alti --> maggiore autonomia, possibili lag in seguito a bruschi cambiamenti di carico.
• Input_boost: frequenza di tocco. Frequenza a cui viene spedito il processore appena lo schermo riceverà un tocco.
• input_boost_freq_duration: quanto dura la frequenza di tocco, ovvero quanto aspettare prima di scendere dal valore inserito in precedenza.
• sampling_down_factor: determina quanto spesso la CPU può stare a frequenze più alte quando è “pesantemente” occupata. Valore più elevato --> maggiori performance.
• down_differential: parametro molto complesso.
tra il momento cui il kernel decide che la CPU deve scalare il momento in cui guarda di nuovo la CPU per vedere quanto è occupata, passerà ovviamente del tempo (minimo ovviamente, si parla di micro-secondi). Con questo parametro decidiamo proprio noi la frequenza a cui mandare il processore in quell’intervallo di tempo, attraverso questa formuletta: F = freq_max / (up_threshold – down differential).Quindi, aumentando il down_differential, aumenta questa frequenza intermedia. Valori bassi sono consigliati per una buona autonomia.
•Soglia di alto carico: se il dispositivo è sottoposto ad un carico maggiore del valore indicato tutti i core andranno online.Questo vuol dire che più il valore è alto, migliore sarà l’autonomia, ma potrebbero esserci dei lag.
Consiglio un valore tra i 70 e i 90, a seconda delle vostre esigenze.Il valore “0” implica che tutti i 4 core saranno SEMPRE online, mentre il valore “100” implica che i 4 core non andranno MAI online insieme
ecco le mie impostazioniSpoiler:
Varie
•Frequenza di sospensione: quando lo sschermo del dispostivo viene spento, la frequenza viene limitata a questo valore per quanto la tentazione di abbassarla al minimo sia forte, io vi consiglio il mio valore di 702 MHz.
Valori minori posso causare infatti problemi: se ad esempio ascoltate musica, il procesore potrebbe non farcela a 384 MHz, e la riproduzione potrebbe essere scattosa, oppure se state scaricando un’app particolarmente pesante (e.g. un gioco), installarlo a 384 MHz diventerebbe un impresa non facile
•Logcat: Se non siete sviluppatori e non vi interessa il debug USB, disabilitarlo vi potrebbe far risparmiare un po’ di batteria.
•Spegni fsync: L’fsync si occupa di controllare che tutti i file siano stati correttamente scritti nella memoria, ma questo ovviamente occupa risorse. Se non avete paura di perdere file, e puntate solo alle prestazione, mettete la spunta.
•controllo della GPU: se non giocate con il vostro Nexus (o se avete il Per app Mode), potete ridurre la frequenza massima della GPU (settata a 400MHz) per una migliore autonomia.