In questo thread potrete trovare il mio custom kernel 3.4.x per rom Lollipop 5.0 (CM 12.0 e derivate) che usano allocazioni di memoria ION+PMEM ADSP.
Naturalmente, i vostri pareri, come sempre, sono i benvenuti e sicuramente preziosi.
Le principali caratteristiche sono le seguenti:
- Kernel 3.4.x
- Kernel basato sul branch kk_2.7-stable del Code Aurora Forum
- Sorgenti sincronizzati con il branch cm-12.0 dell'ADC Team
- Compilato con la mia custom toolchain Linaro 4.9.3-2015.03 ottimizzata per Cortex-A8
- Uso dei flag di compilazione ottimizzati per Cortex-A8 e NEON VFP (sia per il kernel che per i moduli)
- Uso dell'ottimizzazione -O3 (sia per il kernel che per i moduli)
- CPU overclockabile fino a 1824 MHz
- Undervolting standard delle frequenze della CPU (versioni UV) o undervolting estremo (versioni EXUV)
- CPU voltage control VDD sys interface (click per maggiori dettagli)
- Allocazione dinamica della memoria per gli heap ION attraverso CMA (Contiguous Memory Allocator)
- Allocazione dinamica della memoria per lo heap PMEM ADSP attraverso CMA (Contiguous Memory Allocator)
- Circa 426MB di RAM libera
- Init.d
- Fast Charge (default disabilitato, click per maggiori dettagli)
- Battery Life eXtender (default disabled, click per maggiori dettagli)
- Ram Console (click per maggiori dettagli)
- Backlight Notification v10 (BLNv10) (click per maggiori dettagli)
- USB OTG (se supportato dalla rom)
- Intensità della vibrazione personalizzabile (click per maggiori dettagli)
- Diminuito il voltaggio del display panel
- Diminuito il voltaggio del touchscreen
- Diminuito il voltaggio del wifi
- Abbassato il valore di swappiness (60 -> 45)
- Aumentata la frequenza della CPU in fase di boot
- Routine ottimizzate AES e SHA1 per cpu con architettura ARM
- 100% battery notification al termine della fase di carica (rimozione del caricatore)
- Aumentata la potenza audio
- Con Kolivas' CK3 Tweaks
- Ottimizzazione SLUB memory allocator
- Ottimizzazione algoritmo ARM RWSEM (read/write semaphore)
- Ottimizzazione asynchronous I/O latency per le sd card
- Libs string e memcopy ottimizzate
- Disabilitati i Gentle Fair Sleepers per migliori performance dell'interfaccia utente
- Supporto modulo CIFS al boot
- Memory compaction
- Compressione dinamica delle pagine pagecache libere
- Nuovi driver per il display presi dal Samsung Galaxy SII
- Aggiornamenti e modifiche al sensore della luminosità del display
- Phantom key presses filter (nuovo modulo per il filtro di pressioni "fantasma", click per maggiori dettagli)
- Dynamic FSync v1.2 (click per maggiori dettagli)
- Dynamic dirty page writebacks (click per maggiori dettagli)
- Modifiche ai parametri della VM per migliori performance e riduzione dei consumi
- Modificati i parametri del LowMemoryKiller per migliori performance
- Timeout personalizzabile dei touchkey luminosi dopo la pressione dei pulsanti o del touchscreen (click per maggiori dettagli)
- Possibilità di attivare/disabilitare la retroilluminazione dei touchkey luminosi in caso di pressioni sul touchscreen (click per maggiori dettagli)
- Timer slack controller (click per maggiori dettagli)
- Gestione dinamica del minimo timer slack durante il suspend/resume (click per maggiori dettagli)
- Gestione dei processi da non essere terminati da parte del LowMemoryKiller (click per maggiori dettagli)
- Supporto filesystem F2FS e exFAT
- Algoritmi di TCP Congestion aggiuntivi
- Modulo ZRAM aggiornato
Governor CPU disponibili:
- Adaptive
- BrazilianWax
- Conservative
- Hyper
- Intellidemand
- Interactive
- InteractiveX
- LionHeart
- LulzActive
- OnDemand (default)
- OnDemandX
- Performance
- Powersave
- SmartAssV2
Scheduler I/O disponibili:
- BFQ
- CFQ
- Deadline
- Fiops
- Noop
- ROW (default)
- SIO
- V(R)
Download kernel per Lollipop 5.0 ION+PMEM ADSP:
K^Kernel LP-5.0 Mediafire Folder
- v4.5 -
per ADC CM 12.0
e le altre rom basate su questa CM 12.0
Nota: E' necessario usare la nuova recovery TWRP disponibile all'interno del thread ADC CM 12.0
Come installare il kernel:
1) Download dello zip della versione preferita del kernel nella sdcard interna o esterna
2) Reboot in recovery
3) Flash del file compresso
4) Reboot del sistema
Sorgenti del kernel (su GitHub):
Informazioni utili:
- Special features and sysfs settings
- Frequently asked questions
Risorse aggiuntive:
Per ulteriori dettagli sulle funzionalità del kernel, la customizzazione di alcune di esse e altre utili info, vi invito a consultare anche il relativo thread su XDA:
Crediti e ringraziamenti a:
arco68, CastagnaIT and ivendor per il loro fantastico ed eccezionale lavoro e i loro sorgenti del kernel
Ezekeel, Doomlord, Faux123, Stratosk, Tegrak, ErasmuX, Imoseyon, Blefish, mikeioannina e altri dev che starò sicuramente dimenticando
CyanogenMod, Kernel.org, Code Aurora Forum, Google, Linaro GCC developers
KTulu, Rhonin86, Smeroni68, XeLLaR* per il loro supporto in fase di test
Sament83, B1tt1, Dellup, Pierm, Leonbeson, Cippoz89, Marco Z., Rhonin86, modog, Ludovic D. per le loro donazioni