protonscr

Cannot save my controller settings

steamopen General controller / Steam Input
ValveSoftware/steam-for-linux#9049 · opened 2022-12-30 by LuparLenz · updated 2024-01-27 · 12 comments · github
1 matching comments, n / p to jump
LLuparLenz 2022-12-30 github

Your system information

  • Steam client version (build number or date): Dec 15 2022, at 21:27:25
  • Distribution (e.g. Ubuntu): Ubuntu 22.10
  • Opted into Steam client beta?: [Yes/No] No
  • Have you checked for system updates?: [Yes/No] Yes

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist

I have a generic controller (Iqual H4200). After I try to define the buttons layout (Under General controller settings > Define layout), I try to save the changes, and steam will give the usual window asking if I want to upload those settings. Doesn't mind if I select Yes or No, the changes won't be saved. This is a problem, because there are some buttons which steam doesn't detect, (for example, if I press Y, nothing will happen), and there are others which are mixed up (for example, it detects the Right Stick Click as start.)

I also tried the same process in a Windows pc (Which detects the gamepad as a PlayStation 4 controller) with no problem. Maybe I could beat that bug if I paste the file where those configurations are saved from one machine to another. But I don't know where those files are located (and I didn't find any information researching in google)

I also started steam using the console, to see if it displayed some kind of warning or error. This is what I got:


(steam:45126): GLib-CRITICAL **: 00:10:36.713: g_main_context_pop_thread_default: assertion 'g_queue_peek_head (stack) == context' failed
Controller device closed after hid_read failure
Local Device Found
  type: 0c12 1e1a
  path: sdl://0
  serial_number:  - 0
  Manufacturer: 
  Product:      ZEROPLUS P4 Wired Gamepad
  Release:      111
  Interface:    -1

!! Steam controller device opened for index 0.
Local Device Found
  type: 0c12 1e1a
  path: sdl://0
  serial_number:  - 0
  Manufacturer: 
  Product:      ZEROPLUS P4 Wired Gamepad
  Release:      111
  Interface:    -1

!! Steam controller device opened for index 0.
No cached sticky mapping in DeactivateActionSetLayer.
(steam:45126): GLib-CRITICAL **: 00:10:46.719: g_main_context_push_thread_default: assertion 'acquired_context' failed

(steam:45126): GLib-CRITICAL **: 00:10:46.720: g_main_context_pop_thread_default: assertion 'g_queue_peek_head (stack) == context' failed
Moving back to: ShowSettingsMenu (focus: none)
Moving back to: ShowMainMenu (focus: SettingsButton)
**** Panel FavoritePages has fill-parent-flow for height, but isn't in a flowing down or up layout
DeleteFBOFreeList: Removing 96 FBO objects, total 0

(steam:45126): GLib-CRITICAL **: 00:10:56.723: g_main_context_push_thread_default: assertion 'acquired_context' failed

(steam:45126): GLib-CRITICAL **: 00:10:56.724: g_main_context_pop_thread_default: assertion 'g_queue_peek_head (stack) == context' failed

(steam:45126): GLib-CRITICAL **: 00:11:06.770: g_main_context_push_thread_default: assertion 'acquired_context' failed

(steam:45126): GLib-CRITICAL **: 00:11:06.771: g_main_context_pop_thread_default: assertion 'g_queue_peek_head (stack) == context' failed

This is what I got from Applications Logs:

(II) This device may have been added with another device file.
(II) No input driver specified, ignoring this device.
(II) config/udev: Adding input device Microsoft X-Box 360 pad 0 (/dev/input/event20)
(II) This device may have been added with another device file.
(II) No input driver specified, ignoring this device.
(II) config/udev: Adding input device Microsoft X-Box 360 pad 0 (/dev/input/js1)

I also uninstalled and reinstalled steam, and the problem persisted.

Steps for reproducing this issue:

  1. Start up steam
  2. Start Big Picture Mode
  3. Go to settings
  4. In settings go to "General Controller Settings"
  5. Go to your controller
  6. Go to "Define Layout"
  7. Make some changes
  8. Press on "Save"
  9. Upload your settings or press "No, thanks" (It doesn't mind)
  10. Your changes weren't saved

Or you can go to general controller settings without entering BPM. But the results will be the same.

Kkisak-valve maintainer 2023-01-10 github

On #9085, @dinhokusanagi asked if a controller mapping file could be generated as an alternative to resolving this issue. Steam Input uses SDL2 under the hood and this shouldn't be practical or needed. Instead, as a workaround, it should be possible to use SDL tools like https://generalarcade.com/gamepadtool/ to help generate a SDL_GAMECONTROLLERCONFIG environment variable and set that in the environment that Steam or individual games run in.

A potentially useful guide: https://www.reddit.com/r/linux_gaming/comments/9cf6ip/guide_how_to_make_all_of_your_controllers_work_at/

RRedKrieg 2023-02-02 github

I was unable to use my Google Stadia controller because of this issue, but the new big picture mode just released to stable allowed me to configure it using Settings > Controller > Test Device Inputs > Begin Test > Setup Device Inputs.

By default the triggers were unbound and the sticks controlled the triggers.

Ddinhokusanagi 2023-02-03 github

After I took a ban of a few days I found the solution of this problem.Some here said I deserved Ban, and that was great, now I wish Valve never solve this problem.thank you guys.

Kkislaykk 2023-02-25 github

I was facing this same problem , my controller is ANT ESPORTS gp310 . So i created a new mapping with the tool https://generalarcade.com/gamepadtool/ and copied the value it displayed in its console window such as this
image

and then set its value in ~/.bashrc, something like this(I did this step because environment variable was not set properly)
image

after this i started the steam via terminal and it picked up the mapping. Hope it helps every one!!!

Ggabrielwoj 2023-03-27 github

This is happening on the Windows version too (Steam build Mar 24, 2023, at 10:12:43), Windows 10 Pro 21H2 (64bits).

I have intentionally removed the left stick's functionality on my Xbox One Controller due to a massive drift problem, for all games. However, all the sudden, the "Left Stick X" option came back to normal after months of being unbound, but not "Left Stick Y". Both of them should be "---".

You can remove a bind by, for example, setting something to "Start", then setting back the proper button for "Start" on the appropriate button, this will mark the previous button as "---". This is how I did for the Left Stick, and it used to work just fine (both X and Y axis as "---").

I don't know if that's an unintended feature. Thankfully, my drift problem only affects the Y Axis, so I'm not having a problem on games I only play via D-Pad, though I still wish that moving the Left Stick left or right didn't move me in-game.

But, no matter what I do, the setting always go back to "Left Stick X = Axis 0" and "Left Stick Y = ---".

But... Eventually I want to fix this controller, and I feel like I won't be able to set back to defaults. Perhaps by disabling "Xbox Configuration Support" will make everything default again, but I would rather not try right now to lose my "Left Stick Y" setting.

I know that my post is related to the Windows version, so I'm sorry for posting if it's not valid. I was unable to find a repo for Issue Tracking for the Windows version, if said repo exists.

Ee-linc 2023-04-28 github

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/9049#issuecomment-1485929309

I also encountered this weird problem in Steam (API v020, package version 1682573004) on Windows 11 Pro 21H2. My generic Nintendo Switch Pro Controller was detected as an Xbox controller, so the A/B and X/Y button layout was misaligned with the physical buttons. I tried to change the button layout, but when I clicked on Save, it revert to the original settings and my changes were not kept.

Bbennolor 2023-05-11 github

https://github.com/ValveSoftware/steam-for-linux/issues/9049#issuecomment-1485929309

I have also encountered this issue.
While I was able to change the config at least at one point in the past it is now not possible anymore.

Behavior:

  1. Controller layout is redefined in the layout screen
  2. Controller layout is saved
  3. Controller disappears almost instantly from the list of available controllers
  4. Controller reappears
  5. Layout is unchanged.
Ee-linc 2023-05-11 github

Replying to [#9049 (comment)](https://github.com/ValveSoftware/steam-for-linux/issues/9049#issuecomment-1485929309)

I also encountered this weird problem in Steam (API v020, package version 1682573004) on Windows 11 Pro 21H2. My generic Nintendo Switch Pro Controller was detected as an Xbox controller, so the A/B and X/Y button layout was misaligned with the physical buttons. I tried to change the button layout, but when I clicked on Save, it revert to the original settings and my changes were not kept.

I've since found a solution, although I'm not sure whether it applies to the others - I followed the instructions in the user's manual of my controller to switch it from the default XInput to DirectInput mode, and Steam correctly recognised it as a Switch Pro Controller instead of an Xbox Controller. I no longer need to change the controller layout.

PPonPonTheDreambunny 2023-06-03 github

I can report that I have the same issue,

Steam: 2023-05-30T13:43:01 v020 1685488080
Windows 10.0.19045.2965

Changing anything, then pressing save, choosing to upload or not doesn't matter, the changes won't be saved.

Ee-linc 2023-06-03 github

I can report that I have the same issue,

Steam: 2023-05-30T13:43:01 v020 1685488080 Windows 10.0.19045.2965

Changing anything, then pressing save, choosing to upload or not doesn't matter, the changes won't be saved.

Just curious whether you've tried changing the controller from XInput to DirectInput or vice versa. Steam recognised my third-party Nintendo Switch controller as an Xbox controller and I couldn't save my custom layout, but changing the controller from XInput to DirectInput solved all the problems.

PPonPonTheDreambunny 2023-06-29 github

I can report that I have the same issue,
Steam: 2023-05-30T13:43:01 v020 1685488080 Windows 10.0.19045.2965
Changing anything, then pressing save, choosing to upload or not doesn't matter, the changes won't be saved.

Just curious whether you've tried changing the controller from XInput to DirectInput or vice versa. Steam recognised my third-party Nintendo Switch controller as an Xbox controller and I couldn't save my custom layout, but changing the controller from XInput to DirectInput solved all the problems.

I changed Steam to always use Steam Input for the games I need the controls changed for, the I press the menu button top right of a game, and choose to modify the input. This will go to a different page of settings which has vastly superior settings, and per-game-settings, and allows you to save as multiple layouts (the latter is rather clunky though).

Trying to modify the Steam input from Steam-settings itself as a global setting isn't working properly, is too limited, as well as just redundant. I've stopped using this and perhaps Steam should mark it as deprecated and suggest the better alternative.

Ttoris-birds 2024-01-27 github

This is happening on the Windows version too (Steam build Mar 24, 2023, at 10:12:43), Windows 10 Pro 21H2 (64bits).

I have also encountered this issue on Windows 10, Steam API v021, 1705108172 with ETS2 (Euro Truck Simulator 2). I don't know it's game dependent or not, but some settings are not saved correctly.

And I found that input configs are written to WRONG config (IGA) file occasionally.

IGA file:
partner.steamgames.com/doc/features/steam_controller/iga_file

For ETS2
game dependent configs are
[SteamDirectory]\UserData[UserID]\241100\remote\xxx_controller_config.vdf
(Not in remote\controller_config[appid]\ )

and personal configs are
[SteamDirectory]\steamapps\common\Steam Controller Configs[UserID]\config[appid(?)]\some_name.vdf

and latter (personal) ones are saved to wrong file occasionally.

Example steps

  1. Select settings for PS5 controller as a template
    (saved as controller_ps5.vdf)

  2. Edit setting in game and name it as test1
    (saved as test1_0.vdf)

  3. After some edits and reloads, input configs are saved to a wrong file. This happens occasionally.
    (saved as controller_ps5.vdf)

This might happen when game dependent values, like "game_action xxx" in ETS2 as a binding value, are set to some buttons and after some merge of templates are occurred, I guess.
Note: Game dependent values does not appear to in-game controller config screen if the original template does not contain game dependent values. So, I edited vdf file manually as a test and observed loaded/saved values and timings.

  1. Exit steam client and restart it again. And start the game
    This might load old or mixed up configs from the cloud, not from local,
    and some configs are lost or overwritten with wrong values.

Launch options

Upstream links