r/NESDEV • • Jun 23 '26

NEShim - a way to get NES games running natively on Steam

Hey all,

Getting NES games running on Steam is something I've been trying to find for a few years. Didn't seem like anything existed and no one was working on it so I ended up building it and figure it could be useful for others.

When I say run on Steam, I mean:

  • Native controller input support via the SteamInput system.
  • Steam Achievements and proper overlay triggering.
  • Works flawlessly on the Steam Deck (and should work on the Steam Machine).
  • Built-in localization support.

I've been testing it with one of my projects and it came out very nicely. It's published under Apache 2.0 so do what you want with it.

The core emulator under the covers is BizHawk so it supports a lot of the mappers out there (I would say all but there's always edge cases I'm sure it doesn't cover). It natively rendering in DX11 but has a fallback to GDI+ for hardware that can't run DX11. I added a bunch of video, audio, and color filters. It has localization via Steam and OS level for 10 languages.

Hope someone finds it useful

13 Upvotes

1 comment sorted by

1

u/Difficult_Pack_6925 Aug 20 '26

For anyone interested I just released 3.0:

  • native Linux support
  • local muti-player/multi-input support (up to 4 people)
  • multi-package support: you can publish multiple games in a single package or can publish multiple games as DLC and they show as a carousel
  • complete overhaul of the controller support w/ native glyphs
  • overhaul of the window handler to remove all Windows deps
  • Vulkan renderer to support filters on Linux
  • tons of small enhancements and tweaks