Bug 153131 - Xpad exposes the wrong product ID for the Wireless 360 controllers
Summary: Xpad exposes the wrong product ID for the Wireless 360 controllers
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Input Devices (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_input-devices
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-15 11:32 UTC by Omar Pakker
Modified: 2016-11-28 15:32 UTC (History)
0 users

See Also:
Kernel Version: 4.6, 4.7
Subsystem:
Regression: No
Bisected commit-id:


Attachments

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.

Note You need to log in before you can comment on or make changes to this bug.