Em breve o pinguim vai resolver uma limitação antiga do kernel que afeta diversos periféricos de jogos e outros dispositivos modernos. O problema está no subsistema HID (Human Interface Devices), responsável por gerenciar dispositivos como mouses, teclados, headsets e tablets gráficos.
Atualmente, o kernel só reconhece uma única bateria por dispositivo HID, algo que já não acompanha a realidade dos produtos, que contam com mais de uma bateria. Essa limitação tem forçado fabricantes a adotarem protocolos proprietários e softwares próprios para contornar a ausência de suporte nativo no sistema, dificultando a integração com o Linux e fragmentando a experiência do usuário.
A proposta introduz suporte a múltiplas baterias por dispositivo HID, resolvendo de forma elegante esse gargalo estrutural. O patch cria uma nova estrutura no código chamada hid_battery, responsável por encapsular o estado de cada bateria individualmente.
Além disso, adiciona uma lista de baterias em cada dispositivo HID, permitindo que o kernel rastreie todas as fontes de energia associadas. O sistema identifica cada bateria com base em IDs de relatórios, mantendo total compatibilidade com o código existente que lida com dispositivos de bateria única.
Esse avanço é mais importante do que pode parecer à primeira vista. Como o sistema operacional não oferece suporte adequado, os fabricantes criam soluções próprias e fechadas, o que reduz a pressão para corrigir a limitação no código-fonte do kernel.
Com a mudança, o ciclo se quebra. A padronização do relatório de múltiplas baterias permitirá que os periféricos funcionem de forma nativa e integrada, eliminando a necessidade de software proprietário, facilitando a manutenção de drivers e criando uma base sólida para dispositivos futuros.
O patch foi testado em teclados com baterias independentes, demonstrando que cada unidade é reportada corretamente através da interface de gerenciamento de energia do sistema. O autor busca feedback da comunidade sobre possíveis melhorias na identificação e nomeação das baterias.
Essa proposta representa um passo significativo rumo a um Linux mais amigável para usuários de periféricos modernos, especialmente gamers e profissionais criativos que dependem de dispositivos sem fio com múltiplas fontes de energia.
Ao modernizar o subsistema HID e trazer mais padronização, o kernel se torna mais compatível, eficiente e aberto, fortalecendo ainda mais o papel do Linux como um sistema operacional de referência tanto no desktop quanto em ambientes profissionais e entusiastas.