PC [Linux] Latest kernel breaks PS4 controller support

Discussion in 'Bug Reports' started by nursetabs, Mar 11, 2017.

  1. nursetabs

    nursetabs Ready for your shot?

    Location:
    Lab 8 (Empty)
    Valentine
    Hey all,

    After upgrading to the latest version of the Linux kernel (4.10.1) on my Arch install, Skullgirls has stopped detecting my PS4 controllers over USB. The controllers are picked up by the OS (they clearly post in the journal and dmesg) but Skullgirls does not list them in "Choose Controllers", nor does it accept any inputs from the controllers (keyboard still works). I can confirm the fault happens in the current Beta build, current Retail build and the older Humble Bundle DRM free build.

    Booting an older kernel (4.9.13) allows Skullgirls to pick up and use the PS4 controller as normal. For reference, here's a sample of dmesg from when the controllers are plugged in on each kernel:

    [Linux 4.10.1]
    [ 4540.385631] sony 0003:054C:05C4.0005: Using modified Dualshock 4 report descriptor with gyroscope axes
    [ 4540.391362] input: Sony Computer Entertainment Wireless Controller Touchpad as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:054C:05C4.0005/input/input24
    [ 4540.448031] input: Sony Computer Entertainment Wireless Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:054C:05C4.0005/input/input23
    [ 4540.448508] sony 0003:054C:05C4.0005: input,hidraw2: USB HID v81.11 Gamepad [Sony Computer Entertainment Wireless Controller] on usb-0000:00:14.0-2/input0


    [Linux 4.9.13]
    [ 346.330725] sony 0003:054C:05C4.0002: Using modified Dualshock 4 report descriptor with gyroscope axes
    [ 346.342780] input: Sony Computer Entertainment Wireless Controller as /devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:054C:05C4.0002/input/input15
    [ 346.343058] sony 0003:054C:05C4.0002: input,hidraw0: USB HID v1.11 Gamepad [Sony Computer Entertainment Wireless Controller] on usb-0000:00:1d.0-1.3/input0

    I have tested this on two different PCs on USB 3.0 and USB 2.0 ports. Both have the same issue. If anymore information is required, please let me know.

    EDIT: I forgot to mention, the controller works on the latest kernel in other games/emulators. Only Skullgirls seems affected so far from my testing.
     
    Last edited: Mar 11, 2017
  2. nursetabs

    nursetabs Ready for your shot?

    Location:
    Lab 8 (Empty)
    Valentine
    Additional, I also tested the controller by pairing it using Bluetooth. Once again Skullgirls doesn't detect it on the latest kernel but can detect and use it on 4.9.13.
     
  3. nursetabs

    nursetabs Ready for your shot?

    Location:
    Lab 8 (Empty)
    Valentine
    I'm pleased to report I was able to fix it! After running a tool called "controllermap" I was able to generate a GUID for the controller, add it to the "gamecontrollerdb.txt" file in the root game directory which restored full PS4 controller functionality in Skullgirls on the latest kernel. Here is the generated GUID:

    030000004c050000c405000011810000,Sony Computer Entertainment Wireless Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,
    030000004c050000c405000011810000,Sony Computer Entertainment Wireless Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,

    EDIT: This fix appears to work on Beta, Retail and the older DRM free build.
     
    Last edited: Mar 11, 2017
  4. nursetabs

    nursetabs Ready for your shot?

    Location:
    Lab 8 (Empty)
    Valentine
    OK, one last update, this looks like an upstream issue (possibly caused by this). According to this reddit thread it actually has affected a number of games which use SDL2 for controller input. A commit was added to SDL2 here which should hopefully fix it in the near future. So my fix might only be temporarily required but i'm not too certain.

    I'll leave it up to the experts from here.
     

Share This Page

Facebook:

Users Viewing Thread (Users: 0, Guests: 0)