Valve is teaming up with Lenovo to enhance their new gaming handheld, the Legion Go S, which operates on the Arch Linux-based SteamOS. During the recent CES event, the collaboration between Valve and Lenovo was showcased, highlighting their efforts to optimize the device on SteamOS and the main Linux kernel. Recently, it became clear that Valve had added some important updates to the Linux kernel to improve support for the controller that comes with the Legion Go S.
A month ago, I mentioned that a new “QH Controller” was included in the XPad driver for the Linux kernel, thanks to Pierre-Loup A. Griffais from Valve, who is recognized for his contributions to Linux. At that time, there wasn’t much information available about the QH Electronics controller aside from the patch notes. I even noted that it was mysterious since the details were quite scarce.
Interestingly, it turns out that the name “QH Electronics” was a cover-up. The “QH Controller” was not a real product; it served as a codename to hide the real identity of the controller for the Lenovo Legion Go S. This past weekend, further developments helped to clarify this mystery when the QH controller name was officially changed to reflect its actual identity as the controller for the Legion Go S.
According to the patch details, the controller was found to actually be manufactured by wch.cn, and its USB descriptor clearly identifies it as the Legion Go S. This revelation led to the renaming of the xpad entries to align with the official product name. The patch also suggested that for future devices, if Valve wants to keep the product details private, they might consider using udev rules instead of making immediate changes to the kernel. This flexibility would also assist with compatibility for older kernel versions.
With the latest patch series, which you can view online, the “QH Controller” designation has been replaced with the proper identification for the Legion Go S within the XPad input driver. This update also included support for other devices like the Zotac Zone and TECNO Pocket Go.
It’s a bit peculiar that Valve initially chose to mask the controller support, especially since there had been other Linux updates related to the Legion Go S dating back to last year that addressed driver handling and other functionalities. This tactic of using placeholder names isn’t entirely new; for instance, AMD has previously utilized creative codenames for unreleased hardware in their early patches. However, AMD has since shifted to a more straightforward versioning and identification system for their newer hardware, while other tech companies similarly use codenames in their open-source driver updates.
In summary, it’s great to see the support for the Lenovo Legion Go S being integrated into the Linux kernel. This collaboration between Valve and Lenovo is expected to benefit users by providing a better experience on this new gaming device, ensuring that it performs well with SteamOS and the Linux system as a whole.