Bug 153131

Summary: Xpad exposes the wrong product ID for the Wireless 360 controllers
Product: Drivers Reporter: Omar Pakker (linuxkernel)
Component: Input DevicesAssignee: drivers_input-devices
Status: NEW ---    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.6, 4.7 Subsystem:
Regression: No Bisected commit-id:

Description Omar Pakker 2016-08-15 11:32:46 UTC
The current implementation of the Xpad driver exposes the wireless receiver itself as 4 controllers, however the receiver and controllers are actually different devices.

The receiver has a product ID of 0x0719 and is more of a hub-style device for the controllers instead of 4 controllers itself.
The controllers have a different product ID; 0x02A1.
The receiver should be an unique device with 4 children; receiver (0x0719) -> 4 controllers (0x02A1).

Because the wrong PID is advertised by the drivers, some games do not automatically pick up the controller as an Xbox controller.
This was discovered through a game running in WINE [1].


NOTE: This potentially also applies to the Xbox receiver (PID 0x0291) but I can't personally verify this.

[1]: https://bugs.winehq.org/show_bug.cgi?id=39891
Comment 1 Bruno Jesus 2016-11-28 15:32:17 UTC
Using the Xbox receiver in Windows results in controllers with the controller PID, while in Linux you get the receiver PID. IMO this could be changed to make more games compatible with Wine out of the box, I can't see any negative effects.