this post was submitted on 17 Aug 2023
28 points (93.8% liked)

Steam Deck

14884 readers
478 users here now

A place to discuss and support all things Steam Deck.

Replacement for r/steamdeck_linux.

As Lemmy doesn't have flairs yet, you can use these prefixes to indicate what type of post you have made, eg:
[Flair] My post title

The following is a list of suggested flairs:
[Discussion] - General discussion.
[Help] - A request for help or support.
[News] - News about the deck.
[PSA] - Sharing important information.
[Game] - News / info about a game on the deck.
[Update] - An update to a previous post.
[Meta] - Discussion about this community.

Some more Steam Deck specific flairs:
[Boot Screen] - Custom boot screens/videos.
[Selling] - If you are selling your deck.

These are not enforced, but they are encouraged.

Rules:

Link to our Matrix Space

founded 3 years ago
MODERATORS
 

As mainly a console gamer over the years, I've become quite used to playing with a controller that has vibration. I feel that this is one thing the Deck is missing out on.

So I'm wondering if it's possible to somehow connect up a small vibration motor (externally) that can be connected to the Deck, and have it recognised as a controller?

Possibly more effort than it's worth but would be interesting to see if anyone has any ideas.

you are viewing a single comment's thread
view the rest of the comments
[–] dan1101@lemm.ee 3 points 1 year ago (1 children)

Seems very doable, would just need a custom driver for the built-in controls that implements vibration.

[–] OmegaMouse 1 points 1 year ago (3 children)

How difficult would it be create a driver like that? Would someone with virtually no coding experience have any chance?

[–] dan1101@lemm.ee 4 points 1 year ago* (last edited 1 year ago) (2 children)

As a programmer that has little to no idea how to program a driver, I think it's basically zero chance. It would take a LOT of research and learning. Define the problem, choose an appropriate language, choose and install the programming tools, learn how to program a device driver, learn about controller hardware, learn about Linux, learn the programming language, learn about Steam Deck, write code and test probably hundreds or thousands of times. If I were to wildly speculate I'd say it would be several months starting with basically zero knowledge but having time, will, and aptitude.

[–] OmegaMouse 1 points 1 year ago (1 children)

Ah, I would definitely struggle then! I guess my most realistic options would either be to take apart the Deck and replacing the existing motor with a stronger one, or hope that someone smarter than me has a similar idea and can code a driver

[–] CalcProgrammer1@lemmy.ml 4 points 1 year ago

The Deck vibration isn't an ordinary motor like most console controllers use. It's a haptic feedback engine built into the touchpads. Basically it's kind of like a speaker - a coil (on the touchpad surface) placed over a fixed magnet. Instead of vibrating a cone like a speaker would to make sound, it vibrates the touchpad in a very precise way to mimic clicking and other haptic effects, but the downside is that it isn't as strong as just putting a spinning weight on a motor and making it go, which is what most controllers do.

[–] vaseltarp@lemmy.world 1 points 1 year ago (1 children)

I think OP thought you meant a software driver but you meant a hardware driver, didn't you?

[–] dan1101@lemm.ee 1 points 1 year ago

I don't know LOL. My experience is mostly with Windows, I assume things are different with Linux.

[–] CalcProgrammer1@lemmy.ml 3 points 1 year ago (1 children)

The hardware can be as simple as a microcontroller with two motor drivers. The software would require some work though as you would have to somehow redirect the vibration commands from the game to go to your custom motor driver rather than the built-in controller (or split it to both). The other issue is providing power to your contraption.

I tried adding RGB lights to my Deck and modded in a microcontroller board with some LED strips. I found an interface to send data from the Deck to my microcontroller to control the LEDs (using some I2C pins I found) but I ended up killing a chip on my Deck's motherboard by pulling too much power from the 5V rail on the controller PCB. Motors also consume a lot of power so finding a safe power source for this mod would run into the same issue.

If you do attempt such a mod, don't try to draw power for the motors off of the integrated controller PCB. You run the risk of overloading the supply for it on the motherboard, and repairing that is messy.

[–] OmegaMouse 1 points 1 year ago (1 children)

Thanks for this info. I think a hardware mod and/or software coding for this would be beyond my understanding.

Something externally plug and play would be amazing, but I doubt such a product exists.

[–] CalcProgrammer1@lemmy.ml 2 points 1 year ago

Making a rumble pack type accessory that clips on the back wouldn't be too difficult from a hardware perspective, just a rumble motor and an Arduino with a type C connection would work fine, but the software involved to redirect just the rumble commands from the Deck controller to the rumble pack without also affecting the control input could be challenging. I'm not entirely familiar with how vibration is handled on Linux game controllers.