Valve поддерживает Lenovo с игровым портативным компьютером Legion Go S, работающим под управлением SteamOS на базе Arch Linux. Помимо фанфар на CES, Valve сотрудничает с Lenovo в области инженерных ресурсов для обеспечения хорошей работы Legion Go S на операционной системе SteamOS и, в свою очередь, с основным ядром Linux. Оказалось, что с помощью недавнего незаметного патча Valve тихо добавила в ядро Linux поддержку того, что в итоге оказалось контроллером Lenovo Legion Go S.
В прошлом месяце на сайте Phoronix писали о том, что «контроллер QH» был добавлен в драйвер XPad для основного ядра Linux Пьером-Лупом А. Гриффе из Valve, который известен своими вкладами в Linux. Однако не удалось найти много информации о контроллере QH Electronics, кроме самого упоминания о патче. Однако как пишет автор сайта Майкл Ларабель:
«Мне не удалось найти много информации о самом контроллере QH Electronics, а оригинальное сообщение о патче в списке рассылки не пролило на него никакого дополнительного света, но, очевидно, он достаточно примечателен, чтобы разработчик Valve взялся за добавление его поддержки в Linux».
Оказывается, это действительно был заметный вклад. Добавление «QH Electronics» было на самом деле заполнителем / кодовым именем / поддельным продуктом, чтобы скрыть поддержку контроллера Lenovo Legion Go S.
Подробнее о Legion Go S и поддержке SteamOS в нем читайте здесь.
Серия патчей, вышедшая в эти выходные, раскрыла эту тайну, переименовав контроллер QH Electronics в Legion Go S:
«Контроллер QH на самом деле является контроллером Legion Go S, в его USB-дескрипторе указана строка производителя wch.cn и название продукта Legion Go S. Беглый просмотр VID показывает то же самое.
Поэтому переименуйте записи xpad, чтобы они соответствовали».
В сопроводительном письме к патчу также предлагается в будущем для таких записей, когда простые идентификаторы производителя/устройства нужно просто добавить в драйвер ввода, а Valve хочет скрыть фактический продукт, это можно сделать с помощью правила udev, чтобы избежать немедленной необходимости в патче ядра и при этом работать на старых версиях ядра:
«@Pierre-Loup: для новых устройств, о существовании которых вы не хотите распространяться, есть небольшой трюк — включить драйвер xpad с помощью правила udev. Это также полезно для обратной совместимости»
Таким образом, в этой серии патчей запись «QH Controller» заменяется на правильную идентификацию Legion Go S для драйвера ввода XPad. Эта серия исправлений также добавляет поддержку контроллеров для устройств Zotac Zone и TECNO Pocket Go.
Немного странно скрывать поддержку контроллеров, поскольку в конце прошлого года уже были выпущены связанные с Legion Go S патчи для Linux, работающие с драйверами WMI и т.п. Также не является беспрецедентным использование этого кодового имени/заместителя для сокрытия поддержки Legion Go S — в прошлом AMD использовала красочные кодовые имена для сокрытия ранних патчей для невыпущенных GPU. С тех пор AMD перешла на IP-ориентированную/блочную версификацию и перечисление нового оборудования. Есть и другие производители, которые используют кодовые имена продуктов в своих патчах для драйверов с открытым исходным кодом и т. п.
В любом случае, приятно видеть, что поддержка Lenovo Legion Go S своевременно появилась в ядре Linux.
Один мальчик подписался на телеграм-канал Игры в Linux и получил бесплатную игру в Steam! Новости из мира игр в Linux, свежие обзоры игр и полезные инструкции всегда под рукой!
![]()