O que é o Franco Kernel Manager e como ele se encaixa no cenário de customização Android
O Franco Kernel Manager, frequentemente abreviado como FKM, é o aplicativo de usuário para gerenciar os parâmetros do FrancoKernel, um dos kernels customizados mais conhecidos para dispositivos Samsung — originalmente desenvolvido por Franco. O kernel em si substitui a implementação padrão do fabricante, trazendo controle sobre frequência do CPU, gerenciamento de memória, drivers deGPU e outros subsistemas. O FKM é apenas a interface gráfica que permite ajustar esses valores sem necessidade de terminal ou shell root direto. É simples assim, mas a prática tem suas nuances.
Franco Kernel Manager na prática: instalação e primeiros passos
Para instalar o Franco Kernel Manager, você precisa de três coisas básicas: um dispositivo com FrancoKernel já flashado, root acessível (geralmente via Magisk ou SuperSU) e o próprio APK do gerenciador. Baixe pela Google Play Store ou pelo site oficial do desenvolvedor. A versão mais recente costuma estar disponível diretamente pelo fórum XDA Developers, seção Franco Kernel. Depois de instalado, o app pede permissão de root e verifica a compatibilidade com a build do kernel que está rodando no momento. Se a versão do kernel for incompatível, o FKM pode abrir, exibir valores, mas travar ao tentar aplicar qualquer alteração. Isso acontece com frequência quando você atualiza o kernel sem antes atualizar o gerenciador, ou vice-versa. A solução imediata é garantir que ambos estejam na mesma release. Eu já perdi tempo tentando entender por que ajustes de CPU governor simplesmente não aplicavam, só pra descobrir depois que a versão do kernel era 4.4.19 e o FKM ainda estava na build anterior, que esperava sysfs nodes diferentes.
Como o FKM funciona por dentro
O aplicativo lê e escreve em arquivos do sistema de arquivos sysfs e tmpfs expostos pelo kernel. Cada perfil de configuração — como o modo de economia de bateria versus desempenho máximo — corresponde a um conjunto de valores escritos nesses nodes. Quando você seleciona um perfil no FKM, ele executa uma série de comandos write nos arquivos correspondentes, como /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor, /sys/kernel/francokernel/lcd_min_brightness, entre dezenas de outros caminhos que variam conforme a build do kernel. O recurso mais útil é o sistema de perfis. Você pode salvar configurações customizadas e alternar entre elas com um toque. Eu uso isso no dia a dia: um perfil para uso normal, outro para gaming, e um terceiro para bateria extrema. O problema é que alguns perfis dependem de timing — se um node não foi escrito antes de outro, o kernel pode ignorar o comando seguinte. Não há rollback automático. Se algo dá errado, você fica com o dispositivo instável até reiniciar ou restaurar um perfil conhecido.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Problemas reais que você vai enfrentar
Um dos problemas mais comuns é o FKM falhar ao salvar perfis em dispositivos com partições system read-only, mesmo com root. O caminho padrão de salvar perfis é /data/francokernel/perfs/, e em algumas ROMs esse diretório não tem permissão de escrita adequada para o UID do app. A correção prática é executar manualmente mkdir -p /data/francokernel/perfs e chmod 777 /data/francokernel/perfs via terminal root antes de abrir o aplicativo. Depois disso, os perfis salvam normalmente. Outro issue recorrente é a detecção errada da frequência máxima do CPU. O FKM lê o arquivo scaling_max_freq para construir o slider, mas em kernels com overclock customizado, esse arquivo pode refletir um valor truncado. O resultado é que você não consegue selecionar frequências acima do limitador, mesmo sabendo que o hardware suporta. Nesse caso, edite diretamente o valor no arquivo sysfs via terminal. Eu resolvi assim em um Galaxy Note 4 onde o kernel suportava 2.15GHz mas o gerenciador travava o slider em 1.9GHz por causa de um bug na leitura do frequency table.
Limitações e quando o Franco Kernel Manager não é a melhor opção
O FKM foi projetado especificamente para o FrancoKernel. Ele não funciona com kernels de terceiros, mesmo que sejam baseados no mesmo código-fonte. Se você mudar de kernel, provavelmente precisará de um gerenciador diferente, como Scene Generator, FairWind Kernel Controller, ou algo equivalente. O FKM também não oferece suporte a governors de CPU além dos nativos do FrancoKernel — você não vai conseguir adicionar schedutil ou porus como opções alternativas se o kernel não os suportar nativamente. Existe ainda a questão da manutenção. O desenvolvimento do FrancoKernel caiu bastante nos últimos anos, e o FKM acompanhou esse ritmo. Versões mais recentes funcionam em Android 10 e 11, mas em Android 12+ podem ocorrer problemas de compatibilidade com as mudanças no subsistema de kernel do AOSP. Se você está rodando uma versão muito recente do Android, vale testar antes de depender do app para ajustes críticos.
O que fazer se o FKM travar após atualização do kernel
A sequência que costuma resolver é: desinstalar o FKM atual, limpar dados residuais em /data/francokernel/, reinstalar a última versão compatível do gerenciador, e então reabrir o app. Às vezes, apenas forçar a parada e limpar cache já resolve, mas quando há nodes do sysfs que mudaram de localização entre builds, a limpeza completa é necessária para evitar conflito de leitura. Esse procedimento reduz de horas para cerca de dez minutos o tempo de recuperação quando algo quebra após atualização. Se nenhum desses passos funcionar, a alternativa mais segura é voltar para o kernel stock do fabricante via Odin, com a ROM original correspondente. É menos elegante, mas evita ficar com o dispositivo instável por dias tentando ajustar configurações que não vão se estabilizar.