Sony Now "Officially" Maintaining The Linux PlayStation Input Driver, But Leads To Interesting Problem
It turns out Sony is now maintaining the mainline Linux kernel's hid-sony input driver in an "official capacity now across various devices." This hid-sony driver is what traditionally has supported the various PlayStation controllers and other input devices for their hardware. But their newfound "official" support for this open-source input driver could lead to interesting predicaments.
Sent out this week by an independent Linux user was a patch for supporting Gasia controllers with the HID Sony driver. These controllers made by Gasia Co are USB-based controllers aiming for compatibility with the PlayStation 3 controller. These Gasia controllers are similar to "knockoff controllers" we've seen from other vendors for the PlayStation and other game consoles like the Xbox in that often times they even use the same device IDs and aim to mirror the hardware/software behavior all the same.
But in getting these Gasia "PlayStation" controllers working on Linux, some modifications are needed to the hid-sony driver due to subtle differences in their behavior -- basically, quirk handling like we're sadly all too used to seeing across varying forms of input devices on Linux.
Normally adding quirks to HID/input drivers is (sadly) nothing out of the ordinary but a very common occurrence... Only through my persistence in monitoring the kernel mailing list did I stumble upon this interesting bit. Roderick Colenbrander of Sony who serves as their Directory of Hardware & Systems Engineering, chimed in on the matter of adding this Gasia controller support (And, yes, this is the same Roderick Colenbrander who in his spare time serves as a Wine developer and if going back to the early 2000's was the NVClock NVIDIA overclocking tool developer as opposed to being some eager Sony employee):
The fact of Sony now maintaining this open-source Linux driver in an "official capacity" was news alone to me (this was also apparently news to HID subsystem maintainer Jiri Kosina of SUSE who then asked whether Sony/Roderick can then be listed in the MAINTAINERS file as maintaining this driver).
While it looks like they won't object to this support being added since this Gasia controller support is for the older generation PlayStation 3, it presents an interesting predicament with Sony coming along to maintain this driver and the possibility of disallowing knockoff/clone controller support from the mainline Linux kernel as a result. Otherwise it could theoretically mean having to copy a driver just to add a quirk and/or trying to override the decision by taking up the issue with Linus Torvalds who ultimately decides whether or not to honor a pull request.
Making this particular situation more complex is that the Sony HID driver wasn't started by Sony and they aren't even listed as a copyright on the source file. Though, yes, Roderick has made various code improvements in recent years to the Sony HID driver around DS4 controller support, supporting DS4 dongles, and other additions.
So in the case of this Gasia controller addition for Linux it will hopefully fly but could present interesting decisions moving forward should a similar situation come up with the PlayStation 4 or PS5 where Sony has ongoing interest. For what it's worth, the Gasia controller quirk/addition was less than two dozen lines of code and amounted to checking for its peculiar device reporting and then sharing a quirk already present in this mainline driver that was there for the "SHANWAN" unofficial PlayStation controllers. And aside from all of that, it's interesting that Sony has jumped in to now "officially" maintain this Linux kernel driver.
Sent out this week by an independent Linux user was a patch for supporting Gasia controllers with the HID Sony driver. These controllers made by Gasia Co are USB-based controllers aiming for compatibility with the PlayStation 3 controller. These Gasia controllers are similar to "knockoff controllers" we've seen from other vendors for the PlayStation and other game consoles like the Xbox in that often times they even use the same device IDs and aim to mirror the hardware/software behavior all the same.
But in getting these Gasia "PlayStation" controllers working on Linux, some modifications are needed to the hid-sony driver due to subtle differences in their behavior -- basically, quirk handling like we're sadly all too used to seeing across varying forms of input devices on Linux.
Normally adding quirks to HID/input drivers is (sadly) nothing out of the ordinary but a very common occurrence... Only through my persistence in monitoring the kernel mailing list did I stumble upon this interesting bit. Roderick Colenbrander of Sony who serves as their Directory of Hardware & Systems Engineering, chimed in on the matter of adding this Gasia controller support (And, yes, this is the same Roderick Colenbrander who in his spare time serves as a Wine developer and if going back to the early 2000's was the NVClock NVIDIA overclocking tool developer as opposed to being some eager Sony employee):
Thanks for sharing your patch. Though I must say with my Sony hat on, I don't really like supporting clone devices (they hijack our device ids.. etcetera) and we support hid-sony in an official capacity now across various devices. Though this change all relates to PS3 generation, which is not that important anymore so it shouldn't matter that much.
The fact of Sony now maintaining this open-source Linux driver in an "official capacity" was news alone to me (this was also apparently news to HID subsystem maintainer Jiri Kosina of SUSE who then asked whether Sony/Roderick can then be listed in the MAINTAINERS file as maintaining this driver).
While it looks like they won't object to this support being added since this Gasia controller support is for the older generation PlayStation 3, it presents an interesting predicament with Sony coming along to maintain this driver and the possibility of disallowing knockoff/clone controller support from the mainline Linux kernel as a result. Otherwise it could theoretically mean having to copy a driver just to add a quirk and/or trying to override the decision by taking up the issue with Linus Torvalds who ultimately decides whether or not to honor a pull request.
Making this particular situation more complex is that the Sony HID driver wasn't started by Sony and they aren't even listed as a copyright on the source file. Though, yes, Roderick has made various code improvements in recent years to the Sony HID driver around DS4 controller support, supporting DS4 dongles, and other additions.
So in the case of this Gasia controller addition for Linux it will hopefully fly but could present interesting decisions moving forward should a similar situation come up with the PlayStation 4 or PS5 where Sony has ongoing interest. For what it's worth, the Gasia controller quirk/addition was less than two dozen lines of code and amounted to checking for its peculiar device reporting and then sharing a quirk already present in this mainline driver that was there for the "SHANWAN" unofficial PlayStation controllers. And aside from all of that, it's interesting that Sony has jumped in to now "officially" maintain this Linux kernel driver.
51 Comments