Por Francisco Franco para o PPLWARE.COM
Tudo o que existe neste mundo tem uma peça, um componente principal, que sem ele não havia funcionamento possível. Nós temos o cérebro, um carro tem um motor, e um sistema operativo tem uma kernel. A kernel é uma ponte que liga o sistema operativo, onde correm as aplicações, ao hardware – a parte física. É possível, através de modificações profundas a nível da kernel, tornar o seu Nexus S num verdadeiro Galaxy II com esteróides.
Abriu-lhe o apetite? Então vamos meter mãos a obra!
Antes de começarmos são precisas três coisas para que todo este processo funcione:
- o telemóvel ter root;
- e uma custom recovery
Claro que uma coisa implica a outra, mas nada como especificar logo à partida. Para quem não têm os pré-requisitos anteriores, o processo é muito simples:
- Fazer download desta aplicação aqui instala-la e seguir as instruções para fazer root. Demora poucos minutos;
- Seguidamente instalar o Rom Manager a partir do market, dar lhe permissões de root e instalar a custom recovery.
Agora que este processo está feito vou passar a explicar em que é que consiste o franco.Kernel e em que aspecto pode melhorar a performance e a bateria do seu Nexus. Este kernel tem por base a versão 2.6.35.14 e para além de todas as funcionalidades de base, eu modifiquei-a de modo a que o Nexus fique mais rápido, mais estável e com mais durabilidade de bateria.
Entrando em pormenores mais técnicos, os melhoramentos face à versão stock da kernel são os seguintes:
- todo o tipo de debug foi removido. Quer-se uma kernel rápida e que não esteja constantemente a enviar informação de debugs por detrás daquilo que o utilizador consegue ver, libertando o processador para outras tarefas mais importantes;
- vários governors para escolha, nomeadamente: smartass2 e lazy – ambos não vêm na kernel de origem. O governor é um pedaço de código que trata de escolher quais as frequências a que o CPU necessita de funcionar conforme o utilizador use o telemóvel
- um scheduler para input e output diferente do que vem de origem de modo a aumentar as velocidades de todas as operações que envolvam inputs e outputs;
- mudança do algoritmo de congestionamento TCP/IP – melhora consideravelmente as velocidades e a estabilidade no uso de redes wifi e 2G/3G;
- alteração do scheduler do CPU – uso do BFS (chamado de Brain Fuck Scheduler) em vez do já conhecido CFS (Completely Fair Scheduler);
- uso do Tiny Preempt RCU em vez do Tree RCU – RCU é um mecanismo de sincronização para, maioritariamente, situações de leitura (read-only);
- kernel compilada com flags especiais e exclusivas para compilar para este hardware, logo tirando mais partido dele;
- uma série de parâmetros e opções modificados para diminuir a carga de trabalho do CPU nomeadamente: vfs_cache_pressure, dirty_ratio, dirty_writeback_centisecs, dirty_background_ratio, vm_swappiness, rr_interval, iso_cpu;
- o refresh rate do ecrã foi aumentado para 65hz para que a expriência do utilizador seja mais fluída, em vez dos 56hz de origem;
- todos os patches de power management disponívels para a kernel .35 foram adicionados de modo a fornecer mais bateria;
- gestão de memória foi também melhorado de modo a que as aplicações e o sistema tire mais partido da memória RAM disponível – lembrem-se que o Android foi feito para usar a RAM, ao contrário do Windows ter a RAM praticamente cheia é bom sinal, pois quer dizer que tem os programas mais usados já carregados na memória e prontos a usar, melhorando, também, a performance e a bateria do telemóvel;
- e muito muito muito mais, mas teria de ficar aqui o dia todo a escrever coisas técnicas.
A lista de features ainda não acabou, mas agora entramos noutro patamar de customização. Adicionei também três mods criados por um senhor chamado Ezekeel, um programador genial. Os mods chamam-se Live OC, Deep Idle e BLX. Destes o mais importante para mim é o Live OC que permite aumentar a frequência do CPU e do bus (barramento que transporta toda a informação entre CPU e os outros componentes) por X % até a um máximo de 50%. Obviamente que quando mais se aumentar mais voltagem é preciso dar ao CPU, mas com as voltagens stock é possível ir até aos 10% sem mudanças (pelo menos na GRANDE maioria dos Nexus S).
Para activar este mod é muito simples. Para quem tem a rom stock da Google é criar um ficheiro.sh e escrever lá esta linha
echo 110 > /sys/class/misc/liveoc/oc_value
gravar o ficheiro no dispositivo e usar uma app chamada Script Manager (grátis no market Android) para o correr no Android. Neste caso está se a fazer um overclock de 10% no CPU e nos barramentos, ou melhor no bus.
Para quem tiver outras roms que não a stock pode apenas criar um ficheiro chamado 99frequency escrever lá a mesma linha
echo 110 > /sys/class/misc/liveoc/oc_value
gravar e colocar o ficheiro em /system/etc/init.d e dar lhe permissões especiais a partir do terminal com o comando:
chmod 755 /system/etc/init.d/99frequency
ou com a própria app explorador que estiverem a usar, se esta o permitir.
Eu não recomendo a fazerem overclock acima dos 10% pois aí terão de aumentar as voltagens e nesse campo eu não vou entrar em detalhes pois não me responsabilizo por nada.
Tenham atenção e testem bem esta funcionalidade pois pode trazer alguma instabilidade ao vosso telemóvel caso este precise de mais voltagem ou caso simplesmente este não gostar de overclock, mas a taxa de sucesso sem problemas é bastante elevada logo não deverá dar problemas se se fizer tudo com calma.
Os outros dois mods são muito simples. O Deep Idle deixa o telemóvel num estado de power saving mais “forte” quando este está com o ecrã desligado, por exemplo a ouvir música, melhorando e de que maneira a vossa bateria.
O BLX faz com que o telemóvel não carregue mais de 96% da bateria, tal como vem de stock da Google, mas ao mesmo tempo mostra-vos os 100% no ecrã, sendo apenas uma mudança cosmética, mas agradável.
As instruções de instalação são muito simples:
- Fazer download neste link
- Transferir o ficheiro para o telemóvel
- Entrar na recovery (desligar o telemóvel e ficar a carregar no botão power e vol upaomesmo tempo até aparecer um ecrã tipo bios e aí escolher a opção recovery)
- Na recovery vão ao menu install zip from sdcard -> choose zip from sdcard
- Seleccionam o ficheiro da kernel (franco.kernel…)
- Escolhem a opção para instalar
- Quando acabar fazem restart
- quando entrarem no sistema já está tudo pronto para usar
Espero que tenham gostado, e que gostem do meu trabalho, pois eu estou bastante satisfeito. De notar que este procedimento não é para ser feito à toa e sem se ter consciência que se for feito sem cuidado e com desprezo pode levar a que o telemóvel fique estragado e que tenha de ser enviado para a fábrica…mas não se preocupem porque se seguirem as instruções não acontecerá nada de mal, não fiquem com medo 🙂 Espero também que não me tenha esquecido de nada, e se o fiz editarei o artigo conforme necessário.
Até a uma próxima!