Graças ao Adreno Tools, agora você pode atualizar o driver gráfico em seu dispositivo Android sem acesso root. Continue lendo para saber mais!
Os sites voltados para smartphones tendem a se concentrar apenas nos dispositivos mais recentes, mas uma grande parte dos usuários opta por não atualizar seus telefones por um motivo ou outro. Salvo falhas de hardware, muitos desses dispositivos ainda podem ter anos de uso pela frente porque, para seus proprietários, eles ainda funcionam bem. Enquanto ROMs personalizadas pode manter smartphones legados vivos por muito tempo, pode ser um pesadelo para os modders manter coisas como a câmera e os drivers gráficos atualizados sem o suporte oficial do fabricante.
Atualizando drivers de GPU no Android
Ao contrário do ecossistema de smartphones, atualizando o driver gráfico em seu PC é algo em que você sempre pode pensar. Isto é possível devido à arquitetura modular dos drivers de hardware do PC, que permite aos usuários avançados mexer em pacotes de drivers de código fechado ou até mesmo optar por drivers de código aberto em vez de fornecidos pelo OEM binários. No caso do Android, entretanto, as atualizações de driver geralmente só chegam ao seu telefone junto com atualizações maiores do sistema operacional.
Drivers de GPU atualizáveis podem ser úteis para corrigir bugs, melhorar o desempenho gráfico ou adicionar novos recursos de APIs OpenGL ou Vulkan. Hoje em dia, os smartphones estão maiores e mais rápidos do que nunca, tornando-os o veículo perfeito para jogos, portanto, portar o design do driver no estilo PC para eles faz com que senso.
Na verdade, em um esforço para modularizar o Android por meio do Project Treble, o Google tornou isso possível para agrupar o driver gráfico definido para uma plataforma específica como um aplicativo e atualizá-lo por meio do Play Loja. Desde então, vários OEMs Android convencionais colaboraram com o Google e os principais fornecedores de GPU, incluindo ARM e Qualcomm, para distribuir atualizações para os drivers de GPU de seus telefones independente de lançamentos de software maiores.
O design do driver gráfico atualizável reduz a fragmentação?
Sim, até certo ponto. No entanto, algumas questões preocupantes ainda permanecem sem resposta. Em primeiro lugar, o mecanismo do Google não oferece uma maneira fácil de substituir o driver de fornecedor de código fechado por uma oferta de código aberto de terceiros. Você pode, é claro, substituir manualmente o pacote de driver na partição do fornecedor do dispositivo de destino, desde que tenha acesso root e de alguma forma conseguir os arquivos necessários, mas essa não é a solução ideal para muitos.
Em seguida vem o paradoxo estabilidade versus melhoria. O Android mantém um arranjo hierárquico quando se trata de carregar o driver gráfico. Embora seja possível alternar entre a versão instalada de fábrica e a versão atualizada mais recente usando Opções de desenvolvedor => Preferências do driver gráfico por aplicativo, em última análise, tudo se resume à decisão do OEM de quando enviar a atualização do driver gráfico. Como resultado, um usuário final não pode utilizar versões de driver de última geração diretamente do fabricante do SoC, pois os OEMs ainda são responsáveis pela implementação das atualizações.
Conforme mencionado anteriormente, a atualização dos drivers da GPU é possível com acesso root, mas nada supera um método não root. Agradecimentos ao membro sênior do XDA estatuto social, agora temos uma solução genial chamada Ferramentas Adreno que permite modificações ou substituições imediatas do driver da GPU no Android - isso também sem root! A experiência do desenvolvedor em portar o Android para o Nintendo Switch certamente desempenhou um papel crucial neste empreendimento, já que todo o projeto tem sua origem em Horizonte, um emulador de Nintendo Switch de código aberto e em andamento para Android.
Colega desenvolvedor Skyline Marcar "Pixelylon" apresentou a ideia de substituição da unidade em tempo de execução para estatuto social, que eventualmente se materializou em Adreno Tools. Sendo uma biblioteca sem root, Adreno Tools pode ajudar qualquer aplicativo regular a carregar drivers de GPU personalizados, lidar com texturas BCn e redirecionar operações de arquivo para outras modificações complexas na família de GPUs Adreno da Qualcomm. Ele faz isso conectando-se às bibliotecas do sistema e trocando perfeitamente pelo novo motorista. Notavelmente, ainda não há suporte para GPUs do Mali.
Como não há limitação quanto à origem do driver, os entusiastas também podem carregar drivers de terceiros por meio do Adreno Tools. Isso é particularmente útil para aqueles que desejam experimentar o Turnip – um driver Vulkan de código aberto para hardware gráfico Qualcomm Adreno que se enquadra na categoria Freedreno guarda-chuva. Por exemplo, AetherSX2, o emulador de PlayStation 2 para Android já utiliza Adreno Tools para oferecer aos usuários finais a escolha de optar pelo Nabo em vez do driver OEM para melhor desempenho.
Ferramentas Adreno no GitHub
Como posso me beneficiar disso?
Tenha em mente que o projeto Adreno Tools é fornecido como uma biblioteca de software. Isso significa que você não consegue encontrar um arquivo APK pré-compilado que permita magicamente a capacidade de usar uma pilha de driver gráfico externo em todo o sistema. Em vez disso, um desenvolvedor precisa incorporar a biblioteca em seu projeto, para que seu aplicativo possa oferecer a facilidade de carregar arquivos de driver gráfico atualizados ou uma alternativa de terceiros sem root acesso. É exatamente assim que os desenvolvedores Skyline e AetherSX2 estão utilizando Adreno Tools agora.
Do ponto de vista do usuário final, o Adreno Tools por si só não consegue resolver todas as limitações da implementação do driver de GPU do Android. É apenas uma ferramenta para a comunidade de desenvolvedores contornar alguns dos maiores obstáculos das atualizações de drivers gráficos em dispositivos Android – é isso. Você só pode obter os benefícios disso por meio de um aplicativo, mas uma atualização manual do driver em todo o sistema ainda requer acesso root.
O que posso fazer se tiver root?
Se você for um usuário avançado com um dispositivo com acesso root, poderá realizar uma instalação forçada em todo o sistema de um driver gráfico atualizado criado em seu dispositivo. Para fazer isso, você precisa extrair os arquivos BLOB (Binary Large OBject) do driver que contêm binários de software pré-empacotados para interagir com a GPU de um pacote de firmware atualizado. Você pode usar o firmware de um dispositivo diferente, mas o driver deve corresponder à mesma família de GPU do dispositivo de destino.
Depois de extrair os arquivos necessários, você pode compactá-los como um módulo Magisk e instalá-lo no smartphone de destino para substituir os drivers existentes do fornecedor sem sistema. Claro, o processo é um pouco mais complicado do que parece. Talvez seja necessário cuidar das incompatibilidades de interface entre os drivers legados e atualizados, para as quais seria necessário corrigir.
"Calçar" é "cunhar (algo) ou preencher um espaço". Isso é efetivamente o que um desenvolvedor faz quando escrevendo um calço – eles adicionam códigos adicionais para permitir que o BLOB interaja com a plataforma em que estão trabalhando com. Felizmente para nossos leitores, desenvolvedor estatuto social já escrevi um calço para preencher a lacuna entre as diferentes revisões do driver Adreno, e você pode encontrar drivers OpenGL e Vulkan prontos para uso para Adreno 500 e Adreno 600 família de GPUs em nossos fóruns.
Curioso para saber sobre os benefícios de instalar manualmente um driver gráfico atualizado? Mishaal Rahman de Esper compartilhou uma comparação interessante do desempenho da GPU no 3DMark de um Snapdragon Google Pixel 3 XL com motor 845 rodando Android 12 com o driver padrão versus um driver mais recente do Snapdragon 8 Geração 1:
Muito fascinante, não é? Mas não se esqueça do compromisso entre objetividade e relevância. Embora a instalação de um driver de GPU atualizado com acesso root tenha suas vantagens, mas certamente também tem suas armadilhas. Não se destina a iniciantes e mexer no dispositivo pode anular a garantia. Você precisa de um bootloader desbloqueado para começar, o que pode não ser viável em todos os cenários.
Conclusão
Dadas as alternativas para o cenário de modificação de driver de GPU Android no passado, a biblioteca Adreno Tools é um avanço fantástico, especialmente por sua natureza sem raízes. Estamos ansiosos para ver como o projeto crescerá e amadurecerá no futuro. Não deixe de experimentar e deixe-nos saber o que você pensa nos comentários!
Fonte:Esper