Kernel Linux 6.17: suporte para a Apple Touch Bar chega aos MacBook Pros com o driver hid-multitouch

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Kernel Linux 6.17 traz suporte para a Apple Touch Bar em MacBook Pros via driver hid-multitouch.

Uma excelente notícia para os usuários de Linux em MacBook Pros! O próximo Kernel Linux 6.17 trará um aprimoramento significativo na compatibilidade de hardware, com a inclusão de suporte para a Apple Touch Bar no driver hid-multitouch. Essa adição é um passo crucial para que as funcionalidades desse componente exclusivo dos MacBook Pros baseados em x86 possam ser plenamente utilizadas no sistema operacional de código aberto.

A Apple Touch Bar é uma barra de toque OLED multifuncional que substitui as teclas de função tradicionais, e seu suporte nativo no Linux sempre foi um desafio devido à sua natureza proprietária e complexa. Com essa atualização, a equipe de desenvolvimento de HID (Human Interface Device) do Kernel Linux continua a expandir a compatibilidade com dispositivos da Apple, oferecendo uma experiência mais completa e integrada.

Este artigo detalha o que o novo suporte para a Apple Touch Bar significa para os usuários de MacBook Pro no Linux, além de explorar outras melhorias no driver hid-multitouch que beneficiam uma vasta gama de dispositivos de toque.

O que é a Apple Touch Bar e por que seu suporte é um avanço?

A Touch Bar: um recurso exclusivo da Apple

A Apple Touch Bar é uma tela sensível ao toque que substitui as teclas de função superiores em alguns modelos de MacBook Pro. Ela exibe botões contextuais, controles deslizantes e outras ferramentas dinâmicas que mudam conforme o aplicativo em uso, oferecendo uma interface interativa e adaptável.

Além disso, a Touch Bar normalmente integra o Touch ID, um sensor de impressão digital. Embora o Touch ID já tenha suporte parcial no Linux (como no Magic Keyboard com Touch ID), o suporte à Touch Bar em si permanecia incompleto.

Historicamente, a integração dessa tecnologia no Linux exigia soluções de terceiros, como utilitários de leitura direta da interface HID, scripts ou patches manuais. A falta de documentação oficial da Apple dificultava ainda mais a tarefa.

A importância do suporte nativo no Kernel Linux

Com o suporte oficial no Kernel Linux 6.17, o driver hid-multitouch passa a reconhecer e interpretar corretamente os sinais da Touch Bar, permitindo que suas funcionalidades básicas (como botões e sliders) sejam plenamente utilizadas no Linux.

Isso significa que usuários de MacBook Pro com Touch Bar que rodam Linux poderão experimentar uma interface mais fluida e nativa, sem recorrer a workarounds. Além disso, essa conquista fortalece o ecossistema Linux como uma alternativa viável mesmo para hardware proprietário, uma área onde tradicionalmente o suporte era limitado.

O driver hid-multitouch: expandindo o suporte para a Apple Touch Bar

Adição de classe MT_CLS_APPLE_TOUCHBAR

O novo commit introduz uma classe específica chamada MT_CLS_APPLE_TOUCHBAR e um quirk associado (MT_QUIRK_APPLE_TOUCHBAR) no driver hid-multitouch, permitindo que o kernel identifique e trate corretamente esse tipo de dispositivo.

Detalhes técnicos da implementação:

  • O driver passa a interpretar corretamente os usages HID_DG_TOUCH e HID_DG_TRANSDUCER_INDEX, que a Apple Touch Bar utiliza para relatar eventos de toque e seus respectivos identificadores.
  • O número máximo de contatos (maxcontacts) é definido como 11, superando o valor padrão, para lidar com múltiplos toques simultâneos na barra OLED.
  • Embora seja classificada como HID_DG_TOUCHPAD, a Touch Bar é tratada como um dispositivo de entrada direta, sendo usada a flag INPUT_MT_DIRECT para garantir esse comportamento.

Melhorias gerais no hid-multitouch

Além da adição do suporte à Touch Bar, o driver hid-multitouch também recebeu melhorias relevantes que impactam outros dispositivos de toque:

  • HID_DG_TOUCH: enquanto dispositivos legados utilizam o campo TIPSWITCH, a Touch Bar da Apple usa HID_DG_TOUCH diretamente. O driver agora ignora esse campo em dispositivos padrão, mas o processa corretamente no caso da Touch Bar.
  • HID_DG_TRANSDUCER_INDEX: o ID de contato está neste campo, e agora é devidamente reconhecido pelo driver.
  • Mesmo que a Touch Bar não exponha um campo HID_DG_CONTACTMAX, o driver assegura corretamente o número de contatos simultâneos esperados.
  • Uma nova validação de campo foi introduzida para verificar a presença de HID_DG_TOUCHPAD e HID_DG_TRANSDUCER_INDEX, garantindo que apenas dispositivos compatíveis com o comportamento da Touch Bar recebam esse tratamento especial.

Impacto para usuários Linux e a compatibilidade de hardware

Experiência aprimorada

Usuários de MacBook Pros com Touch Bar no Linux poderão finalmente interagir com o dispositivo de forma funcional, o que representa um grande avanço em usabilidade. Controles contextuais passam a responder corretamente, e os eventos multitouch são interpretados com precisão.

Conquista da comunidade open source

Essa melhoria é fruto do trabalho contínuo da comunidade de desenvolvedores do kernel Linux, que vem quebrando barreiras de compatibilidade com hardware Apple, conhecido por seu ecossistema fechado e interfaces proprietárias.

Caminho para o futuro

Essa adição se soma ao recente suporte nativo a periféricos como o Apple Magic Keyboard e o Magic Mouse 2 USB-C no Linux. O kernel está se tornando cada vez mais apto a funcionar em ambientes Apple sem comprometer a funcionalidade, o que fortalece o Linux como uma opção viável em MacBooks x86 e, futuramente, até mesmo em contextos com Apple Silicon.

Conclusão: o Kernel Linux 6.17 e o futuro do hardware Apple no Linux

A inclusão do suporte para a Apple Touch Bar no driver hid-multitouch do Kernel Linux 6.17 é um marco significativo. Ela representa a superação de mais uma barreira técnica que limitava o uso pleno do Linux em MacBooks com hardware proprietário, e demonstra o compromisso da comunidade com uma compatibilidade ampla, robusta e cada vez mais refinada.

Para aproveitar ao máximo seu MacBook Pro com Linux e experimentar o suporte à Touch Bar, fique atento ao lançamento do Kernel Linux 6.17! Para mais notícias e análises sobre compatibilidade de hardware e o universo Linux, continue acompanhando o SempreUpdate.

Compartilhe este artigo