ValveSoftware / SteamOS

SteamOS community tracker
1.53k stars 69 forks source link

Steam input appears to stop processing input in game from the integrated controller #1071

Open unclejack opened 1 year ago

unclejack commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

What I expected:

  1. turn on the Steam Deck, have it turn on
  2. start a game & play the game

What happened:

  1. the Steam Deck turned on
  2. the game started
  3. the integrated Steam Deck controller stops sending input to the game after a few minutes

dmesg and journalctl don't show any errors at all.

This has happened several times already. I've been able to confirm the last few times that this isn't an issue for external controllers. The external controllers had their button mapped incorrectly by Steam. It seems to be an issue with the Steam Deck hardware or with Steam input.

Steps for reproducing this issue:

  1. Grab my fully turned off Steam Deck (not in sleep mode, not in standby mode)
  2. Turn it on and plug its original charger in
  3. Start Elden Ring & play for a few minutes
  4. The fans kick in
  5. The game doesn't process input from the gamepad anymore
  6. The gamepad is perfectly usable in SteamOS
  7. dmesg and journalctl don't show errors which would indicate an obvious failure
  8. Put the Steam Deck to sleep - the game still doesn't process input from the internal controller
  9. Start an 8bit 2d pixel game to check if that game is able to handle gamepad input - it does
  10. Go back to Elden Ring to check if it handles gamepad input now - it still doesn't
  11. After being kicked to the game's start menu due to "unsuitable frame rate for online gameplay", check if the integrated controller works - it doesn't
  12. Check if the touchpad and the touchscreen work as intended - they still do
  13. Restart the game to check if the game now processes input or not - it does
RodoMa92 commented 1 year ago

Yeah, on the latest main it seems that Valve screwed up the firmware updater for the embedded controller, it fails claiming it's missing a python module, crc32mod (IIRC).

This will make the firmware update for it fail to install and it seems to fall back to an older firmware release in the controller itself since it was manufactured from factory. In my case it reverted back to an October 2022 release, but to another person it actually fall back to a null version mode and the start button would stop working randomly.

You can fix the firmware updater manually installing the module and running it once to reapply the latest firmware release, but it's a little bit complicated and it would be better if Valve would fix their updater first. You can potentially fuck up your integrated controller. Mine works perfectly fine afterwards (and has a build date of end of June), but I would still not recommend it anyway if you can :P

If you want to check if you are affected from the same bug, go into system and check if the build date for the controller firmware is May/June or if it's an older date or even not present. If it doesn't makes sense, the bug is the same and Valve need to fix it with a subsequent OS update.

evelikov commented 1 year ago

The issue (or one of them at least) is that with main 3.5, the SteamOS custom package python-crcmod wasn't rebuild against the newer python. As such the import crcmod fails. That package is now removed, since there is an up-to date one in Arch itself.

Will be fixed with the next main update.

Until then, if you really need the updater to work, you can:

unclejack commented 1 year ago

The Steam Deck controller firmware on my Steam Deck has this build date: "Sat, May 13 2:43 AM UTC +02:00". This is what I see with the latest build of SteamOS.