protonscr

Steam input devices crashing games on startup

steamclosed Distro Family: ArchGeneral controller / Steam Input
ValveSoftware/steam-for-linux#8038 · opened 2021-09-03 by liaralabs · updated 2022-04-03 · 11 comments · github
Lliaralabs 2021-09-03 github

Your system information

  • Steam client version (build number or date): 1.0.0.71
  • Distribution (e.g. Ubuntu): Arch Linux
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

As of yesterday afternoon games which don't natively support direct input controller devices have started crashing while loading the controller profile during startup with a USB connection. As early as yesterday morning I was able to launch and play Dark Souls 3 with a Nintendo Switch Pro Controller and play without issues. I started the game again later in the evening and now the game won't even launch with the controller plugged in and will crash the game if you plug it in after loading the game.

Games which I have noticed with this behavior (crashing while loading controller profile):

  • Dark Souls Remastered
  • Dark Souls 3 Deluxe
  • Helldivers

Controllers which I can reproduce this behavior on:

  • Nintendo Switch Pro Controller, wired
  • DualSense Controller (ps5), wired

Controllers which do not crash the game:

  • Nintendo Switch Pro Con Bluetooth (however the joystick calibration is extremely wrong -- camera and avatar won't stay still in DS3)
  • xbox one, wired

Have tried various proton versions without success. I have also reproduced this issue on my Fedora 34 laptop.

Linux-LTS vs Linux-Current has no bearing on the issue.

I may be able to use the bluetooth connection as a workaround; however in it's current state, the game is unplayable with the mis-calibration.

I tried booting into my windows VM and was unable to re-create the problem in a windows environment. It's worth noting not every game is crashing -- Risk of Rain 2 continues to function completely normally with the NSW Controller

Steps for reproducing this issue:

  1. Plugin a direct input controller (in this case, Nintendo Switch Pro Controller or PS5 DualSense)
  2. Start Dark Souls 3
  3. Crash (intro videos never play)

or

  1. Start Dark Souls 3
  2. Plug in controller
  3. Crash

The behavior is the same across Helldivers, DS3 and DS:R

TThatBigBirb 2021-09-04 github

Your system information

  • Steam client version (build number or date): Sep 3 2021
  • Distribution (e.g. Ubuntu): Manjaro Kernel 5.10.60-1-MANJARO
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Fresh install of Manjaro, first thing I tested was Dark Souls 2 SotFS. It ran perfectly. Wanting to test my OS, I installed Final Fantasy 15 and it would not register my controller inputs at the main menu and crashed shortly afterward. I loaded up Dark Souls 2, a game that I know was working not 48 hours ago. It loaded to the title screen and immediately upon pressing a button on the controller, the game crashed.

I am using a Nintendo Switch Pro Controller

Steps for reproducing this issue:

FF15

  1. Plug in Controller
  2. Start Game
  3. Wait for crash

DS2

  1. Plug in Controller
  2. Start Game
  3. Press button and crash

I have since tested several games and noticed that only native linux games seem to be immune. Input devices in native linux games function perfectly.

Native games tested: Limbo, Armello, Moon Hunters

  • Armello was weird in that the controller should've worked, but it didn't. The game didn't crash though.

Additional Non-Native games tested:

DS2 Terminal Log https://gist.github.com/ThatBigBirb/29a0f5e5c4b88b8522ae4443bf783e84
FF15 Terminal log https://gist.github.com/ThatBigBirb/d969217afcd62ed16df262a06628b555
FF12 Terminal Log https://gist.github.com/ThatBigBirb/a5e668800d6fa40a4b970f6c526d3109

YYarn 2021-09-04 github

Your system information

Steam client version (build number or date): Jul 20 2021 1626824053
Distribution (e.g. Ubuntu): Manjaro Kernel 5.10.60-1-MANJARO
Opted into Steam client beta?: No
Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Using a nintendo switch pro controller. Crashes within seconds of launch with controller connected, doesn't crash without controller connected. It was working last week.

I tried a few proton versions, all to the same effect. Manjaro's steam-native package (doesn't use the bundled runtime) also doesn't change anything.

Using a duelshock 4 works and doesn't crash the game.

Rrluetzner 2021-09-07 github
  • Steam client version (build number or date): Jul 20 2021, at 22:25:57
  • Distribution (e.g. Ubuntu): Pop!_OS 21.04 - Kernel: Linux 5.11.0-7633-generic
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

I've run into the same problem running Pop OS 21 and trying to play Resident Evil Village with a wired Switch Pro Controller. Most of the times the game won't even start when the controller is plugged in. If it does start I can crash it immediately by pressing any button on the controller.

EEstard 2021-09-10 github

System Info

  • Steam client version (build number or date): Sep 10 2021, at 01:00:50
  • Distribution (e.g. Ubuntu): Ubuntu 20.04 LTS - Kernel: Linux 5.4.0-84-generic
  • Opted into Steam client beta?: yes
  • Have you checked for system updates?: Yes

Description
Similar behaviour the other reports: Games crash when attempting to use Nintendo Switch Pro Controller with a wired connection.
Tested Games: Monster Hunter Stories 2, Titan Souls

Observations:

  • The controller appears to reconnect several times when launching a game. This is indicated by multiple Controller Connected Notifications.
  • It appears as if the wrong preferences are attempted to be loaded. This can be observed by lowering the light intensity in the controller preferences. When starting a game, the light goes back to the default brightness, after the crash, it reloads the correct configuration.
  • Occasionally, the game starts but the controller loses the connection entirely and does not pass any input to the game.
  • Disabling all Controller Configuration Support, games start without crash and accept input from the controller. However, this input is not mapped correctly.
  • Using a PS4 Dual Shock Controller does not cause a crash and works as intended.
BBlupi 2021-09-14 github

Your system information

  • Steam client version (build number or date): Sep 10 2021, at 01:00:50
  • Distribution (e.g. Ubuntu): Solus - Kernel: 5.13.15-194.current
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Noticed the change since the Client update that revamped the download page. Same issue as reported, Proton games crash at start when the Switch pro controller is plugged in. In my case, Dead cells & Slay the spire. Games launch fine if the controller is not plugged in or in native version (but controller handling is bad which was my reason to use proton in the first place)
Here are some logs I collected according to https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md

Github Gist

Rrluetzner 2021-09-18 github

I managed to find a workaround for my problem with the following two Git repositories:

I neither worked on or am in any way related to these projects so if any issues arise I won't be able to help. For me it was enough to follow the steps described in the corresponding README files. I ran into some trouble with missing build dependencies which I could easily resolve by a bit of google magic.

In short:

# Build and install the hid-nintendo kernel driver
git clone https://github.com/nicman23/dkms-hid-nintendo
cd dkms-hid-nintendo

sudo dkms add .
sudo dkms build nintendo -v 3.2
sudo dkms install nintendo -v 3.2
cd ..

# Build, install and enable the joycond daemon
git clone https://github.com/DanielOgorchock/joycond
cd joycond

# Given you're using Ubuntu or another Debian derivative
sudo apt install libevdev-dev
cmake .
sudo make install
sudo systemctl enable --now joycond

As the commands might change any time in the future the safest bet is probably to just go to the repos directly and follow the instructions there. The way described here is also recommended by the Arch Linux wiki. The solution works with bluetooth and wired via USB for me. Rumble doesn't seem to be working consistently, but thats alright with me. The only additional thing I had to do was reconfigure the button mapping in Steam. I don't know if anybody else will have problems with this, but don't try to do the button reconfiguration with the gamepad directly. The only way this worked directly (for me) was highlighting the button I wanted to remap, pressing Enter on the keyboard and then the button on the gamepad.

Hope this helps.

YYarn 2021-09-21 github

I tested with older proton versions and some are actually working with dark souls.

proton 3 has some stuttering issues in dark souls for me (not as badly as in windows 10) so this isn't really a full solution but it's definitely playable.

6.3-6     broken
4.11-13   broken
4.2-9     broken (crashes with no delay, maybe different issue)
3.16-9    works
3.7-8     works
Lliaralabs 2022-02-26 github

Just some updates to this -- I think all the issues I was aware and opened this issue over have now been resolved. DS3 just started quietly working again at some point with no changes from myself.

Helldivers was still giving me issues even though DS3 was fixed, so today I removed the game's prefix and reloaded the game while running proton 7.0 and it started working again. Seems there may sometimes be artifacts stuck in your prefix that could be problematic for steam input.

If you're still having issues with specific games, maybe try backing up your saves and deleting the prefix -- may work for you.

Edit: Also at some point in my testing I switched the Desktop Configuration of my Pro Con to the Gamepad template (this reportedly fixed controllers for a lot of folks in Elden Ring); however it was the removal of the prefix that truly solved helldivers for me

Mmpdgraev 2022-02-26 github

Thanks for the heads up, I was coincidentally messing around with my switch pro controller today and noticed everything was still crashing whenever I plugged it in, however you made me realize the proton versions weren't forced to a recent version.

I've tried Elden Ring and Dark Souls 1 (which crashed without forced proton version), on bleeding edge proton and proton 7.x and both can start now without crashing. So this does seem to be fixed in recent proton versions. I did not need to delete my prefix of DS1.

Kkisak-valve maintainer 2022-04-01 github

Closing per the last couple comments.

YYarn 2022-04-03 github

I tried proton 7 and could launch the game without crashing.

Proton versions