top of page

2.4.29 / 10-05-2024

Steam Rom Manager




average rating is null out of 5
average rating is null out of 5
average rating is null out of 5

Steam Rom Manager is a bulk game importer and artwork manager for Steam. It's basically an app for managing ROMs and benefiting from what Steam has to provide. This includes using big picture mode, its overlay, controller management layout,  streaming options and much more..


Most Recent Changes



Non-SRM Shortcuts (a new Artwork Only parser to handle artwork for shortcuts not added through SRM).


Don't show artwork only apps when doing excludes (this didn't work anyway, since nothing is being added).



  • Parsing of command line arguments in executable mode for GOG, Amazon, Epic, EA Desktop, and Legendary (resolves issue 263). Previously these were being ignored. As far as I can tell UPlay, UWP, and have no capability to pass command line arguments to executables.


  • Read controller templates blocking renderer process. Should fix the issue some people have had with SRM freezing when hitting save to steam.

  • Possible error when writing localconfig.vdf to enable/disable steam input.



  • Ability to filter by artwork size for banners, heroes, and icons.

  • Ability to sort exceptions by date, old title, and new title (issue 343)

  • Option to hide steam username from preview.


  • Some newer titles missing from parser


  • Hide API options for SteamGridDB if it isn't selected as an image provider.



  • parser ⚔️(issue 352)




  • Toggle to filter by apps missing artwork (resolves issue 407)

  • Fixed

  • Renderer blocking when running XBox UWP parser


  • Filter out DMCA'd artwork.

  • Split custom variables file (issue 260). Thanks @kencinder.

  • Moved filters for preview page into a side panel.

  • Automatically download new custom variables on startup.



  • Toggle in settings to disable auto update (issue 612)

  • Capability to add EmuDeck specific features.


  • Renderer blocking when removing extraneous artwork (should resolve many performance issues when large number of ROMs are being handled)

  • Possible failure to load of View Games page if userdata/0 folder present.

  • Flatpak build process working again



  • Support for Xbox One Elite, PS5 Dualsense Edge, and Steam Controller templates (issue 555 and issue 656)


  • Glob and Glob-Regex parser would fail if roms directory was set to the root of a drive on windows. (issue 580)



  • Regression introduced in 2.4.20 resulting in ENOENT errors



  • SRM now remembers your sgdb artwork choices (caching sgdbId -> artworkId). It will remember these choices even if you delete your config/grids folder or if you change a game's app id.

  • Artwork choices are stored in SRM's config directory under artworkCache.json. Moving this file to a new SRM install will instantly reproduce your artwork choices.

  • Per parser option to backup SGDB artwork locally. Useful for parsers that experience frequent DRM takedowns.

  • Artwork backups are stored in SRM's config directory under artworkBackups/. Moving this directory to a new SRM install will allow use of the backed up artwork.


  • SRM will now always list artwork in the same order: First whatever is currently in steam if available, then artwork backups if available, then local artwork if available, then the cached sgdb image if available, then other sgdb images, then any manually added or imported artwork.



  • Ability to Enable/Disable steam input per parser (a much requested feature)

  • Ability to set appendArgsToExecutable from manual parser (resolves issue 625)

  • Controller Template information on View Games page.


  • Create grid directory in Steam if it does not already exist (resolves issue 600)



  • Ability to search games on view games page

  • Fixed

  • Styling regression on "all artwork" view in non-EmuDeck themes

  • Titles with LaunchOptions not launching from View Games page

  • Regression that prevented fix match from working on "all artwork" view.



  • View Games page, ability to see what artwork and games are currently in steam without opening steam

  • Parse Linked Execs toggle for GOG Galaxy parser, allowing the parsing of games that were not purchased in GOG but instead manually linked.

  • Many changes to the EmuDeck theme, thanks to @dragoonDorise

  • Fixed

  • EISDIR upon refresh controller templates if steam had created a directory in the controller templates folder



  • Fuzzy game name matching

  • EmuDeck theme scrollbar


  • Remove DNS resolution from within SRM



  • Image timeouts issue should be resolved. If it isn't resolved for you try lowering the batch size in settings.

  • Duplicates being added when upgrading from 2.4.14 to 2.4.15.


  • Ability to set batch size for image downloads in settings


  • Automatically retry image downloads up to 4 times.

  • DNS resolution now happens in SRM and uses cacheing.



  • Ability to add games to categories created in steam (including Favorites and Hidden!)

  • SRM now respects addition of non SRM managed games to SRM created categories, i.e. it won't delete them.

  • Global buttons added to steam directory and user accounts field in parsers.

  • Choose Account button added to user accounts field in parsers.

  • Added an SGDB search field to the fix match page in preview.

  • Include Visible and Exclude Visible buttons in preview to make adding exceptions even easier.


  • Requests library changed to node-fetch, hopefully fixing timeout issues. But I have been burnt before.


  • Fix match was somewhat broken for the artwork only (Steam) parser, wasn't setting the exceptionId correctly.

  • Subtle bug that prevented Remove All Added Entries from doing anything to categories or controllers when Preview hadn't been generated.

  • Minor issue where image index wasn't being set to zero after an image was saved to steam (making it seem like the image didn't save even though it did).

  • Graphical issue with scrollbar in EmuDeck theme



  • Filter out weird '0' userdata directories that were causing problems for people in 2.4.13. I don't have one, so I didn't catch this issue.



  • A global environment variable for the user accounts filter (planning to eventually make this parser field mandatory)

  • A noice modal to set the global user accounts filter from settings.


  • Issue where shortcut passthrough wouldn't work on a directory containing only one shortcut.



  • Exceptions now appear in EmuDeck theme


  • Use App Id instead of titles for import/export images (gets rid of title collisions and also issues with titles that have illegal filename characters)

  • Total re-work of image downloading method to remove dependence on deprecated library request. Should also hopefully fix timeout issues, as it now automatically retries (once) if an image request times out.


  • A regression in 2.4.3 that would cause import to fail for other artwork types if a grid wasn't present.



  • Some small quality of life UI fixes.



  • Show total number of batches in batch progress alerts.


  • Some small UI bugs that cropped up in 2.4.9.



  • Explanation of SRM's workflow on the preview page when no apps are present. Credit to @dragoonDorise.

  • Highlight mandatory fields in create parser.


  • Moved better-sqlite calls to a child process. This fixes crashes that have been happening since upgrading to Electron 24.

  • Re-worked module windows-shortcuts-ps to use massively less RAM when doing shortcut-passthrough (only spawn one powershell process, per parse, not one per each shortcut).

  • Increased api call timeouts.



  • Ability to comment things out in glob fields using \

  • Config presets are now grabbed by version, so that older versions of SRM (from here on out) won't break when breaking changes are made to the presets files (they also won't receive any new presets, but c'est la vie).


  • Made the whole parser clickable in the parsers list in the EmuDeck theme.


  • Exceptions ID not matching for steam parser

  • CLI would hang on generate apps if no apps were found.

  • Handling for bug in osName where an error would be thrown if powershell not found on a Windows system, issue 521

  • Handling for issue where addedItemsV2.json could be invalid json. Also made the write synchronous so this is less likely to occur.


  • Expandable set notation $()$ that could be used in the local images fields. Classic example of SRM being overcomplicated. I might bring it back if there is popular demand.

  • Skip Accounts with Missing Data Dirs option (always true now)

  • Use Account Credentials option (now set based on whether or not loginusers.vdf exists)



  • Fixed possibility of fix match creating duplicates or not working, state management changed to incorporate possibility of app id changes better.


  • Optimizations for 1280x800 screen (Steam Deck). Should stop horizontal scroll bars from appearing.

  • Improved consistency of fix match appearance with preview.



  • Ability to exclude titles from the preview! Exclusions are automatically saved as exceptions so that the user doesn't have to repeat them. If you want the title back, just go find the exception and get rid of it.

  • Ability to set exceptions based on the exact app through an exception ID, e.g. if you have two titles with the same exact name they no longer need to have the same exceptions applied.



  • Ability to fix matches from the preview 🚀! Just click the little exclamation point on the left of the app (icon subject to change), select the game and boom match fixed. Best of all, SRM will automatically save your change as an exception so that you never have to change it again in the future.

  • Exceptions are now searchable.


  • Preview is now sorted in alphabetical order of title



  • Regression in 2.4.3: SRM was not remembering the artwork choices that were already in Steam.



  • New highly simplified EmuDeck theme (only recommended for EmuDeck users as it hides parser config).

  • Everyone who has made a feature contribution is now in the about page.

  • Legacy banner images now sym-linked instead of copied (reduces storage usage by 17%)

  • Steam images become sources immediately after hitting save apps to steam. This means that if you have some (or many) SGDB requests time out you can just wait a few seconds and hit "save apps to steam" again and it will get only those images.


  • Major re-factor of parsers service, parsers component, and preview component. Preparation for new and more powerful preview.


  • Glob and Glob Regex parsers with ** now follow sym-links once more (this was broken by the upgrade to glob 9.0, which no longer follows sym links by default).



  • Ability to add artwork for unofficial source mods via the steam parser

  • Logging for when steamgriddb times out on an artwork request


  • Steam parser was broken in 2.4.1



  • Race condition bug in saving images to steam.


  • Command line interface

  • New default UI theme

  • Batched Image downloading

Unfortunately on the Windows portable version the CLI can't print anything out (see electron-builder issue 3998), but the commands still work. I am tracking this issue and will update electron-builder as soon as it is fixed.

Solves the issue where SRM would hang on "Writing VDFs" when lots of images were being added. Batching is 500 images (100 games) at a time, with ten seconds in between in order to give SGDB's servers a break.

  • Ability to filter by installed status and app type in steam parser (e.g. only get artwork for games, not tools).

  • Windows Apps capability for UWP parser.

  • Handling for DMCA'd images (SRM doesn't add the "This image has been taken down" fallback to steam)

  • MSI Installer

  • Helpful placeholders in parser fields.



  • Re-worked steam parser to no longer require apps be categorized (credit to discord user Tormak for the technique). May still change in the future

  • Bring all SRM dependencies up to date.


  • UWP Parser in cases where pulled json has special characters (credit to @tlt21 for the PR).


  • 32 bit linux application (modern versions of electron don't have prebuilt binaries for ia32 linux).



  • Enabled Chinese language, congratulations to everyone who completed the translation!


  • Bug in UPlay parser that could cause it to fail when Ubisoft left stray registry entries for Ubisoft games installed by steam. Thanks to SGDB Discord user @djib for helping to debug.


  • Made it so that the docs page returns to the intro page when clicking new parser, and otherwise changes to the main docs page for whatever parser type is clicked.



  • EA Parser works for EA Play games (will only add them in launcher mode, skips them in launcherless mode)

  • Two UWP parser fixes involving different possible structures for uwp xml and json files. Greatly increases the number of games the parser works for.

  • Fix incorrect titles bug for UPlay parser

  • Hopefully fixed path undefined bug for UPlay parser


I would just add that as it stands the UWP Parser is highly experimental -- it worked well for the single game in my XBOX Library. Please submit a Github issue or reach out on the SGDB Discord if it has trouble with your XBOX titles.


  • Launcher Mode for EA Desktop Parser

  • UWP Parser for XBox Game Pass



  • Legendary Platform Parser (working on Windows, Linux, and Mac OS)

  • Presets for EA Desktop and Legendary Parser



  • EA Desktop Platform Parser

  • Several new languages in various stages of translation. Congrats to everyone who worked on finishing the Brazilian Portuguese translation!


  • Hopefully fixed scaling issue on steamdeck where scroll bars were being added to preview page.

  • Fixed amazon games parser adding games that had been uninstalled.



  • Ability to exclude non-local artwork in exceptions


  • Image Provider resetting to SGDB even if none was previously selected



  • Ability to filter apps by parser title in addition to steam category.


  • Significant lag when transitioning from non parser tab to a parser tab, caused by cached controllers templates being destroyed. Fixed by moving them to service.

  • Category Filter options getting cleared after leaving the preview page.



  • Bug where controllers couldn't be fetched if user had a custom config whose title was a number (ugh). Credit to emu-deck Discord user emotion for discovering the bug.


  • Alphabetization for controller templates.



  • Ability to import and export artwork choices

  • Ability to override drive letter for apps running via wine/proton on Linux



  • Crowdin Localization

  • Ability to remove applied controller templates per parser (and globally in settings)


  • Vastly improved state management for controller templates

  • Totally re-worked select component to allow dynamically changing options



  • Steam Deck per-parser controller templates


  • Issue where games with special characters in their names couldn't have their controller templates set



  • Ability to set controller configs per parser (see in app documentation) 🚀


  • Steam parser was broken by December 2022 changes valve made to appinfo.vdf, see here and here. This resolves issue 443.


  • 32 bit builds for Mac OS are (possibly temporarily) discontinued. If I can fix the build issue they may return.



  • Ability to open config directory from settings.


  • Incorrect image queries for shortcut passthrough of .desktop files on Linux.

  • Fixed weird bug involving a race condition on .bind(env), resulting in the error.



  • Logging of vdf merging errors (no longer produces blank errors sometimes)

  • "Fatal preview error error" when saving app list on Steam Deck is hopefully fixed.



  • Made fully cross platform

  • Capacity to build flatpaks! (Only on linux)

  • Built in bug-reporter.


  • Better errors when SGDB can't find a matching title (no more 'Unknown Error').


  • Excluding titles and forcing a name change caused an error as of 2.3.37 Issue 308

  • .desktop shortcut passthrough now works in the flatpak version of SRM.


  • logging, since we now have the issue reporter. Application got 10mb lighter!



  • Ability to do shortcut passthrough for .desktop shortcuts on Linux.


  • Totally re-factored the executeFileParsers method to use an actually sane promise stack. As an added bonus, the refactoring allowed for per parser error logging and for exceptions to overrule the results of shortcut passthrough.



  • Added handling to UPlay parser to simply not add games whose path is not stored in the registry (thanks @CheezyFriez12 for helping to debug).

  • Shortcut passthrough for .lnk files no longer drops arguments and start dir.

  • Platform parser launcher mode arguments no longer added in launcherless mode.


  • Also log start in directory.



  • parser



  • Title sanitization yet again.

  • Epic manifests not showing Issue 297


  • Ability to handle animated artwork

  • Amazon Games parser

  • Exposed API options for SteamGridDB: style, nsfw, humor, and image motion types



  • Actually hopefully fixed title sanitization in screenshots.vdf.

  • Resolved "Fatal preview error error" when saving app list on Steam Deck

  • Resolved Steam Parser with titles that are numbers issue



  • UPlay Parser.


  • Prettied up the settings page further.


  • Now properly sanitizing the titles put into screenshots.vdf.

  • Fixed the change in 2.3.31 that prevented GOG/Epic Parser from working unless directory overrides were set.



  • Experimental parser sections. If people don't like them they can be removed, but I think they clean up the parsers significantly.

  • Manual Parser. Ability to specify shortcut info in JSON files, thanks @CarJem for the PR.

  • Global ROMs Directory environment variable.


  • Environment variables now work in parser inputs.


  • Brought settings UI more into line with the rest of the app, and added documentation.

  • Removed "Show Advanced" and "Disable Parser" (disable parser is now on the sidebar only)


Add an additional check for executables under "/var/run/host "when running Flatpak version. 


Fixed TypeError [ERR_INVALID_ARG_TYPE] when adding shortcuts to existing VDF file



  • Allow exact gameid in search title override (also added documentation).



  • Automatic Preset Updating

  • New Icon

  • Search Title Override in Exceptions Manager


  • A stray parenthesis in a preset.


  • Potential error in GOG Parser when details are missing (for now it just won't add the game).

  • Fixed existing icons not populating from grids folder.



  • GOG Galaxy parser! 

  • Epic and GOG parsers have launcher and launcher-less modes! 


  • appid Field is now set correctly in shortcuts.vdf.

  • Icons no longer can be set to exes (which would result in those exe's being copied to grids folder).



  • Ability to override manifests directory in epic parser (so that for example the Legendary store can be used instead).


  • Totally refactored parserInputs in userConfigurations and presets to allow for less clutter and more varied parsers in the future.

This release requires you to go into settings and force re-download config presets



  • Epic parser in the case where manifests file doesn't specify executable location.


  • Better UI for enabling and disabling parsers. This can still be done from within the parsers themselves but in addition there are now toggles on the navigation bar on the right, as well as an "enable/disable" all toggle.

  • Documented issue discovered by Discord user @KiwiKitten that Steam parser only works for Steam games that appear in at least one category.



  • Fixed OS Version in About page


  • Migrated to new repository as part of SteamGridDB organization.


  • Fixed local icons

  • Fixed epic parser in the case that you had previously moved your epic library


Icon support! Icons are now on equal footing with other types of artwork and can be added from SteamGridDB.



  • Updated several backend packages (for example node version went from 9 to 14.18.1 LTS)

  • Removed bluebird.


  • Logos got broken by a previous update that was using an outdated version of steam-categories. That is now fixed.


  • A dumb thing I borked in 2.3.16. Steam parser should not try to pull images for tools, ie appids like xxx_yyyyyy



  • Enabled steamgriddb image provider by default in new parsers (previously default provider was set to none)


  • Totally reworked the way SRM keeps track of known steam directories. Should fix the issue some people have been having where the "remove all" button gets greyed out because SRM thinks there are no directories to remove from.

  • Fixed issue 232



  • Possibility of steam parser breaking because of slightly different possible key in sharedconfig.vdf (thanks「easy revenge! for pointing this out)



  • Fixed default image field calling backslashes invalid


  • Default behavior is to not auto-delete shortcuts for disabled parsers

Show Previous Changes
  • To be imported soon...

bottom of page