ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.22k stars 174 forks source link

beta regression: gamepadui no longer responding to PS4, PS5 controller while focused #9140

Closed smcv closed 1 year ago

smcv commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

I have PS4 and PS5 controllers (Dualshock 4 and Dualsense) paired with my Linux PC via a USB Bluetooth dongle. Before the 24th January beta, I could use the new big picture (gamepadui) with these controllers.

Since the 24th January beta, after selecting my Steam user, the only button that Steam responds to is the guide button (Playstation logo) which opens the system menu as usual; all other buttons are ignored. I can still navigate the UI with keyboard and mouse.

The controllers do work in a few places. When I am at the menu of Steam users, both my controllers do work: it is only when I have selected my user's icon that it stops working. When I click in the search bar, both controllers do work to navigate the on-screen keyboard.

After I launch a game, the controllers work correctly in the game, at least in Cyberpunk 2077 (Proton) and Into The Breach (native Linux). If I press the guide (PS) button while in-game, I get the Steam Overlay with a Steam-Deck-like visual style, and I can navigate that with both controllers (tested in Into The Breach only).

Back in the Steam client, if I go into Options -> Controller -> Begin Test, all the buttons appear to be detected correctly and make the corresponding button light up on the controller diagram, but I'm unable to exit from the test, except via Alt+F4 and then exiting Steam via the system tray icon. (While I am in the controller test UI, a prompt suggests holding circle to exit, but nothing happens when I do that, or when I press Escape or click on the menu or "circle to exit" prompts with the mouse.)

Steps for reproducing this issue:

  1. Pair Bluetooth PS4/PS5 controller
  2. Launch Steam, configured to start in Steam-Deck-style "new big picture" (same as -gamepadui)
  3. Observe controller working as expected while selecting a user account
  4. Press confirm (cross) button with my user account highlighted
  5. Try to navigate between games or launch a game, observe inability to do so
  6. Press guide (PS) button, system menu appears
  7. Try to navigate system menu with controller, cursor does not move
smcv commented 1 year ago

This is not the same symptom as #9139 (the submitter of #9139 gets unexpected results from input, I get nothing at all) but might have the same root cause.

smcv commented 1 year ago

In case it matters, I have "Enable Steam Input for Playstation controllers" enabled.

If I go into options -> Controller -> select PS4 controller -> Non-Game Controller Layouts -> Desktop Layout -> Edit, below "Current Layout" I see a layout named "Disabled", marked as created by ScottD. I'm sure I've never intentionally selected this layout (I don't think I've ever selected any custom desktop layout). When I view the details, it has no buttons mapped. Is this intended functionality? It seems this might be Valve's official configuration in disguise, because the PS4 controller's guide button chord layout also shows up as having been created by ScottD.

If I click on that layout, go to the Recommended tab, and choose "Official Layout for - Desktop Configuration", that also seems to have no buttons mapped. "Apply layout" takes me back to it being listed as layout "Disabled" by ScottD.

With the PS5 controller, below "Current Layout" I see a layout labelled "Official Layout for - Disabled" with no author listed. This time, the Recommended tab contains two layouts, "Official Layout for - Disabled" with a blue highlight, and "Official Layout for - Desktop Configuration" without. Clicking on either of those takes me to a layout with all buttons disabled.

However, perhaps all of this is irrelevant, because Steam should be using the controller directly and not going via Steam Input?

smcv commented 1 year ago

OK, this is particularly weird. The controller only works while Steam doesn't have focus!

If I Alt+Tab to another window (in my case a gnome-terminal that I ran steam from), then both controllers start working to control the Steam UI. If I click or Alt+Tab back into the steamwebhelper window, then it stops responding to the controllers.

heyrict commented 1 year ago

I've encountered exactly the same issue today. It seems that gamepadui uses the Desktop Layout rather than gamepad buttons as an input at present. One workaround is to map dpad to arrow keys, and ab buttons to Enter&Escape in Desktop Layout.

Balderick commented 1 year ago

Another workaround used by an awesome Steam for windows user is to recompile sdl3 for win32 and drop the sdl3.dll in steam folder. Launch steam with -noverifyfiles and boom has working ps4/ps5 controllers again. An explanation as to why Steam Input can not use ps4/ps5 controllers in its current state is also shared at https://steamcommunity.com/groups/SteamClientBeta/discussions/0/3763355214772582411/

This other steam for linux user is also struggling to uyse his favourite gaming devices to play games on steam. He sees the issues as linux problem due to change over for sony drivers. Which is apparently sdl3 related as kernel 6.3 brings sdl3 support. https://steamcommunity.com/app/1675200/discussions/1/3727323721762778970/?tscn=1674530038#c3757725518104361325

Steam Input is so broken for all "supported" controller types it needs a body off chassis rebuild. Or does newbigpicture bring a a completely new chassis?

@smcv there is a new controller layout mapping tool built into newbigpicture ui but unlike the old Define Layout ui (which is completely broken just now) does not have any way to select what supported controller type you want to set for that controller. There is no way to manually name each controller layout made in newbigpicture nor i sthere any way to name controller like we can for controller listed general settings everywhere else except newbigpicture. newbigpicture seems to be hardcoded to do more stuff without end user involvement. imo end users need the power back so they can tell Steam Input what to do instead of being left with game breaking issues with no option but to not use Steam client at all.
newbigpicture conflicts with all the old Steam Input stuff, you may find controller.txt and controller_ui.txt log files may shed some light on things for you. but try the new controller layout mapper to make sure Steam Input really does know where each button on your controller is.

Just can see what you are describing i have seen as well and seems like a different set of new nuances every day with more bugs and issues. Then some things get fixed next day. and then get broken the next when another update is pushed that brings other bugs.

I know how frustrating it is for us and can only imagine how hard it must be for Valve devs just now and really do hope there is light at the end of the tunnel for us all.

Just think Valve need to bring the big guns out and stop playing whack a mole.

RomanKode commented 1 year ago

Same issue here on Nobara/Fedora 37 KDE Plasma 5.26.5 Wayland, when focused on NewBigPicture(SDUI) it does not take input from PS5 controller.

lmm1191 commented 1 year ago

Same issue here on arch linux. works when not focused but is so broken. If I press down, it will skip 1 then selects the next one. Doesn't work on settings even though you hear sounds the a selection is being made (dpad is pressed)

smcv commented 1 year ago

This seems to be working now, perhaps it was fixed in the January 27th beta?

lavadrop commented 1 year ago

This seems to be working now, perhaps it was fixed in the January 27th beta?

Yes, gamepadui now registers DualShock/DualSense main action buttons. However, the new gamepadui actions involving guide button + action button don't work at all, there's no way to call the new virtual keyboard or take screenshots or even display the button combination screen.

smcv commented 1 year ago

However, the new gamepadui actions involving guide button + action button don't work at all

That's not the issue that I reported here, so please report that separately.

smcv commented 1 year ago

This seems to be reliable since January 27th.

marco-calautti commented 7 months ago

I have the latest beta, but I still have the same issue. My PS4 controller does not work in the steam ui. Only the PS button works, which opens the side menu.

smcv commented 7 months ago

@marco-calautti: The issue that was tracked here a year ago was fixed. There's a different regression for gamepads in steamwebhelper in the new betas since January 2024: see #10406.