
Valve hat die Unterstützung für den Lenovo Legion Go S Controller in den Linux-Kernel eingeschleust
Valve unterstützt Lenovo mit dem Legion Go S Gaming-Handheld, auf dem das auf Arch Linux basierende SteamOS läuft.
Jenseits der Fanfare auf der CES hat Valve mit Lenovo an technischen Ressourcen zusammengearbeitet, um sicherzustellen, dass das Legion Go S gut mit SteamOS und dem Mainline-Linux-Kernel läuft.
Es stellt sich heraus, dass ein kürzlicher Platzhalter-Patch von Valve heimlich, still und leise dem Linux-Kernel hinzugefügt wurde, der sich als Unterstützung für Lenovos Legion Go S Controller / Eingabe entpuppte.
Eine Übersetzung von 🇬🇧 phoronix.com
Letzten Monat schrieb ich über einen "QH Controller", der von Pierre-Loup A. Griffais von Valve, der für seine Linux-Beiträge bekannt ist, zum XPad-Treiber für den Mainline-Linux-Kernel hinzugefügt wurde. Ich war nicht in der Lage, viel über den QH Electronics Controller zu finden, außer dass der Patch selbst erwähnt wird... Aber wie ich in diesem früheren Artikel schrieb:
Ich habe nicht viel über den QH Electronics Controller selbst herausfinden können und der ursprüngliche Patch-Post auf der Mailing-Liste gab keinen weiteren Aufschluss darüber, aber offensichtlich ist er bemerkenswert genug für einen Valve-Entwickler, um das Hinzufügen der Linux-Unterstützung für ihn in Angriff zu nehmen.
Es stellte sich heraus, dass es sich tatsächlich um einen bemerkenswerten Beitrag handelte. Der Zusatz "QH Electronics" war in Wirklichkeit ein Platzhalter / Codename / gefälschtes Produkt, um die Unterstützung für den Lenovo Legion Go S Controller zu verschleiern.
Eine Patch-Serie an diesem Wochenende hat dieses Geheimnis gelüftet und den QH Electronics-Controller in Legion Go S umbenannt:
Der QH-Controller ist in Wirklichkeit der Controller des Legion Go S, mit der Herstellerzeichenkette wch.cn und dem Produktnamen Legion Go S in seinem USB-Deskriptor. Ein flüchtiger Blick auf die VID zeigt dasselbe. Benennen Sie daher die xpad-Einträge entsprechend um.
Die Patch-Beschreibung schlug auch vor, dass in Zukunft für diese Einträge, bei denen einfache Hersteller-/Geräte-IDs zu einem Eingabetreiber hinzugefügt werden müssen und Valve das eigentliche Produkt verbergen möchte, dies stattdessen durch eine udev-Regel geschehen könnte, um die unmittelbare Notwendigkeit eines Kernel-Patches zu vermeiden, während es auch bei älteren Kernel-Versionen funktioniert:
@Pierre-Loup: für kommende Geräte, deren Existenz Sie nicht preisgeben wollen, gibt es einen kleinen Trick, um den xpad-Treiber per udev-Regel zu aktivieren. Dies ist auch gut für die Abwärtskompatibilität.
Mit dieser Patch-Serie wird also der Eintrag "QH Controller" durch die korrekte Legion Go S-Kennung für den XPad-Eingabetreiber ersetzt. Diese Patch-Serie fügt auch Controller-Unterstützung für die Geräte Zotac Zone
und TECNO Pocket Go
hinzu.
Der Schritt, die Controller-Unterstützung zu verbergen, ist etwas seltsam, da es bereits seit Ende letzten Jahres Linux-Patches für Legion Go S gab, die sich mit der Handhabung von WMI-Treibern und ähnlichem befassten. Es ist auch nicht ungewöhnlich, dass dieser Codename/Platzhalter verwendet wurde, um die Legion Go S-Unterstützung zu verbergen - in der Vergangenheit hat AMD bunte, fischige Codenamen verwendet, um frühe Enablement-Patches für unveröffentlichte GPUs zu verbergen. AMD ist inzwischen zu ihrer IP-basierten/blockweisen Versionierung und Aufzählung neuer Hardware übergegangen. Es gibt auch andere Hersteller, die Produkt-Codenamen in ihren Open-Source-Treiber-Patches und dergleichen verwenden.
In jedem Fall ist es schön zu sehen, dass die Unterstützung für das Lenovo Legion Go S rechtzeitig in den Upstream-Linux-Kernel aufgenommen wurde.
Ein Service von s3n🧩net
Comments