ValveSoftware / steam-for-linux

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

[Steam Controller] Experimental rumble doesn't work #4338

Closed YevPo closed 1 year ago

YevPo commented 8 years ago

System info: http://pastebin.com/GUZPB2J0

I updated my Steam Client to the latest beta version (24 Feb) and updated controller firmware (19 Feb). After that I tried few games with rumble support but there were no rumble.

Games I tried: Dust: An Elysian Tale, Dirt Showdown and Fez. For all those games I selected standard 'Gamepad' template and enabled 'Experimental rumble emulation' in steam controller options.

It should be noted that rumble works just fine in all those games with Xbox 360 wireless gamepad.

Kryuko commented 8 years ago

+1, same problem here. Ubuntu 15.10 64bit, GTX970 i7-3770 sudo lshw > http://pastebin.com/PiNs9FYs

Nibodhika commented 8 years ago

Can confirm, I stumbled across this while writing a simple SDL program that made controllers rumble to identify them, every other controller I tried rumbles fine, but not the Steam Controller (yes, I'am launching the program from within steam and the controller is fully functional, just no haptic feedback). SDL complains about not finding a haptic device. I've also tried it on some games like Saints Row IV with the same result.

Tried it on 3 different hardwares all running Arch Linux 64 bits (4.7.6-1).

BernardoGO commented 8 years ago

Same problem, is there a solution?

pppKin commented 7 years ago

It's been a year now and still no rumble feedback. Tested in Saint Row IV which rumbles fine with XBox One controller but not with Steam Controller. We badly need it and it would be nice to have it enabled on linux. Thank you Valve.

oolongbrothers commented 7 years ago

I can confirm this on the Alienware Steam Machine ASM100.

Aerol commented 7 years ago

Just so it's here and hopefully easier to find than it was for me; rumble emulation works under linux if you use sc-controller.

I don't have the time to dig into why this is, but maybe it'll help somebody figure it out.

blastermaster77 commented 6 years ago

This bug is stil here any ETA on a fix?

fosspill commented 6 years ago

Same issue on the newest beta firmware. Ubuntu 18.04

AlexeyProkhin commented 6 years ago

With the introduction of the new steamplay/proton, it is now more important than ever for rumble to be fixed. Is there any progress?

dubigrasu commented 6 years ago

As an irony, the rumble actually works for (some) Windows games played through Steam Play/Proton. Yes, with the Steam Controller. As an example, Red Faction Guerrilla Re-Mars-tered. Also it works for Windows games played (on a Linux PC) streamed from a Windows computer. The only situation when the Steam Controller's rumble doesn't work at all, is when playing Linux native games on Steam for Linux.

AlexeyProkhin commented 6 years ago

Unfortunately the rumble does not work for me with steam's driver at least in GtaV. Although it works great with sc-controller.

dubigrasu commented 6 years ago

Yes, like I said, it works for some. I'd say out of 10 games I tried, 7 had rumble working. But what I mean is, the basic functionality is there, as opposed with Linux native games where is none whatsoever.

AlexeyProkhin commented 6 years ago

Since there was not any word on ETA on the issue I decided to look into it myself. I have discovered that rumble definitely works for games that use Steam Controller API (@dubigrasu, thanks for pointing me to Red Faction, by the way). However, most games does not use SCAPI but rather a gamepad emulated by steam which, as it seems, does not support any haptic effects. Or at least does not properly declare to the games that it can.

Once I confirmed the rumble can be triggered I knew that somehow the rumble can be fixed without any help from steam developers. So the project sc-rumble-hack was born. It is an alternative implementation of SDL2's haptic subsystem that uses SCAPI to send rumble to a steam controller (or any other gamepad if steam has created an emulated gamepad for it).

To get it activated set game launch options:

LD_PRELOAD="/path/to/libsc_rumble_hack.so:$LD_PRELOAD" %command%

This is not an universal fix. This will work only for games that use SDL2, fortunately, this includes any game running via proton.

Also be aware the project has not been extensively tested. I have quickly tried only three games so far: GTAV, Witcher 3, native Rise of The Tomb Raider. The rumble works! (Although, RotTR, for some reason, requires putting LD_PRELOAD into RiseOfTheTomRaider.sh)

corvusd commented 6 years ago

Is really annoying that valve not give totally support to own gamepad. For me, how temporal and not ideal solution, I use Kozec SC Controller. This give rumble support, very basic but have rumble in games.

kisak-valve commented 5 years ago

Hello, per "Added support for rumble pass-through for virtual controllers. This fixes missing rumble support for any controllers opted into Steam Input, and rumble emulation support for the Steam controller." in the 2019-05-22 Steam client beta update, please opt into Steam's beta client and retest this issue.

LiamDawe commented 5 years ago

Tested today across DiRT 4, Bastion, Rocket League and BallisticNG with rumble emulation forced on with the Steam Controller and nothing.

System info: https://pastebin.com/GKQfLcsv

Vthyarilops commented 5 years ago

@kisak-valve Does this only work with Steam controllers? I have a Dualshock 3 and experience the same lack of rumble, I don't see any Pass through option in Steam Beta client and the rumble still doesn't function.

Myrddin-Wyllt commented 5 years ago

During the past month, rumble started working for me with Steam Controllers on some games. Rumble with local multiplayer was tested and is working properly for some titles, but absent or improper for others. After further investigation, the biggest issue is seemingly delayed/incomplete rumble in Proton/Wine titles. This delay might be the cause of missed rumble events.

To clarify, Steam has been configured to disable all other gamepad configuration support in my testing (i.e., Xbox, Playstation, Switch, & Generic are disabled).

I'll maintain a list of games here to help development & track progress. More games will be added as time allows. Last Updated: 2020-01-03

Fully functional titles include:

Rumble is Absent:

Rumble is Improper:

aqxa1 commented 4 years ago

F12019 and MGXP (both Proton 5.0-4) have improper rumble as well (seems to be delayed events).

kisak-valve commented 2 years ago

Hello, is anyone still experiencing this issue on an up to date system? At this point, it would be better to track any follow up issues separately.

kisak-valve commented 1 year ago

Closing as outdated.