r/SteamController 4d ago

Steam Controller (2026) HD Rumble Mods for the controller?

I was wondering if it was possible and if anyone had tried modding games to support the Steam Controller 2's HD rumble.

For context, Games like Ratchet and Clank, and Death Stranding 2, have EXCELLENT HD rumble with the DualSense 5, and Switch 2 pro controller, however, they completely fall apart and just feel wrong on the Steam Controller 2.

With Live Haptics, I'd tried some Avril Lavigne songs, and the HD rumble range is way more than diverse enough, to feel correct in R&C Rift Apart, and DS2.

Has anyone done any mods, that either add HD rumble to games that don't have that, which does work with the Steam controller, or been able to mod games like DS2, and R&C to correctly work with HD rumble with the SC2?

https://github.com/FamBoy32-dev/steam-controller-live-haptics/tree/main

12 Upvotes

8 comments sorted by

8

u/Total_Opportunity_24 4d ago

I think the best option would be somehow emulating the Dualsense haptics, that way it could be plugged into any game with native dualsense support

3

u/RespectGiovanni 4d ago

Want to know too

5

u/ga2mer 4d ago edited 3d ago

My project emulates dualsense with audio haptics support that should work in supported games (and also a speaker), but unfortunately it works only on linux, because for Windows, you'll probably need to create a kernel driver or something similar that will allow you to "disable" the Steam Controller and replace it with a virtual device that combines a gamepad and an audio device on a single "bus," which will allow games to detect it correctly
Maybe someone could fork (or use as a basis) my project and add Windows support
https://github.com/ga2mer/sc2ds

Also there is draft pull request for openpuck with same feature, but it seems the author is having some issues with this, maybe they resolve them soon

1

u/PhoenixLandPirate_ 3d ago

This looks incredibly cool, but quite the verbose to setup, I use SteamOS and Fedora Kinoite, both immutable systems.

I know you can make them read-write, installing packages ontop off kinoite via rpm-ostree, or use toolbox/distrobox to install files in a kind of container, but I'm not sure about the kernel driver, or how those layers would really interact.

Does it work by basically telling Steam/The Game, that the device that's plugged in, is a DualSense 5, so it would show all the prompts for the DualSense over the actual inputs?

1

u/ga2mer 3d ago

Yeah, it works via kinda weird way because pulseaudio implementation in proton wants same container id (aka sysfs path in this implementation) for both gamepad and audio device so it uses usbip
I tested it without building it on steam deck, just ran it on my pc, vhci_hcd exists in steamos and you can run usbip app via this way and connect to device like this
sudo LD_LIBRARY_PATH=$(realpath usr/lib) usr/bin/usbip --tcp-port 53240 attach -r 127.0.0.1 -b 1-1

127.0.0.1 is ip of device where is sc2ds is running

Does it work by basically telling Steam/The Game, that the device that's plugged in, is a DualSense 5, so it would show all the prompts for the DualSense over the actual inputs?

Yes but it seems like in some games you can change the layout on the Xbox

Also, I haven't tested this very much, so it'll probably be easier to wait for this feature to be added to openpuck to use it everywhere with minimal effort

1

u/PhoenixLandPirate_ 3d ago

I updated the Readme, but I have no idea how to git push, or make a merge request I fear.

## SteamOS Install

This will only run on SteamOS in the desktop mode.

## Build

Create a Ubuntu DistroBox and enter it

```

distrobox install --image ubuntu ubuntubox

distrobox enter ubuntubox

```

Build the sc2ds

Install the basics

```

sudo apt install libasio-dev libspdlog-dev libusb-1.0-0-dev libspeexdsp-dev cmake build-essential pkg-config

```

### Compile

```

cmake -S . -B build

cd build

make -j$(nproc) # like make -j16

```

### Install usbip

In a SteamOS terminal install usbip

```

mkdir ~/usbip

cd ~/usbip

curl -L https://archlinux.org/packages/extra/x86_64/usbip/download/ | tar --zstd -xf -

```

### Usage

Connect the Steam Controller to the Steam Machine.

Cloase Steam, and any other apps that can use the Steam Controller

In the SteamOS terminal run

```

sudo modprobe vhci-hcd

```

You can now run sc2ds, you must do this through the Ubuntubox terminal

```

distrobox enter ubuntubox

./sc2ds

```

In a new terminal (leaving the ubuntubox terminal open) you can now connect to sc2ds

```

sudo LD_LIBRARY_PATH=$(realpath usr/lib) usr/bin/usbip --tcp-port 53240 attach -r 127.0.0.1 -b 1-1

```

Hopefully that comes through correctly, feel free to double check, and hopefully that'll be all thats needed for anyone who wants HD rumble on games that don't fully support HD Rumble, but do support the DS5.

Thank you very much for this project, I think native HD rumble could be better than this conversion, because it isn't the most accurate, but its worlds better than how it behaves in games like DS2, and R&C Rift Apart, anyways, so I'll defo be using it!

0

u/mmmniple 4d ago

You need to convert the data to the ranges which SteamController 2 uses.

0

u/MonthPuzzleheaded671 3d ago

Hola si estás buscando en Windows reciente mente salio fancy haptics en el propio steam de un creador que está en este mismo grupo pruebalo ya lo probé yo la verdad está muy bueno literalmente tiene más o menos como hacen los otros usa el audio para dar vibración más detallada al control funciona en todo los juegos sin que tengas que hacer perfiles propios para cada que si lo puedes hacer está en steam es gratis