Suporte melhorado

CodeWeavers trabalha em melhorias no suporte a dispositivos de entrada no Proton para Linux

A CodeWeavers está focada em aprimorar o suporte a dispositivos de entrada para jogos no Proton, resolvendo desafios em gamepads e dispositivos HID com novas melhorias apresentadas no XDC 2024.

Logo da CodeWeavers com símbolo vermelho em formato de duas setas e o nome 'Codeweavers' em preto

Os desenvolvedores da CodeWeavers, em parceria com a Valve, estão trabalhando em melhorias significativas para o suporte a dispositivos de entrada no Proton, plataforma que facilita a execução de jogos do Windows no Linux. Esses esforços são particularmente focados em dispositivos que originalmente não foram projetados para suportar o Linux, como controles de jogos, mouses, teclados e telas sensíveis ao toque.

Durante a Conferência de Desenvolvedores X.Org (XDC 2024), Arek Hiler, que atua como “janitor” do Proton na CodeWeavers, discutiu os desafios enfrentados e os planos para aprimorar o suporte a esses dispositivos. Ele destacou como o novo driver Wayland do Wine está melhorando a compatibilidade, além de mencionar a introdução do ioctl HIDIOCREVOKE no Linux 6.12, que traz benefícios importantes ao gerenciamento de dispositivos.

Suporte aprimorado para gamepads e outros dispositivos de entrada

Controle de videogame estilizado com cores vibrantes em fundo abstrato, destacando um gamepad com botões de ação e direção

Um dos grandes avanços está relacionado ao suporte de gamepads, com a utilização de bibliotecas como SDL e evdev, que facilitam o mapeamento de controles. A SDL, por exemplo, permite a normalização de diferentes modelos de gamepads, enquanto o evdev oferece um acesso mais direto aos dispositivos expostos pelo Linux. Para dispositivos mais complexos, como o PS5 DualSense, que utiliza modos avançados de operação, a CodeWeavers está desenvolvendo métodos para lidar com relatórios de entrada que diferem conforme o tipo de conexão — seja por USB ou Bluetooth.

Além disso, foram feitas melhorias nos dispositivos de entrada humana (HID) em geral, com o objetivo de oferecer uma experiência mais fluida em jogos, tanto para dispositivos USB quanto Bluetooth. Hiler mencionou que a normalização interna de todos os dispositivos HID para as APIs do Wine ajuda a tornar esses dispositivos mais compatíveis com jogos projetados para o Windows.

Próximos passos e colaboração

O trabalho contínuo da CodeWeavers inclui a colaboração com a comunidade udev para marcar corretamente os controladores de jogos como ID_GAME_CONTROLLER, tanto em upstream quanto por regras específicas de usuários. Além disso, com o Linux 6.12, o ioctl HIDIOCREVOKE oferece uma nova maneira de gerenciar permissões de dispositivos de entrada, permitindo um suporte mais seguro e eficiente.

Para os entusiastas do Linux que utilizam o Proton para rodar jogos do Windows, essas melhorias são fundamentais para garantir uma experiência de jogo cada vez mais fluida, aproximando o suporte de dispositivos no Linux ao nível visto no Windows.