Dualshock 4 not working Dark Souls II

I’m trying to use a Dualshock 4 with Dark Souls II. It works in Steam Big Picture Mode but once the game starts all I can do is use the trackpad to move and click the mouse. I have used the Dualshock 4 for years. I played Dark Souls II on Windows with it. Any ideas?

Did you try to look into Controller Configuration in Steam Settings? enable/disable the specific controller built-in support?

Yes. I’ve gone through the main settings and game specific settings. If I uncheck all controllers but generic then the game will read the controller but the buttons are mapped incorrectly and the camera rotates permanently.

Did you get this sorted? I have had no problems playing dark souls 2 with a dualshock 4 over bluetooth for the past 2 years.

Do you have the game-devices-udev package installed?

I have in steam controller setup Playstation controllers ticked and use just a generic layout.

I didn’t, thank you for responding. I tried a few different things. I can get the game to read the controller but then the buttons are mapped wrong. Like I said it worked in Windows for me and actually worked a few months ago but I can’t remember if that was Windows or Linux. It worked fine for some other games, NieR: Automata and Sekiro: Shadows Die Twice, on Linux. No idea what is up with Dark Souls II. I’ve read other people having similar problems but no solutions.

The trick seems to be, get steam to recognise the controller as a playstation controller, it presents it to games as xinput 360 controller and everything works fine, unless the game has native DirectInput support which I’m pretty sure dark souls doesn’t.

I have no clue what goes on at a wine and kernel level but for me dualshock 3+4 were plug and play so long as I used the steam input wrapper.

I can only recommend some light reading

https://wiki.archlinux.org/index.php/Gamepad

https://wiki.gentoo.org/wiki/Sony_DualShock

Of course the gentoo article you’ll have to adapt slightly.


Edit: on Protondb one user claims enabling steam input makes DS4 work and one user claims to have given up and used an xbox. I guess it’s just yymv.

…I’m probably bot being very helpful

You are helping plenty! I appreciate it. I just bought Spyro and the controller won’t work with it either :confused:. This must be something unrelated to the game. I’m confused because it worked before! I used this controller on Linux with NieR: Automata and Sekiro: Shadows Die Twice for certain. It will work to navigate Steam but not in the game. This instance will probably be helpful though. Thank you for the links.

From my experience, some Proton games just doesn’t process the controller well through the transition layer. For some reason it processes my controller as a mouse?

Works great in pretty much all my other games though.

I wonder if it would act differently if you try to use a Steam Controller or X-Box controller.


Maybe you can try to see if GloriousEggroll’s Proton fixes the issue. This version of Proton fixes other issues that I had in some games. Haven’t tested it for the controller issue yet though.

The controller is recognized as a mouse here as well. I can use the touchpad to move the cursor around the screen and press it for left clicks.

This is an odd solution I found on Reddit but unchecking all of the controllers in settings allowed the controller to work. Going to install Dark Souls II and see if it works for it as well.

This has to be something distinctly problematic with your setup. So many variables.

Spyro also should work just fine. (Does for me)

You’re not running steam from flatpak are you? Did you check you installed that package (game-devices-udev)? You’re not using steam-native or steam-linux-integration are you?

I do not know what flatpak is. I have both steam-native and steam-linux-integration installed as well as game-devices-udev.

Maybe you can try to disable joystick from controlling mouse and see if that helps.

https://wiki.archlinux.org/index.php/Gamepad#Disable_joystick_from_controlling_mouse

Thank you for the suggestion. I tried doing that when I first ran into this issue and it didn’t work but earlier today I thought about looking into that again and found a different solution that did work. The controller no longer works like a mouse.

Remove them

Nothing seems to have changed.