rpcs3 icon indicating copy to clipboard operation
rpcs3 copied to clipboard

[Feature request] Implement Steam Deck Gyro Support Using a DSU Server

Open rawdatafeel opened this issue 1 year ago • 16 comments

Quick summary

Follow Up of an RPCS3 Issue and PR: https://github.com/RPCS3/rpcs3/issues/8600 and https://github.com/RPCS3/rpcs3/pull/12502

Could RPCS3 implement Steam Deck Gyro support using SteamDeckGyroDSU: https://github.com/kmicki/SteamDeckGyroDSU?

SteamDeckGyroDSU adds a buddy DSUClient to the control input list and allows these emulators to properly use the Steam Deck's gyro.

Details

I am using the RPCS3 AppImage, Build 0.0.26-14525, on the Steam Deck, SteamOS, an Arch based linux distribution. More detail here: https://wiki.archlinux.org/title/Steam_Deck.

Preface

I followed the instructions here: https://github.com/RPCS3/rpcs3/issues/12503, added the deck user to the input group, restarted the Steam Deck, and gyro does seem to pop up as a buddy device as described in the issue linked.

Image: image

However, gyro does not seem to be exposing properly and is not actually enabled in game. I've been using Folklore as a test. I am not sure if the Motion Controls menu is part of it but here's a photo of that screen (there is nothing available in the drop-down menu):

image

Other emulators, Dolphin, Cemu, Yuzu, and Ryujinx, all are able to use SteamDeckGyroDSU to properly expose gyro to the emulator: https://github.com/kmicki/SteamDeckGyroDSU.

SteamDeckGyroDSU implementation works similarly to the RPCS3 implementation of gyro linked in the issue above.

Image: image

It would be great if RPCS3 could somehow take advantage of SteamDeckGyroDSU and add gyro support for the Steam Deck.

Please describe, what part of RPCS3 would be affected by your feature:

It would be an expansion of the PR here: https://github.com/RPCS3/rpcs3/issues/12503, adding gyro support for the Steam Deck.

Please tell us, why your feature is important to RPCS3

To properly implement Steam Deck gyro support, expanding gyro support for an additional group of users.

Please attach screenshots of the feature implemented in other projects

Dolphin: image

Yuzu: image

Cemu: image

Ryujinx: image

Please provide your system configuration:

Steam Deck, SteamOS, an Arch based linux distribution. More detail here: https://wiki.archlinux.org/title/Steam_Deck.

Specs: https://www.steamdeck.com/en/tech

rawdatafeel avatar Jan 09 '23 06:01 rawdatafeel

Missing log file 🥱

Megamouse avatar Jan 09 '23 07:01 Megamouse

I'd be happy to get a log file, it wasn't specifically a game-related issue so I wasn't sure how. What log file are you looking for?

rawdatafeel avatar Jan 09 '23 16:01 rawdatafeel

well. one where you try to configure it for example.

Megamouse avatar Jan 09 '23 16:01 Megamouse

The only output I get from the log is:

E evdev: evdev TestVibration: Device [FTS3528:00 2808:1015] does not support rumble features! [large_motor = 0] [small_motor = 0] x6

rawdatafeel avatar Jan 09 '23 17:01 rawdatafeel

you're supposed to upload the log file

Megamouse avatar Jan 09 '23 17:01 Megamouse

I'm sorry, could you clarify how I get this log file?

The error message above is from clicking View, and clicking Show Log/TTY.

rawdatafeel avatar Jan 09 '23 18:01 rawdatafeel

Has there been any attention given to this?

It's currently impossible to play games that require motion controls on the SteamDeck despite the device supporting gyroscopic controls. Other emulators have implemented support for SteamDeckGyroDSU as a solution. It would be a nice feature for this project as well.

As for logs, there are none as support for the requested feature simply doesn't exist and therefore there is nothing to log.

SatorSquare avatar May 26 '23 13:05 SatorSquare

Hopefully this can be introduced at some point as also stuck on Folklore on the deck.

sagman76 avatar May 30 '23 11:05 sagman76

I am using the AppImage, yes, on a Steam Deck. Hope these help!

RPCS3.log TTY.log

rawdatafeel avatar May 30 '23 20:05 rawdatafeel

Can someone please make this happen. That's just silly that you guys expect people to plug in a ps3 controller into the steam deck and play that way.

Likkkez avatar Jul 21 '23 07:07 Likkkez

Everyone is welcome to make a pull request

Asinin3 avatar Jul 21 '23 08:07 Asinin3

I saw that reWASD implemented pressure-sensitive touchpads of Steam Deck and it's possible to emulate there virtual DualShock 3. Gyro is emulated in virtual controllers too. It can be a workaround for the problem, but it would be nice to be able to use Steam Deck's pressure-sensitive touchpads natively via DSU Server or SteamInput.

SteamInput has the ability to set thresholds for trackpad press, so I think it's possible to achieve a similar thing by adding the three thresholds (not the only one) of pressure-sensitivity, but gyro probably will need DSU Server anyway.

eVenent avatar Aug 17 '23 18:08 eVenent

Any updates to this since Aug? No one working on this behind the scenes?

huntyboy102 avatar Jan 16 '24 14:01 huntyboy102

Seems the feature was already implemented in #12503 so I don't understand why it isn't working on the steam deck. Does anyone have a workaround? I realy want to play Folklore :(

Icaruspooky avatar Jan 17 '24 16:01 Icaruspooky

Any news about this?

kutu-dev avatar Jun 29 '24 02:06 kutu-dev

At this point I'm willing to put up some kind of bounty to have this feature in RPCS3. It's the biggest flaw of this emulator on Steam Deck right now.

plrusek avatar Jul 23 '24 15:07 plrusek