101* things to do with an old SteamLink

I bought one of these back when they were reduced to almost nothing. I used it very little as my pedestrian desktop couldn’t stream game satisfactorily and it’s sat in the cupboard since. As I don’t like to get rid of old tech until I’ve absolutely exhausted all possible ways to repurpose it, I though I’d hoke it out and see what the community has come up with.

A few things it seems. The SteamLink wasn’t very high-powered. It was designed as a basic streaming box after all, but it runs a Linux under the hood, has a published SDK, an SSH server which is disabled by default and apps can be added from USB sticks. However it has about 1GB space in total which includes that reserved for the OS and core functionality, so realistically it’s about half that for you to install stuff on. Not much by modern standards.

Enabling ssh was quite simple. Format a USB stick as FAT32 and put a file on it.

steamlink\config\system\enable_ssh.txt

There are reports that the file can’t be empty, so just enter some text into the file and save it in the directory structure above. Turn off your SteamLink (pull the plug), put the USB stick into one of the USB sockets in the back and turn it back on. You can then SSH or SFTP to the IP of your SteamLink on port 22 using user: root and password: steamlink123

The Steam Controller I had doesn’t seem to work outside of Steam Apps so I had to plug a USB joypad into the SteamLink to have some control in apps.

Time is also an issue. The SteamLink doesn’t save system time so it’s stuck at the Unix epoch of 01/01/1970. Thankfully a poster on the Native Apps Steam forum posted a helpful trick involving grabbing the time from an ntp server on startup Steam Link : Kodi


No. 1 – A Kodi box

Didn’t have huge hopes for this. I’ve run Kodi off a variety of old Raspberry Pi’s over the years and performance was always a little lacking.

How does the SteamLink fair? Pretty badly. For a start it wouldn’t install any addons. As the space on the SteamLink is so limited I have my media on a network share. Music played on, but video struggled and was unwatchable. Moving some core folders onto network storage helped. Latest version was Kodi Leia (v18), but the SteamLink struggled with that so I removed it and installed Krypton (v17). 720p/1080p h264 works ok, bit of buffering. I wouldn’t bother with anything of higher quality.

Messing with the buffer in an advancedsettings.xml might help a bit, but I could see frustration, without resolution, coming a mile off and decided that this probably wasn’t worth the effort.

<advancedsettings>
	<network>
		<buffermode> 1 </buffermode>
		<readbufferfactor> 1.5 </readbufferfactor>
		<cachemembuffersize> 104857600 </cachemembuffersize>
	</network>
</advancedsettings>

No. 2 – A Retroarch box

I could use Steam Rom Manager on my PC and stream emulated games from Steam to the SteamLink so why try to run them natively? I dunno. Just to see if it works?

First snag I hit after installing this was that it filled up the SteamLink. With that and Kodi there was no space left for ROMs or updates.

It’s possible to mount a USB stick and run ROMs off that but I decided just to mount my archive from my server. SteamLink’s linux can’t mount nfs so I had to use Samba. I added the share to the fstab on the SteamLink and pointed it to a mount point in /mnt/. This worked until I restarted the SteamLink whereupon it deleted the mount point. I then set up a new one in the retroarch directory which stayed after reboot. Problem then was that it wouldn’t scan any ROMs because the cores weren’t installed. I had added the cores from a link in the Steam forums doe the native apps, but Retroarch wasn’t looking where I asked it to and updating them from retroarch filled the SteamLink again.

I then decided to attempt to point the SteamLink’s retroarch directory from the network as well. As it’s a slow device to begin with this is not ideal, however my network seems to be fast enough and it’s better than using a USB thumbstick to store cores, thumbnails and stuff.

I stuck to the cores I use regularly. I’m a child of the 80s in the UK so my main focus is 8 and 16-bit micros and consoles. C64, Speccy, Amiga and Gameboy, NES, SNES, Megadrive. Gameboy roms seem to run fine, I could even enable basic bilinear filtering without a noticable lag. Amiga games run on the PUAE core with a little lag and some sound distortion, SNES games only run on the SNESx90 2002 core and with graphical distortions that make the games largely unplayable.

https://steamcommunity.com/sharedfiles/filedetails/?id=1709648756


No. 3 – Moonlight

Moonlight is an open source implementation of Nvidia’s game streaming service. Some people swear by it but I’ve always used SteamLink for what little couch-streaming I do. The Moonlight GitHub has a release specifically compiled for the SteamLink.

I’d faffed around in the past with Steam Rom Manager and found it overly convoluted, not very user-friendly and pretty crap at identifying games from the Amiga and other 80s/90s micros. The one main benefit of using Moonlight is that I can set it to run Playnite from my Windows PC where all my games are sorted and tidy. Yeah, I can do that via SteamLink too, plus I get to use my Steam Controller, but the Steam interface gets in my face and, let’s be honest, the Steam Controller is crap and should be left in my cupboard until some collector is willing to pay me decent money for it.

Moonlight on the other hand is quite minimal. You connect to your machine, it lists the stuff you’ve set up in Nvidia Gamestream, you select the thing you want and off you go. No-one trying to sell you anything.

How does it fair? Fairly decently for gaming. Probably more reliably than native SteamLink as I needed to leave the room to fiddle with my desktop PC much less. Like the SteamLink software it’s still relying on your desktop PC being on and doing all the heavy lifting. I happily played a few Amiga games, such as Darkmere and Fire & Ice for about an hour. Probably the most success I’ve had with this thing so far, however it’s not doing anything a Raspberry Pi, Android/Apple TV, or even a half-decent Smart TV couldn’t do. So again, only of interest if you have a SteamLink lying around and want to give it something to do.


Conclusion

Is any of this worthwhile? Probably not. Something to tinker with and will do in a pinch if you have no other options, or if you are on a waiting list for a Raspberry Pi and want to tide yourself over until they get a new source of the precious Unicorn Horn required to make the chips.

* There might be 101 things, but I’ve only looked for a handful.

Something to say?