Steam Retroarch

This time we are going to install #RetroArch to #SteamLink device.You can download the RetroArch with Cores package from the link below;https://buildbot.libr. Apr 07, 2020 RetroArch is the main program that will help you run the games in the emulators. Steam is the program that we’ll use to stream the games running on the PC to the living room TV and our smartphones using Steam Link. Finally, we’d use Steam ROM Manager to add the retro games to the Steam library.

Installing Ice

To install Ice, we need to download it and extract it into a folder. I started an ‘Emulation’ folder to store this set up neatly.

Download the zip from the Ice Site, or perhaps check out the Ice Github site for an update. As of writing the app hadn’t been updated in a number of years, unfortunately, however the old app did fine for the below job.

Extract the zip into Emulators/Ice

We will come back shortly to configure Ice, it will not do anything yet.

Customise Ice Config

There are 3 files to modify in RetroArch. Note the general way Ice works is to browse your ROM directory, match each game to a console entry, link the required emulator for the console, and build a shortcut into steam based on the parameters for the emulator selected. It will then create, edit or delete ‘Non-steam shortcuts’ in steam for each game, and also attempt to download cover art.


The only thing that really requires editing here is the ROMs Directory to match the location of your ROM folder.


The best way to start a game neatly is by command line, most emulators will take command line arguments to pick the core, ROM, set fullscreen, etc.


For example, to run a RetroArch game now we could use the command line (Win+R, enter ‘cmd’) to run a snes rom by entering:

RetroArch.exe -f -L .coresbsnes_balanced_libretro.dll

Which would load RetroArch instantly in full screen, load the bsnes emulator for Super Nintendo, and then load the ROM ‘’. RetroArch is happy to run with ROM’s that are in zip files.

Enter a list of your emulators as you set them up. For this example, let’s add in the bsnes emulator.Ensure you change the folder paths to match your Retroarch location.

The command will take the following variables:

Steam Retroarch

Looking the RetroArch documents, we want to pass the -f argument to launch into fullscreen, the -L argument with a core path to tell RetroArch which core to emulate the ROM with, and then the ROM itself. The below will be the entry for this Super Nintendo emulator.

For example, the above setup would instruct Ice to build the following command if it was parsing for a game ROM located in

D:EmulationRetroArchretroarch.exe -f -L d:EmulationRetroArchcoresbsnes_balanced_libretro.dll

Repeat the process for all the emulators you’ve installed. Note the Ice site does have some command lines listed for some emulators to help get started. Each emulator will have a different command line set.


In this file, we need to list the consoles we want to setup. Ice will use the details here to create folders within the ROM folder setup in config.txt. It will also use the names here to link each game to a category in Steam to allow for easy sorting by the console of the game.

This might feel like doubling up as you might think that we could just do it all in one file, but separating the consoles and emulators allows you to link one emulator setup to multiple consoles if the emulator supported it.

Add a block as below for each console you want to setup. Ensure you get the spelling right and ensure the entry for the emulator is a match for the heading for the emulator you setup in emulators.txt

Ensure you have the correct extension listed here, as it is easy to forget to change it. If you have a .iso game file and you have forgotten to change it from .zip for example, Ice won’t find the game.

We should now have a working Ice setup.

Copy ROM’s

Steam Retroarch

Now just to select some ROMS and copy them into the correct folders. I would suggest letting Ice run once as it will create folders in the Emulation/ROMS/ folder for each console you have listed, using the nickname listed for the folder name.

Then copy ROM’s or whichever file type the game dump comes into the correct folder.

Steam Emulator

Run Ice

Ensure Steam is closed and run Ice and check the text that comes up at the command line for errors. You should receive a listing that it has detected all the consoles and emulators listed. It will then comment on linking each individual game that has been found, finally finishing up by downloading cover art.

If anything is missing from the output check the relevant config file.


If it was successful when you open steam you will be greeted with a list of games.

Retroarch Steam Banner

Browse for missing cover art

If Ice couldn’t find cover art for your game, you may need to grab some manually. Find and download a custom one (or even make some and share them back to the community?) at the below links:

  • [r/steamgrid][]
  • [][]

The image should be 460x215. Once downloaded, switch to grid view in Steam, Right click and select Set custom image. Browse to the location of the custom image and select it.

Steam Retroarch Login

You may need to change from .jpeg to .png depending on your file type in the file selection dialogue.