ValveSoftware / steam-for-linux

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

Steam Virtual Input's input not being detected with Emulators added as a Non-Steam Game #10734

Open the16bitgamer opened 6 months ago

the16bitgamer commented 6 months ago

Your system information

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 am trying to use Steam to run 3 Emulators DuckStation, PCSX2, and Retroarch from my Steam Link. All 3 emulators are installed via Flatpak from Flathub, however I have also tested the deb version of Retroarch as well as adding Non-Steam games installed with Lutris running under wine-ge.

My Steam Link (which is on the latest update on the stable channel), has both an Xbox One Controller, and a Dual Shock 4 controller paired with it on Bluetooth. I've also tested it by connecting the controller to the host PC via USB.

When I launch any non-steam game emulator installed from my Steam Link, the input "Steam Virtual Input" is detected, but no button or joystick movement is registered. When attempting to rebind the keys in PCSX2 or DuckStation nothing is detected. The only time this isn't the case, is when I connect my Xbox controller to my PC via a cable.

However when I enable "Steam Input" or the Xbox Controller is connected to the Steam Link, no button or joystick movement is registered.

This is True for both Emulators installed via Flatpak, or natively, as I tested with Retroarch installed via my package manager (with assets). To best see this use a PlayStation controller as it uses steam inputs by default.

With that said, Steam still detects the controller, since when I hit the guide button, and press the d-pad I can hear the Steam GUI in behind the emulator.

Steps for reproducing this issue:

  1. Connect a PlayStation Controller (or set you Xbox controller to use Steam Input)
  2. Open Steam
  3. Install Retroarch either through Flathub or through your package manager
  4. Add retroarch to steam as a non-steam game
  5. launch retroarch via steam
  6. Try to navigate to quit Retro arch with the connected controller using steam inputs

The Expected Result is Retroarch will showing 2 messages starting Steam Virtual Input is being used as Controller 1, but no button input will be registered.

Workarounds:

1) Disabling or using a Controller without Steam Input will allow these emulators to work. Bluetooth may work, but is untested. This work around does not work with a Steam Link.

2) Install the steam version of Retroarch and point the directories at the Flathub version. Still is limited since DuckStation nor PCSX2 has a up to date release on Retroarch.

kisak-valve commented 6 months ago

Most likely a duplicate of #10430.

ahallrq commented 1 week ago

Having the same issue with pcsx2 and xemu. Steam's virtual controller won't work in the flatpak versions for me but will with the appimage binaries.