Небольшой дайджест новостей об улучшении поддержки игровых контроллеров в Linux за последнее время. Среди основных моментов: поддержка контроллеров ByoWave Proteus, дополнительные игровые контроллеры от Turtle Beach и PowerA в Linux 6.15, а так же добавление поддержки аудиовыхода на контроллере PS5 DualSense Controller.
ByoWave Proteus
ByoWave Proteus Controller Kit — это модульный игровой контроллер, который позволяет соединять различные комбинации кнопок ввода и менять положение триггеров и кнопок в зависимости от ваших предпочтений. Контроллеры ByoWave Proteus уже поддерживаются операционной системой SteamOS от Valve, а теперь контроллеры скоро будут поддерживаться и основным ядром Linux.
Контроллеры ByoWave Proteus будут интересны тем, кто хочет настроить свой игровой контроллер под себя или даже изменить раскладку в зависимости от игры. Хотя контроллеры ByoWave Proteus довольно интересны, они имеют высокую цену: комплект контроллеров стоит около 349 долларов США.
Поддержка контроллеров ByoWave Proteus Controllers на пути к основному ядру с помощью патча, который был недавно добавлен в «следующую» ветку Git для подсистемы ввода. Поскольку патч находится в очереди в следующей ветке, он должен быть слит для поддержки ByoWave Proteus в предстоящем окне слияния Linux 6.16. Также возможно, что он будет представлен в качестве «исправления» для текущего ядра Linux 6.15, так как это всего лишь новая комбинация ID производителя/устройства для драйвера ввода XPad, необходимая для поддержки.
Известный Linux-разработчик Пьер-Луп А. Гриффайс из Valve был автором патча для поддержки контроллеров ByoWave Proteus в Linux.
Больше игровых контроллеров от Turtle Beach и PowerA
Подобно дополнениям драйвера XPad в начале этого месяца, обеспечивающим поддержку некоторых новых контроллеров, очередная порция обновлений подсистемы ввода добавляет новые идентификаторы устройств. Поскольку это всего лишь новые дополнения ID устройств и они не угрожают существующей поддержке аппаратного обеспечения, их можно смело встраивать в текущее ядро Linux 6.15.
Одним из поддерживаемых контроллеров является контроллер Turtle Beach Recon, который продается по цене около $40.
Контроллер Turtle Beach Stealth Ultra также теперь поддерживается Linux 6.15 с драйвером XPad. Turtle Beach Stealth Ultra продается по цене около 175 долларов.

Третий контроллер, добавленный в драйвер XPad для Linux 6.15 — это проводной контроллер PowerA для Xbox. Этот проводной контроллер PowerA продается в розницу по цене около $26.
Все три контроллера теперь поддерживаются основным ядром Linux 6.15.
Работа с аудиоразъемом контроллера PS5 DualSense от Sony
Несмотря на то, что поддержка контроллера Sony PlayStation 5 DualSense в Linux существует уже несколько лет и была улучшена в последних версиях ядра Linux, в работе с аудиоразъёмом контроллера DualSense были некоторые недочёты. Вышедшая недавно серия патчей призвана улучшить эту возможность.
В список рассылки ядра Linux был отправлен набор из 11 патчей от Кристиана Чиокалтеа (Cristian Ciocaltea) из Collabora для улучшения работы с аудиоразъёмом контроллера Sony PS5 DualSense.
Ciocaltea объясняет текущую ситуацию и улучшения в серии патчей:
«Беспроводной контроллер Sony DualSense (PS5) оснащен внутренним монофоническим динамиком, а также 3,5-мм разъемом для выхода на наушники и микрофонного входа гарнитуры. Однако по умолчанию выходной аудиотракт установлен на наушники, независимо от того, вставлены они или нет.
Эта серия патчей направлена на улучшение поддержки аудио путем реализации следующих изменений:
* Определять, когда состояние аудиоразъема меняется, и переключать аудиовыход между наушниками и внутренним динамиком, если это необходимо. Последнее достигается путем маршрутизации правого канала источника звука на монофонический динамик.
* Отрегулируйте громкость динамика, поскольку его уровень по умолчанию слишком низок и, следовательно, не может генерировать слышимый звук.
* Зарегистрируйте специальное устройство ввода для аудиоразъема и используйте его для сообщения обо всех событиях, связанных с подключением наушников и микрофона гарнитуры.
Стоит отметить, что последнее необходимо, поскольку контроллер соответствует версии 1.0 спецификации USB Audio Class (UAC1) и, следовательно, не может рекламировать возможность обнаружения разъема. Однако эту возможность можно реализовать в общем аудиодрайвере USB с помощью причуд, то есть настроив обработчик ввода на получение событий hotplug от драйвера HID.»
В этой серии патчей представлены улучшения аудиоразъемов контроллера DualSense для драйвера HID Linux «playstation».
Другие патчи
Ещё один патч для драйвера XPad, который отправляет пакеты LED и auth done на все контроллеры Xbox One для зеркального отражения того, как код пользовательского пространства SDL работает с этими контроллерами, и для более точного отражения поведения Microsoft Windows с контроллерами Xbox One.
Еще один патч для драйвера XPad позволяет задерживать пакеты init для лучшей работы с некоторыми контроллерами Xbox One. Все эти исправления можно найти в готовящемся ядре Linux 6.16.
Фото обложки: Eugene Chystiakov с сайта unsplash.com