I recently purchased a Steam Link and a Steam Controller for three different reasons. Firstly I liked the idea of playing some two player games in the living room with the misses and friends when they come over. Secondly I knew I could stream movies to my living room straight from my desktop replacing the need for my Apple TV box. Thirdly I wanted to see if it is possible to stream to Twitch from my living room using a webcam connected to the Steam Link, this would be truly awesome!
Let’s start with a brief history of my gaming life!
For years I invested a ton of money into new games consoles and the game titles that came with them. In my lifetime I have owned nearly every major console that was released, there are a few fringe consoles like the NeoGeo that I never owned but the main bulk of them have had me play them for hours and hours. I have also spent a ton of money on personal computers, laptops and upgrades year after year.
Lets take a look at the consoles, computers and handheld gaming devices I have owned over the past 30 years:
Ajax TV Game
ZX Spectrum +2
Nintendo Entertainment System
Sega Master System II
Commodore Amiga 2000
Sega Genesis Mega Drive
Super Nintendo Entertainment System
Nintendo GameBoy Color
Sega Game Gear
Microsoft Xbox 360
Why did I stop buying consoles?
I never owned a PS4 or an Xbox One and I probably never will. I decided to permanently switch to gaming on the PC and I have never looked back. However I do miss sitting on the sofa and hammering a game pad from time to time. I also miss the fun of destroying a friend in split screen mode. I miss two player co-op games, I miss playing games like NHL, NFL and FIFA. I miss the Olympics style games. I really enjoyed the time I spent sat on the sofa playing these consoles.
The last two consoles I owned did not see much use. The Nintendo Wii and the PlayStation3. I owned a lot of games for the Wii (around 20 plus games) and I also purchased a lot of the added peripherals, fishing rods, gun holders, tennis bats, you name it I had it. For the PS3 I only really bought it because I was in need of a Blue-ray player, I own Call of Duty: Modern Warfare 3 and Need for Speed Shift.
But the bottom line is I didn’t really use either of these consoles and I have since sold my Wii to a family friend.
Enter the Steam Link
I like the idea of having all of my games in Steam. I like that I don’t have to keep physical copies of the games that I play and that I will always have access to the library of games that I buy on Steam and they will all be in one place.
I am super interested in streaming video games and that is exactly what the Steam Link does. It is not the same as broadcasting on Twitch but it still represents a wonderful opportunity for gamers. Streaming is becoming a huge part of gaming and I think the Steam Link is a step in the right direction from Valve. At $50 for the Steam Link and $50 for a Steam Controller this is a pill which is quite easy to swallow especially as I have already invested thousands of dollars on my gaming pc.
Streaming Movies with the Steam Link
I wanted to be able to stream movies to my television from my PC. Currently I have an Apple TV box and some of the things I watch are not on Netflix or iTunes. Currently I use my MacBook Pro to stream to the Apple TV box but this involves me copying files from my desktop to my MacBook using my Samsung T3, a process which takes about 5-10 minutes. The drive is insanely fast, but still I have to go from one room to the other and back again between machines. With the Steam Link you literally stream your entire desktop screen to your television. Anything you can do on your desktop you can do on your Television. Now I just open the movie directly on my desktop and it’s streams to my TV beautifully at 1080p and at 60 fames per second.
Using a SNES emulator with the Steam Link
I recently got into RetroArch and I have fallen back in love with SNES games. Titles like Super Mario World, Rock and Roll Racing and The Legend of Zelda: A Link to the Past. Recently I worked out how to stream RetroArch to my television and now I can play Super Nintendo classics in my living room with a friend like it was 1991. I mean this by itself is simply amazing.
You can stream on Twitch using the Steam Link
I also managed to stream to Twitch from my living room using the Steam Link, admittedly I ended up using two active USB cables for the webcam but still I achieved what I wanted. I made a video diary about how that went and I will release it soon on my YouTube.
A great way to save money and invest in the future!
I have already spent thousands of dollars on my gaming pc and being able to leverage that power in my living room for just $100 has been amazing. After just 2 hours I was able to honestly say that it was a great investment. Now I know spending $100 is not how you save money, but I see desktop streaming as a huge part of the future, eventually games will even exist just in the cloud and local hard drives probably wont even be needed.
The Final Word
I am super happy with my Steam Link. It’s not perfect but it is a step in the right direction. You will have issues, for example sometimes I have to visit the other room and click something because the Steam Link looses it’s focus. You will probably have to run the Steam Link over Ethernet or PowerLAN adapters. People have reported issues with Wi-Fi. When the Steam Link works it is brilliant and it does work 99% of the time.
I only recommend buying one Steam Link Controller as it was designed to replace a mouse and keyboard and I think there are other better controller options out there. I currently own a DS4 Controller an Xbox PC Controller and an 8bitdo SFC30 all of which work brilliantly and where applicable with Bluetooth.
If you are looking at buying a Steam Link I think you will be happy as long as you have good connectivity. If you are hardcore PC gamer I think you will find the added investment of the Steam Link something which brings a huge amount of value for relatively little money. Plus you will save thousands of dollars on games in the future.
Yesterday was a wonderful day, I finally got my Steam Link working flawlessly with RetroArch and a PlayStation DualShock 4 Controller on the big screen in my living room. It was my third attempt at getting an emulator to work with the Steam Link and now I can teach you exactly what I did and what I have learned over the past week.
Since I got my Steam Link I have been obsessed with the idea of running old school games like Super Mario World for the SNES and Sonic the Hedgehog for the Sega Genesis (MegaDrive). I saw some people had done it already so I knew it could be done, but the tutorials out there leave much to be desired and can be confusing and over complicated at best.
I will try in this article to keep things simple. I will explain some of the basic concepts that you need to understand to get this working. If you have any questions please leave me a comment and I will try to help.
How to run emulators on the Steam Link
We will be using RetroArch, which is creating quite a bit of buzz in the emulator world right now because it allows you to control multiple emulators and works on multiple platforms. RetroArch is kind of an emulator manager, it is more than that but for the purpose of this article it allows you to have multiple emulators all under one interface.
Then we will use a piece of software called Ice to create the bridge between RetroArch and the Steam Platform. Once we have RetroArch and Ice configured we can use our Steam Link to launch emulators and play retro games directly from Steam in Big Picture Mode with a seamless integration.
Where to save every thing?
There are no rules where you save RetroArch, Ice or your ROM files. I will show you how I have it on my machine to make this tutorial easier to understand.
I install some of my Steam games on my extra hard drive. I have a folder there called “SteamLibrary” and this is where I install some of my Steam games. I decided I would keep all of my game files all in one place so now I have RetroArch, Ice and my ROM files all in a SteamLibrary folder on my 1TB external hard drive.
So E:\SteamLibrary\steamapps is where some of my Steam games are installed.
I then created an “Emulator Folder” under E:\SteamLibrary\Emulator so that I can store every thing connected with emulation all in one place.
Then I created:
Inside ROMs I have two more folders which contain some ROM files:
Remember there are no rules here, you do not have to have this structure and the fact that these folders are inside my Steam folder serves no relevance to the tutorial whatsoever because you can install these things wherever you wish.
First let’s download and start RetroArch
Before we think about Steam or using the Steam Link its important that we get RetroArch running first. You will need to install “RetroArch” load up a “Core” and then load some “Content”. In other words we will use RetroArch to load a console for example the Super Nintendo core then we will load a game which is also called a ROM file.
Download the latest stable version of RetroArch for Windows and unpack it into E:\SteamLibrary\Emulators\RetroArch, you will need WINRar or similar to unzip the 7-Zip file. You can choose between 32-bit and 64-bit depending on your current operating system. I use Windows 10 so I went with the Stable 1.3.2 64-bit download.
After you unpack it, launch retroarch.exe and you should see the RetroArch GUI. Now we need to download our first Core and then we can load a ROM file.
Navigate using your keyboard and follow the steps below:
Download a Core:
Settings tab > Online Updater > Core Updater > bsnes_balanced_libretro.dll
Once you have a Core downloaded you will need to load the Core.
Load a Core into RetroArch:
Settings tab > Load Core > bsnes_balanced_libretro.dll
Once you have a Core loaded you can now load a ROM file.
Load a ROM File:
Settings tab > Load Content > Select File > E:\SteamLibrary\Emulator\ROMs\SNES\Super Mario World.sfc
If all is working correctly you will see the game you just selected and you should have control using the keyboard. For a more in depth article or if you get stuck with my guide you can read Getting Started with RetroArch you can also ask questions on the LibRetro Forums and you can check the LibRetro Wiki.
IMPORTANT: YOU MUST HAVE RETROARCH WORKING BEFORE YOU CONTINUE!
Using Ice to add ROM files to your Steam Library
Once we have RetroArch working we need to create the bridge between Steam and RetroArch. To do this we will use a really awesome GitHub project called Ice created by Scott Rice. Ice will scan our ROM folders we created earlier and add any games it finds into Steam as non-Steam games. Its customizable, with a fairly low level setup. It also helps you find artwork so that your ROMs look great when you are running Steam in Big Picture Mode which is the mode launched by default when you use your Steam Link.
Configuring Ice to work with RetroArch and the Steam Platform
Download the latest version of Ice and unpack it into E:\SteamLibrary\Emulators\Ice.
There are three config files that you will need to edit to get Ice working correctly.
The reason I showed you my file structure earlier is to try and help you understand how to configure the Ice config files.
Here are my config files, you can of course configure Ice to work differently but for the purpose of this article I will show you what I have in my three config files. I have removed most of the content that comes in these files to keep the demonstration simple and to show you that some things are not needed for our particular setup. Please review the files you downloaded from the Ice website and compare them with mine. I have added some of my own comments to help you understand how these three files work together. I am currently running both SNES and Genesis/MegaDrive on my Steam Link so if you only want SNES games you can ignore the Genesis stuff but I have left it here to help show you how this stuff is working.
# My ROM Files:
# The default is ConsoleGrid (consolegrid.com/api/top_picture)
# If this field is left blank, Ice will not attempt to download images
# This [WORD] represents the category in Steam
# nickname must match you folder name in your ROMs folder
# This is the name you specify in emulators.txt
# This is the file extension of the ROMs in the ROMs folder
# Location of RetroArch.exe
# Location of SNES CORE and some launch options
command=%l -fullscreen -L cores\bsnes_balanced_libretro.dll %r
command=%l -fullscreen -L cores\genesis_plus_gx_libretro.dll %r
Ice will also grab the artwork to use for the ROM’s when in Big Picture Mode. But the ROM file name must match the name found on the consolegrid.com website.
For example I had to rename my Super Mario World ROM to “Super Mario World.sfc” before running Ice so that Ice could get the correct artwork for me.
Once you have your config files edited and pointing to the correct locations on your hard drive you must exit Steam and launch Ice.exe. If all is successful you will see a screen which looks similar to the one below.
If you have some issues with Ice you will need to read what the Ice console tells you and Google for any problems that it reports. You can also read the Ice Getting Started Guide where you can read more about the ROM folder structure and how to set custom images and icons for your games in Steam.
If Ice executed without any issues it’s time to load up Steam, launch Big Picture Mode and test if all is working correctly. Once you are happy that all is working as expected on your desktop it’s time to move into the other room and boot up your Steam Link for some awesome retro gaming fun!
It should work flawlessly once you have all the kinks ironed out.
Steam Link with RetroArch and Ice running SNES Games in Big Picture Mode
This is a dream come true for me and I hope that you are also able to play some ROMs on your Steam Link. It brings back a ton of childhood memories and I am excited to play on the Steam Link with my friends and family.
The Finishing Touch, Using the 8bitdo SFC30 Wireless Bluetooth Controller with the Steam Link
I just purchased the 8bitdo SFC30 Wireless Bluetooth Controller. I have no idea if this thing will work. I will update you here as I get my hands on it to let you know if the SFC30 works with Steam Link and RetroArch.
The Final Word
After trying for several days I truly believe that this article outlines the best setup for running emulated games on the Steam Link. Many people are using LaunchBox or BigBox as a layer in-between Steam and the emulator but this comes with it’s own issues. I personally was not able to get things working using LaunchBox, my controllers never worked and it looked horrible trying to navigate LaunchBox plus I really don’t see why you would want to use LaunchBox when you can launch games directly from Steam Big Picture Mode which looks great and it just works better.
If you add more Cores to RetroArch you simply add a few lines of code to your Ice config files and then run Ice again. If you add more ROM files you simply exit Steam and run Ice again. I love how RetroArch works independently in this setup. I can swap shaders, configure controllers and do all of that fun stuff directly in RetroArch, afterwards I just boot up my Steam Link and it works flawlessly.
I really hope you have been able to learn something today and If you have any questions, comments or praise to give, please do so in the comments below and I will try to reply.
Known issues and Frequently asked Questions
I will try to keep this article updated and if I get similar questions from people I will try to add them here as a help resource.
Where can I download ROM Files?
It is actually illegal to download ROM files. People say if you own a physical copy you can download a copy of the internet. This is not true. The copy you download is an illegally distributed copy and this is not ok. You will need to purchase a Retrode 2 and create your own ROMs using your original games. These ROMs will be backup copies of your already purchased games. You can purchase games from dkoldies.com and lukiegames.com and make your own backup files.
Issues with the Steam Controller not working with RetroArch!
I did have some issues with the Steam Controller bindings when I launched my first game and you will need to modify your Steam Controller to map it to the keyboard inputs used by RetrocArch. I actually just used my DualShock 4 controller via Bluetooth and it worked instantly with no extra setup required.
Problems when running Ice and the consolegrid API!
Originally in my ROM folder I had folder called “MegaDrive” which made Ice report that the consolegrid API was down, but in reality it just didn’t know that MegaDrive was is also called Genesis. I renamed the folder from MegaDrive to Genesis and then Ice worked correctly and grabbed the artwork from consolegrid.
Everything seems correct after running Ice but the games just wont load from Steam!
Test the ROM and the Core directly from RetroArch first, Launch retroarch.exe and make sure it works as expected before running Ice and trying to launch it with Steam. If it wont work just using RetroArch it definitely wont work using Steam. During the setup process I had downloaded the bnes_libretro.dll it took me a good thirty minutes to realise that I had downloaded a NES Core instead of a SNES Core which prevented it from running in RetroArch. I switched to the bsnes_balanced_libretro.dll and then it worked as expected.
Games launch correctly but my controller does not seem to work!
It seems sometimes that if you have a controller plugged in to your desktop PC, RetroArch gives priority to that controller and then the controllers connected to the Steam Link don’t seem to work. Unplug any controllers from your desktop before launching your games in Steam.