You know what? I thought this would be hard. Two screens, touch, a mic… on Linux? But it wasn’t bad. I tried melonDS, DeSmuME, and a RetroArch core. I played real games. I fixed real hiccups. And I have thoughts.
(For an expanded, step-by-step breakdown—including terminal commands and screenshots—my full companion piece is live at I tested NDS emulators on Linux. Here’s what actually worked.)
What’s in this review
- My setup (laptop and distro)
- melonDS: fast, clean, picky about BIOS
- DeSmuME: flexible, older, but easy
- RetroArch core: pretty, awkward touch
- Game-by-game notes
- Quick tips that saved me
My setup (so you can compare)
- Laptop: ThinkPad T480s
- CPU/GPU: Intel i5, integrated graphics
- Distro: Ubuntu 24.04
- Input: mouse, touchpad, a cheap USB mic
- Controller: 8BitDo SN30 (Bluetooth)
Nothing fancy. No eGPU. No black magic.
If you’re curious about pushing a modest ThinkPad even further for emulation, the tuning guides at Freedom Penguin are fantastic.
For a broader survey that covers everything from NES to PlayStation 2 on the penguin, see my overview, My Hands-On Take: Video Game Emulators on Linux.
melonDS — my daily driver
Here’s the thing. melonDS feels like a real DS. It’s fast and clean. But it wants a real BIOS and firmware dump. That part took me a night to sort.
How I installed it:
- I used the Flatpak build. The Ubuntu repo was old.
- I dumped BIOS and firmware from my DS Lite. I used an old R4 cart and fwtool. It felt like a time warp, but it worked.
How I set it up:
- Video: OpenGL, integer scale, vsync on.
- Touch: mouse left-click = stylus.
- Mic: set to my USB mic.
- Layout: top screen large, bottom screen small, stacked.
And then I played.
Real game notes on melonDS
- Pokémon Platinum: a smooth 60 fps. Menus felt snappy. I used speed-up on long routes. No weird sound pops.
- The World Ends With You: touch swipes were crisp. I mapped a mouse side button to “L” for quick partner skills. No missed taps.
- Zelda: Phantom Hourglass: mapping and notes felt fine with the mouse. The mic worked for the candle puzzle. I did not have to “fake blow.”
- Mario Kart DS: 60 fps in races. I tested local multiplayer with two melonDS windows. It linked after I set “bind to adapter.” It took two tries, but then it held steady. (If you’re curious how Linux fares when you push heavier online titles instead of local wireless, check out I Play MMORPGs on Linux — Here’s How It Really Goes.)
- Nintendogs: the mic picked up my voice. I had to tweak mic gain in Linux. My dog learned “sit” on the second try. Cute, but loud.
What I liked:
- Fast. Most games hit full speed.
- Real mic input. No silly noise hacks needed.
- Clean UI. Layout controls make sense.
- Local wireless can work. It’s fussy, but real.
What bugged me:
- Needs BIOS/firmware, or some games complain.
- Some repo builds are stale. Flatpak saved me.
- If I drag the window too big, the bottom screen looks soft.
DeSmuME — my steady fallback
DeSmuME is friendly. It runs out of the box. No BIOS needed for most games. It feels old, but in a good way. Like a trusty wrench.
Install:
- I grabbed the package from apt. Easy. The UI looks dated, but it’s clear.
Setup:
- 3D driver: I kept the software renderer. OpenGL was hit or miss for me.
- Sound: synchronous, low latency.
- Mic: I mapped a key to “mic noise.” Handy for games that just want air.
Real game notes on DeSmuME
- New Super Mario Bros.: perfect speed. I used a CRT shader. It looked warm and nice.
- Pokémon HeartGold: fine in towns, slight dips in full 3D spots. The slowdowns were tiny.
- Elite Beat Agents: timing felt okay at 1x scale. At 2x, input lag ticked up. I turned off compositing, and it got better.
- Professor Layton: no glitches. Save states worked. I solved puzzles in bed, like a gremlin.
What I liked:
- Works without BIOS.
- Cheaty stuff is simple. Save states, speed, cheats.
- Good for 2D-heavy games.
What bugged me:
- 3D can stutter unless you tweak a lot.
- Touch feels a bit “floaty” compared to melonDS.
- The UI is busy. You get used to it, though.
RetroArch + melonDS core — pretty, but fiddly
I love RetroArch for shaders and hotkeys. The melonDS core is solid. But the touchscreen overlay felt off. The mouse mapped fine, yet the overlay buttons got in the way.
What worked:
- Shaders like xBR and Simple Scanlines make sprites pop.
- Fast, same as stand-alone.
What didn’t:
- Touch overlays clutter the lower screen.
- Setting per-game layouts got annoying.
I still use it on a TV with a controller. For touch-heavy games, I go back to stand-alone.
Sometimes, though, you’ll shut down the emulator and crave a different kind of “multiplayer.” If you’re looking for an adult detour, the detailed roundup of hookup platforms at Best Backpage Replacement Sites to Fuck Tonight runs through which services still have active users, what they cost, and the safety steps you should take before meeting up—handy knowledge when you want real-world action instead of virtual battles. And if your next LAN party or retro meetup takes you through North Dakota, you can scope the scene ahead of time at Backpage alternatives in Dickinson, where local posts lay out prices, verification steps, and which hotels stay friendly to late-night visits.
The small stuff that made a big difference
- Controller mapping: I set Y = run, B = action, L/R on back buttons. Feels like a real DS hold.
- Mouse settings: I turned off “enhanced pointer precision” in Linux. Touch got more accurate.
- Mic gain: set it in your system, not just in the emulator. Nintendogs heard me better after that.
- Limits: set frame limit to 60. Speed-up is nice for grind, but it breaks rhythm games.
- Files: keep BIOS, firmware, and saves in one folder. I named it “nds-core.” Future me thanked me.
Quick picks: which one should you use?
- Most users: melonDS. It’s fast and true to hardware.
- Old laptop or 2D games: DeSmuME is simple and solid.
- TV play with shaders: RetroArch core (melonDS), but skip touch-heavy games.
Real talk: what annoyed me
- BIOS dumping is not “one-click.” I had to dust off my R4.
- Screen sizes can look weird. The DS is two small screens. On a big monitor, one screen always feels too big or too tiny.
- Rhythm games need careful settings. A tiny bit of lag ruins the song. I had to disable desktop effects to fix that.
Final take
I keep both emulators installed. melonDS is my main pick. DeSmuME saves the day when a game acts up or I want quick cheats. RetroArch is pretty, but I use it less for DS.
If you want one clean setup on Linux, do this:
- Install melonDS (Flatpak if you can).
- Dump BIOS/firmware from a real DS once.
- Map mouse to stylus, set vsync, and enjoy.
Honestly, I thought touch and mic would be a pain. But once I set it up, it felt natural. Pokémon felt like Pokémon. Zelda felt like Zelda. And when Nintendogs barked back at me, I laughed. That’s the magic I wanted—and I got it.