Steam Integration

Adding your emulated games to Steam with artwork and full library integration.

Overview

Steam can launch more than just Steam games. You can add any application as a "Non-Steam Game" and launch it from your Steam library. With the right setup, your emulated games appear just like native Steam games, complete with artwork and controller configuration.

Steam ROM Manager (SRM) automates this process. It scans your ROM folders, matches games to artwork, and adds them all to Steam with one click.

Why Add Games to Steam?

Unified Library

All your games in one place. Browse your entire collection in Gaming Mode without switching between different launchers.

Steam Input

Access Steam's controller configuration for any game. Create custom layouts, use touchpads as mice, configure gyro, and more.

Artwork and Presentation

Beautiful cover art, backgrounds, and logos make your library look professional. It does not feel like a hacked-together solution.

Play Time Tracking

Steam tracks how long you play each game. Useful for seeing which games get the most attention.

Screenshots and Recording

Steam's screenshot and recording features work with non-Steam games. Press the screenshot button and images save to your Steam library.

Steam Overlay

Access the Steam overlay in emulated games. Chat with friends, browse the web, or check guides without leaving the game.

Steam ROM Manager

Steam ROM Manager (SRM) is the tool that makes Steam integration work. EmuDeck includes it pre-configured. RetroDeck users can install it separately or use ES-DE as their primary launcher.

What SRM Does

  1. Scans your ROM folders for game files
  2. Matches games to entries in SteamGridDB (artwork database)
  3. Downloads cover art, backgrounds, logos, and icons
  4. Creates Steam shortcuts that launch games directly in the correct emulator
  5. Configures launch options with appropriate flags

Where to Get SRM

  • EmuDeck users: Already installed. Access it from the EmuDeck application.
  • RetroDeck users: Included since version 0.9.0b. Access it from the Configurator under Steam Tools.
  • Manual install: Available from the Steam ROM Manager GitHub releases.
RetroDeck Native Steam Sync

RetroDeck also has a simpler built-in option called Steam Sync. Instead of using Steam ROM Manager, you can mark games as favorites in ES-DE and they automatically sync to Steam with artwork. See the RetroDeck Steam Sync section below for details.

Using Steam ROM Manager

Step-by-Step Process

  1. Close Steam
    Steam must be closed for SRM to modify your library. SRM will prompt you to close it.
  2. Open Steam ROM Manager
    Launch SRM from EmuDeck or your applications menu.
  3. Check Parsers
    On the left sidebar, you see a list of "parsers" (one per system). Enabled parsers have a toggle switched on. Disable any systems you do not want in Steam.
  4. Click Preview
    The Preview button is in the top left. Click it to scan your ROMs.
  5. Wait for Scanning
    SRM finds your games and downloads artwork. This can take several minutes for large collections.
  6. Review Results
    You see a grid of games with their artwork. Check that games are matched correctly.
  7. Fix Missing or Wrong Artwork
    Click on any game to see alternative artwork options. Select the correct one if the automatic choice is wrong.
  8. Save to Steam
    When satisfied, click "Save app list" in the top right. This writes the shortcuts to Steam.
  9. Restart Steam
    Open Steam. Your games now appear in the library.
Incremental Updates

When you add new ROMs, run SRM again. It only adds new games; existing entries are not duplicated.

Managing Artwork

Artwork Types

Steam uses several image types for each game:

Type Where It Appears Dimensions
Grid (Portrait) Library grid view, Collections 600 x 900
Grid (Landscape) Recent games, Big Picture 920 x 430
Hero Game detail page background 1920 x 620
Logo Overlaid on hero image Varies
Icon Taskbar, running games Varies

SteamGridDB

SRM downloads artwork from SteamGridDB, a community-driven database of game artwork. Most popular games have multiple art options to choose from.

Fixing Missing Artwork

If a game has no artwork:

  1. In SRM preview, click the game
  2. Use the search box to find the correct game
  3. Select from available artwork

If no artwork exists on SteamGridDB, you can:

  • Upload your own artwork to SteamGridDB
  • Create custom artwork using image editing software
  • Use the game box art or screenshots

Custom Artwork Manually

You can set artwork directly in Steam:

  1. Right-click the game in your library
  2. Select "Manage" then "Set custom artwork"
  3. Choose an image file

Understanding Parsers

Parsers are templates that tell SRM how to handle each system. Each parser defines:

  • Where to find ROMs
  • Which file extensions to look for
  • Which emulator to use
  • Command line options for launching

EmuDeck Parsers

EmuDeck creates parsers for every supported system. They are pre-configured to work with EmuDeck's folder structure and emulator choices.

Enabling and Disabling Parsers

Toggle parsers on or off based on what you want in Steam:

  • Disable parsers for systems you do not have games for
  • Disable if you prefer to launch from ES-DE or another frontend
  • Enable all systems you want directly accessible from Steam

Parser Settings

Click a parser to see its settings:

  • ROMs directory: Where your games are located
  • Executable: The emulator used to run games
  • Command line arguments: Flags passed to the emulator
  • User's glob: File patterns to match (e.g., *.sfc, *.smc)

Steam Collections

Steam Collections help organize your library. You can create collections for:

  • Individual systems (SNES, PlayStation, etc.)
  • Genres (RPGs, Platformers, etc.)
  • Status (Currently Playing, Backlog, Completed)

Creating Collections

  1. In Steam library, click the + next to Collections in the sidebar
  2. Name your collection
  3. Drag games into it, or right-click games and add to collection

Dynamic Collections

Steam can auto-sort games based on criteria. However, for emulated games, manual collections work better since Steam does not know their genres or other metadata.

Controller Configuration

One major benefit of Steam integration is Steam Input. This gives you complete control over how your controller works in each game.

Accessing Controller Settings

  1. Launch a game through Steam
  2. Press the Steam button to open the overlay
  3. Select Controller Settings (or the controller icon)

Per-Game Configuration

Each game can have its own controller layout. Useful for:

  • Mapping touchpads for DS games
  • Setting up gyro for motion-control games
  • Creating system-specific button layouts
  • Adding quick-access to emulator menus via back paddles

Community Layouts

Other players share their controller configurations. Browse community layouts for popular games to find optimized setups.

EmuDeck Controller Profiles

EmuDeck installs controller profiles for each system. These are automatically applied to games. Profiles include:

  • Hotkeys for save states
  • Quick menu access
  • System-appropriate button mapping
  • Touchpad and gyro configuration

RetroDeck Steam Sync

RetroDeck has its own built-in Steam integration that is simpler than Steam ROM Manager. Instead of importing your entire library, it syncs your favorite games automatically.

How It Works

  1. Mark games as favorites in ES-DE
    Navigate to a game and press the appropriate button to favorite it (usually Y). A star icon appears on favorited games.
  2. Exit RetroDeck
    When you quit ES-DE, RetroDeck detects changes to your favorites list.
  3. Automatic sync happens
    RetroDeck creates launch scripts and adds them to Steam with artwork from SteamGridDB.
  4. Restart Steam
    Your favorited games appear in your Steam library.

Enabling Automatic Steam Sync

  1. Open RetroDeck Configurator (from Tools in ES-DE or run it separately)
  2. Navigate to Steam Tools
  3. Select Automatic Steam Sync
  4. Enable it by selecting Yes

Once enabled, syncing happens automatically whenever you change your favorites and exit RetroDeck.

Manual Steam Sync

If you prefer to control when syncing occurs:

  1. Open RetroDeck Configurator
  2. Navigate to Steam Tools
  3. Select Manual Steam Sync
  4. Wait for the process to complete

Advantages Over Steam ROM Manager

  • Simpler: No parser configuration needed
  • Curated library: Only games you actually want to play appear in Steam
  • Automatic: No need to manually run a separate application
  • Integrated: Works seamlessly with ES-DE favorites

Limitations

  • Only syncs favorited games, not your entire library
  • Currently does not support the Flatpak version of Steam
  • Games with special characters in names may have issues (parentheses and brackets are fine)
Technical Detail

RetroDeck creates launch scripts in a hidden folder at retrodeck/.sync/. These scripts are what Steam actually launches, and they in turn start the correct emulator with the right game.

Troubleshooting

Games Not Appearing in Steam

  • Make sure Steam was closed when you saved in SRM
  • Restart Steam completely (not just close the window)
  • Check that the parser for that system is enabled
  • Verify ROMs are in the correct folder with correct file extensions

Wrong Artwork

  • Click the game in SRM preview and search for the correct title
  • Check file naming - clean names match better
  • Manually set artwork in Steam if SteamGridDB does not have it

Game Launches Wrong Emulator

  • Check the parser's Executable setting
  • If multiple parsers match a file type, disable the incorrect one
  • Re-run EmuDeck to reset parser configurations

Duplicate Entries

  • Multiple parsers might be matching the same games
  • Check for duplicate ROM files with different extensions
  • Remove entries in SRM then save, or manually delete from Steam

Games Do Not Launch

  • Verify the emulator works by launching it directly
  • Check BIOS files are in place for systems that need them
  • Look at the command line arguments in the parser
  • Check Steam's Proton compatibility is not interfering (most emulators are native Linux)

Artwork Downloads Slow or Failing

  • SteamGridDB may be experiencing high traffic
  • Try again later or in smaller batches
  • Check your internet connection
Proton Note

Most emulators are Linux-native. Do not force Proton compatibility on them. If a game is not working, check that Proton is disabled for that shortcut in Steam properties.