Steam Link

Steam Link

epitome May 22, 2022 @ 1:22pm
Steam Link SDK - Steam Controller Disconnects Every 10sec
Hopefully this is the right place for this... I've been unable to find any useful help with this issue:

I recently got into messing around with homebrew apps running directly on the Steam Link hardware using the Valve Steam Link SDK (https://github.com/ValveSoftware/steamlink-sdk). As you can see, according to Valve the Steam Controller works fine: "The SDL game controller API is recommended for Steam Controller support on the Steam Link."

I used the example from examples/sdl and a few other SDL tutorials to make a simple SDL test to get the controller working for my app. Thus far I've had very poor luck getting my app to detect the controller. I made the assumption that the controller would work with SDL using the wireless dongle only to realize after several hours that it probably only works when physically plugged in via USB (ie: Steam Controller <-> USB cable <-> Steam Link). Unfortuantely, with the physical connection, I still can't get my app to recognize the controller. Now I'm sure this is my (very old & rusty) C skills, so I'll fix my code later. This post is not about how to use SDL to recognize the Steam Controller (although, if you have experience with this any resources/insights/tips you can provide would be greatly appreciated!)

SO - as a sanity check, to make sure that the controller actually does work with homebrew apps using SDL, I compiled the PrBoom (Doom) example from examples/prboom-plus ... I made NO changes to it; I ran the script provided by Valve in the Steam Link SDK. It compiled fine; and it runs fine. The controller works too..... sort of:

The problem is... every ~10 seconds the controller disconnects and reconnects. So, every ~10 seconds or so the controller effectively goes dead and comes back up after a ~3 second reboot. The game (PrBoom, a port of Doom) can be played but this ctrlr reboot issue is extremely inconvenient and annoying and not at all realistic to expect or ignore. If I can't get the controller working I dont think I want to continue playing around with this hardware :/

Can someone please provide some insight for this? Has anyone else figured out how to get the controller working in their homebrew apps?

If it wasn't already clear, I'm not talking about trying to get the Steam Controller working on a Rasberry Pi Linux or any other desktop Linux. I'm not talking about using the controller for games using the Steam Link app on Linux.
I'm talking about using the official Valve Steam Link SDK (linked above; at the beginning of the post) to cross-compile binary executables which will run directly on the Steam Link processor/hardware (which does use a custom little version of Linux... so, I kind of am talking about using the Steam Controller on Linux with SDL.. but not in the usual way)

I will provide some debugging stuffs below but please let me know if you want something specific.
Last edited by epitome; May 22, 2022 @ 1:47pm
Date Posted: May 22, 2022 @ 1:22pm
Posts: 0