Steam ROM Manager is a super flexible tool for adding non-Steam games to steam in bulk and managing their artwork assets.
Added games could be ROMs for emulators, games from other stores such as Epic or GOG, or even not games at all.
Have you always wanted your notes from junior year as a category in steam?
If so that's pretty weird!
But now it's possible.
Steam ROM Manager is a versatile tool designed to allow users to add non-Steam games and other files to Steam in bulk while managing their associated artwork assets. It simplifies the process of integrating content from various sources, including ROMs for emulators, games from platforms like Epic or GOG, or even non-game files such as notes or personal projects.
Key Features:
Flexibility: Supports adding a wide variety of files, not limited to games, enabling users to organize diverse content within Steam.
Bulk Import: Efficiently import multiple items at once, saving time and streamlining the addition of large collections.
Artwork Management: Organize and manage custom artwork for added items, ensuring a visually cohesive experience within Steam.
Customization: Offers extensive customization options to tailor how imported content appears in Steam.
Audience & Benefit:
Ideal for Steam users seeking to expand their library beyond official Steam games or organize personal files within the platform. It provides a seamless way to integrate and manage diverse content, offering greater flexibility and organization within the Steam ecosystem.
Installable via winget, Steam ROM Manager is a practical solution for enhancing Steam's functionality and personalizing your experience.
README
Steam ROM Manager
Overview
Steam ROM Manager (SRM) is a super flexible tool for adding non-Steam games to Steam in bulk and managing their artwork assets and controller templates. Added games could be ROMs for emulators, games from other stores such as Epic or GOG, or even not games at all. Have you always wanted your notes from junior year as a category in steam? If so that's pretty weird! But now it's possible.
For an overview of how SRM works see here. There is plenty of documentation available in the app's built in FAQ and documentation, and if you need further help there are expert users to be found on the SGDB discord under the Steam ROM Manager category and the SRM subreddit.
Check out the releases page for compiled downloads for Windows (exe, msi), macOS (dmg), and Linux (AppImage, deb).
If you're on a Steam Deck we recommend setting everything up through , as it will install and automatically configure Steam ROM Manager and whatever emulators you want.
Steam is the ultimate destination for playing, discussing, and creating games.
Steam is a video game digital distribution service and storefront.
Steam offers features such as game server matchmaking with Valve Anti-Cheat measures, social networking, and game streaming services.
Steam automates game updates, provides cloud storage for game progress, and includes community features like direct messaging, in-game overlay functions, and a virtual collectible marketplace.
The Epic Games Launcher provides access to the Epic Games Store and Unreal Engine. The Epic Games Store is a marketplace where you can find, purchase, download and play games.
Built on feedback from players like you, the EA Desktop app is the newest iteration of our PC platform. The beta includes new features and overall improvements to power a faster, smarter, more connected desktop app.
Parsec is a proprietary freeware desktop capturing application primarily used for playing games through video streaming.
Using Parsec, a user can stream video game footage through an Internet connection, allowing one to run a game on one computer but play it remotely through another device.
Although its main focus is gaming, Parsec can also be used as low-latency desktop sharing software.
An open source video game library manager and launcher with support for 3rd party libraries like Steam, GOG, Origin, Battle.net and Uplay.
Includes game emulation support, providing one unified interface for your games.
Sunshine is a self hosted, low latency, cloud gaming solution with support for AMD,
Intel, and Nvidia GPUs.
It is an open source implementation of NVIDIA's GameStream, as used by the NVIDIA Shield.
Connect to Sunshine from any Moonlight client, available for nearly any device imaginable.
Steam is the ultimate destination for playing, discussing, and creating games.
Steam is a video game digital distribution service and storefront.
Steam offers features such as game server matchmaking with Valve Anti-Cheat measures, social networking, and game streaming services.
Steam automates game updates, provides cloud storage for game progress, and includes community features like direct messaging, in-game overlay functions, and a virtual collectible marketplace.
The Epic Games Launcher provides access to the Epic Games Store and Unreal Engine. The Epic Games Store is a marketplace where you can find, purchase, download and play games.
Built on feedback from players like you, the EA Desktop app is the newest iteration of our PC platform. The beta includes new features and overall improvements to power a faster, smarter, more connected desktop app.
Parsec is a proprietary freeware desktop capturing application primarily used for playing games through video streaming.
Using Parsec, a user can stream video game footage through an Internet connection, allowing one to run a game on one computer but play it remotely through another device.
Although its main focus is gaming, Parsec can also be used as low-latency desktop sharing software.
An open source video game library manager and launcher with support for 3rd party libraries like Steam, GOG, Origin, Battle.net and Uplay.
Includes game emulation support, providing one unified interface for your games.
Sunshine is a self hosted, low latency, cloud gaming solution with support for AMD,
Intel, and Nvidia GPUs.
It is an open source implementation of NVIDIA's GameStream, as used by the NVIDIA Shield.
Connect to Sunshine from any Moonlight client, available for nearly any device imaginable.
If you enjoy Steam ROM Manager and want it to continue to be useful consider supporting SteamGridDB's Patreon. SteamGridDB hosts all of the artwork Steam ROM Manager uses to make your Steam library the envy of the town, so we should probably help them keep their lights on.
Parsers
Parsers are the heart and soul of SRM. If Steam is the octopus, then these are its tentacles — reaching into your ROM directories and the databases and manifest files of other game stores and pulling out the games you want.
ROM Parsers
ROM parsers allow one to import shortcuts using search strings, e.g. games/${title}.@(iso|rvz), or in the case of the manual parser by specifying ROM locations directly.
Parsers
Windows
Mac OS
Linux
Description
Glob
✅
✅
✅
Parsing using simple glob style search strings
Glob-regex
✅
✅
✅
Parsing using reg-ex style search strings
Manual
✅
✅
✅
Parsing using a JSON file specifying locations
Platform Parsers
In addition to flexible importing of ROMS, SRM now has several platform parsers for importing from popular game stores:
We are open to suggestions and pull requests if you would like a platform parser added!
Artwork Only Parsers
Artwork only parsers allow you to change the artwork for existing non-SRM games. Put it simply they just change artwork, they don't add shortcuts.
Parser
Windows
Mac OS
Linux
Description
Steam
✅
✅
✅
Manages artwork for Steam Games
Non-SRM Shortcuts
✅
✅
✅
Manages artwork for Steam Shortcuts not added via SRM
For developers
Command Line Interface
SRM has a fully featured command line interface, documented in the wiki.
Building SRM
To compile this app, you'll need the latest Node.js and yarn. Every script will need to be run from the project directory.
Before running any scripts, dependencies must be installed using:
yarn install
Unfortunately, because of an issue with better-sqlite3 you will most likely also have to run yarn install after building for windows if you want yarn run start to work. Otherwise, you will likely see the runtime error better-sqlite3 is not a valid win32 application.
Scripts
All script must be run using yarn run command. For example, yarn run watch:renderer.
Script
Function
postinstall
Recompiles native apps to match Electron's NodeJS version if needed
start
Launches compiled app
watch:main
Compiles Electron app and watches for changes
watch:renderer
Compiles a renderer for an Electron app and watches for changes
build:main
Compiles Electron app in production mode
build:renderer
Compiles a renderer for an Electron app in production mode
build:dist
Runs build:main and build:renderer
build:win
Compiles an executable installer for Windows
build:linux
Compiles a deb package and AppImage for linux
build:linuxdir
Builds an unpacked linux x64 version for use with flatpak
build:flatpak
Builds a flatpak from the unpacked linux version
build:docker
build:win and build:linux joined together
build:mac
Compiles a dmg package for MacOS
Debugging an app
Run watch:main (usually once since one rarely changes anything in the main Electron process) and watch:renderer.
Each command creates separate webpack instance which will watch referenced files for changes and will recompile app.
App can be run using start script or npx electron . (if you want to test the CLI use npx electron . [command] [flags]). After every recompile by watch:renderer, app can be refreshed using Ctrl + R, however watch:main requires need a restart.
Ctrl + Shift + I can be used to launch Chrome inspector once the app is running. This works even in the release version.
For Windows
Scripts must be run in this order:
yarn run build:dist
yarn run build:win
For MacOS
Scripts must be run in this order:
yarn run build:dist
yarn run build:mac
For linux
Scripts must be run in this order:
yarn run build:dist
yarn run build:linux
For linux flatpak
Unfortunately electron-builder does not yet competently build flatpaks, and the older approach using electron-packager and electron-installer-flatpak can't handle native modules. A work-around is to use electron-builder for the packaging step and electron-installer-flatpak for the actual flatpak creation.
First you need to run yarn install -g @malept/electron-installer-flatpak (this can't be added as dev-dependency since it is not cross-platform and yarn doesn't allow optional dev-dependencies).
Then
yarn run build:dist
yarn run build:linuxdir
yarn run build:flatpak
In order for this to work you must have already installed flatpak-builder using your favorite package manager (e.g. sudo pamac install flatpak-builder) and run:
Use npx ncu to list available dependency updates, and npx ncu -u target [target] to update, where [target] is either patch, minor, latest, greatest, or newest.
Related Projects
Some other projects in the emulation-adjacent space we think you might be interested in!
Dolphin is an emulator for two recent Nintendo video game consoles: the GameCube and the Wii. It allows PC gamers to enjoy games for these two consoles in full HD (1080p) with several enhancements: compatibility with all PC controllers, turbo speed, networked multiplayer, and even more!
Dolphin is an emulator for two recent Nintendo video game consoles: the GameCube and the Wii. It allows PC gamers to enjoy games for these two consoles in full HD (1080p) with several enhancements: compatibility with all PC controllers, turbo speed, networked multiplayer, and even more!
Extend your Steam gaming experience to your mobile device, TV, VR headset or PC - all you need is a local network or internet connection. In addition, the Steam Link app now supports Remote Play Together. Now you can join games hosted on a friend's PC just by clicking a link.
Extend your Steam gaming experience to your mobile device, TV, VR headset or PC - all you need is a local network or internet connection. In addition, the Steam Link app now supports Remote Play Together. Now you can join games hosted on a friend's PC just by clicking a link.
Lovingly referred to as the Swiss Army Knife of PC gaming, Special K does a bit of everything. It is best known for fixing and enhancing graphics, its many detailed performance analysis and correction mods, and a constantly growing palette of tools that solve a wide variety of issues affecting PC games.
Lovingly referred to as the Swiss Army Knife of PC gaming, Special K does a bit of everything. It is best known for fixing and enhancing graphics, its many detailed performance analysis and correction mods, and a constantly growing palette of tools that solve a wide variety of issues affecting PC games.
Use crystal clear sound to communicate with your team mates cross-platform with military-grade security, lag-free performance & unparalleled reliability and uptime.
Use crystal clear sound to communicate with your team mates cross-platform with military-grade security, lag-free performance & unparalleled reliability and uptime.
GeForce NOW instantly transforms nearly any laptop, desktop, Mac, SHIELD TV, Android device, iPhone, or iPad into the PC gaming rig you’ve always dreamed of.
Play the most demanding PC games and seamlessly play across your devices.
GeForce NOW instantly transforms nearly any laptop, desktop, Mac, SHIELD TV, Android device, iPhone, or iPad into the PC gaming rig you’ve always dreamed of.
Play the most demanding PC games and seamlessly play across your devices.
GeForce NOW instantly transforms nearly any laptop, desktop, Mac, SHIELD TV, Android device, iPhone, or iPad into the PC gaming rig you’ve always dreamed of.
Play the most demanding PC games and seamlessly play across your devices.