I’ve run emulators on Linux for years. On a ThinkPad, on a big desktop, and on a Steam Deck snuggled on the couch with my cat. Some nights felt magic. Some nights felt like drivers picked a fight with me. Here’s what actually worked for me, what didn’t, and what I still reach for when I just want to play.
My setup (so you know where I’m coming from)
- Desktop: Ryzen 5 5600, 32 GB RAM, AMD RX 6600, Fedora 40 (Wayland)
- Laptop: ThinkPad T14 (AMD), Ubuntu 22.04 LTS
- Handheld: Steam Deck (SteamOS, updated)
- Controllers: 8BitDo Pro 2, Xbox One pad, DualSense
If you’re curious about which Linux-friendly notebooks hold up for more specialized work, here’s a quick peek at the laptops I actually use with Kali Linux.
I use Flatpaks when I can, since updates are simple. I use my own game dumps and, where needed, my own BIOS files. No gray stuff.
RetroArch: The “one app to run them all” that I love… and also argue with
RetroArch is a launcher with “cores” for many systems. On my Ubuntu laptop, I used SNES9x for SNES, Genesis Plus GX for Sega, and Beetle PSX HW for PS1. It’s great on paper. One front end. One set of shaders. One place to map buttons.
And yet, the menu can feel like a maze. The Ozone theme helps, but still. I spent 15 minutes once trying to make my 8BitDo Pro 2 save a hotkey combo. It worked… then it didn’t… then it did. You know what? It’s powerful, but a little fussy.
When it clicks though, wow. Super Mario World with a light CRT shader looked bright and clean on my ThinkPad. Sonic 2 ran smooth as butter. Save states felt instant. I like it best for 8-bit and 16-bit stuff, where it’s rock solid.
What I liked:
- Many systems in one place
- Nice shaders for old games
- Runs great on older hardware
What bugged me:
- Menus can confuse new folks
- Controller mapping sometimes resets
- Some cores need BIOS files, and that’s not always clear
Dolphin: GameCube and Wii, the crown jewel
Dolphin on Fedora with my RX 6600 is a dream. I used Vulkan. I set it to “Ubershaders (Hybrid)” to keep shader stutter low. Mario Kart Wii ran smooth with four players. No weird dips. My DualSense worked right away by choosing the “SDL” controller option.
Wind Waker looked clean at 3x internal resolution. Sunshine too. Metroid Prime needed a bit more GPU love, but the game still felt sharp. I also tested a Mayflash DolphinBar for Wii remotes, and it worked fine in Mode 4.
One hiccup: I saw random audio crackle on my Ubuntu laptop with PulseAudio. On Fedora with PipeWire, it was fine. Small thing, but I noticed.
What I liked:
- Vulkan feels fast and steady
- Ubershaders cut down stutter
- Great controller support
What bugged me:
- Audio crackle on one machine
- A few games need tweaks per title
DuckStation (PS1) vs PCSX2 (PS2): Two moods, same couch
DuckStation is my chill PS1 pick. It’s simple, it’s fast, and it has a magic trick called PGXP. No need to know the tech. It just makes old 3D lines stop wobbling. Crash Bandicoot and Final Fantasy IX looked tidy and bright at 3x scale. One click, done. I use this when I just want to play.
PCSX2 for PS2 is more… “let me tune a bit.” The new Qt build looks clean. Vulkan worked best for me. Ratchet & Clank and Jak II ran well on my desktop. God of War was smooth after I used the widescreen patch and a light speed hack. Shadow of the Colossus pushed my laptop though; it needed a lower resolution and a frame limiter tweak to feel right.
What I liked:
- DuckStation: fast and friendly
- PCSX2: huge library, modern UI, Vulkan works well
- Widescreen patches are awesome
What bugged me:
- PCSX2 sometimes needs per-game settings
- Laptop struggled with heavy PS2 titles
PPSSPP: PSP on Linux is pure comfort
PPSSPP is bliss. Persona 3 Portable ran great at 2x scale on my ThinkPad. Patapon felt perfect with the 8BitDo Pro 2. I tried texture scaling and a light FXAA pass on my desktop, and it sharpened things without looking weird.
Save states load fast. Control mapping is simple. And on Steam Deck? Flawless. I mapped L and R to the back paddles for Monster Hunter Freedom Unite, and my hands finally relaxed.
What I liked:
- Easy setup, clear menus
- Runs well on weak hardware
- Makes PSP games shine with scaling
What bugged me:
- Some filters can over-sharpen
- A few rhythm-heavy games need exact frame pacing
MAME and DOSBox: Old school, big grin
I use MAME for arcade nights. Metal Slug, Street Fighter II, and The Simpsons Arcade all felt right with the Xbox pad. I had to tweak my button layout once, then I saved a profile. Done. The shaders in MAME are heavy, so I kept it simple.
DOSBox is my cozy blanket. I ran the DOOM shareware on my Ubuntu box with cycles set to “auto” and audio at 44.1 kHz. It felt like my childhood PC, but without the noise. I also played Jazz Jackrabbit. That tiny green rabbit still has jump.
What I liked:
- Huge range of old games
- Runs fine on almost anything
- Simple config for common titles
What bugged me:
- Some ROM sets are messy to manage
- MAME shaders can tank performance
Switch and 3DS today: A quick note
For Switch on Linux, Ryujinx ran okay on my desktop with Vulkan. Mario Kart 8 Deluxe felt good at a modest scale. On my laptop though, not so much. It’s hungry. I keep it for a few games and leave it at that.
For 3DS, I used Citra back in the day. Now I use a community fork on Linux that works about the same. Pokémon X ran fine at 2x scale on my ThinkPad, but I had to map the C-stick to my right stick for camera control. It’s not hard; just a little fiddly.
What I liked:
- Ryujinx looks great on strong hardware
- 3DS fork kept my old Citra habits alive
What bugged me:
- Both need decent CPUs and GPUs
- Some titles stutter on weaker machines
Steam Deck note: Handy, if you let it help you
Steam Deck plus EmuDeck made setup easy for me. It set folders, hotkeys, and emulators for me. I still changed a few paths, but it saved hours. PPSSPP, DuckStation, and Dolphin ran smooth on Deck, with Dolphin at modest scaling and Ubershaders (Hybrid). I keep MangoHUD on to watch temps and frames. It helps me know when to lower settings, or when I can push them a bit.
Controllers, Wayland, and those tiny gotchas
- My 8BitDo Pro 2 works great over Bluetooth on Fedora. On Ubuntu once, I needed to re-pair after a firmware update. Annoying, but done.
- DualSense is fine in Dolphin and PPSSPP with SDL drivers. Haptics aren’t always perfect. I don’t mind.
- Wayland on Fedora gave me smoother frame pacing than X11 in most emulators. Screen capture apps can be picky, but games felt stable.
- Flatpak builds are tidy, but remember to allow folder access. I had to grant a games directory once. Then RetroArch saw my library.
The quick picks (when I don’t want to think)
- SNES/Genesis: RetroArch cores (SNES9x, Genesis Plus GX)
- PS1: DuckStation
- PS2: PCSX2 (Vulkan, widescreen patches)
- PSP: PPSSPP
- GameCube/Wii: Dolphin (Vulkan, Hybrid Ubershaders)
- Arcade: MAME
- DOS: DOSBox
- Switch: Ryujinx on desktop only
- 3DS: A current Citra fork on Linux
Final say: Linux emulation feels alive
Linux surprised me. On my desktop, it’s smooth and strong. On my ThinkPad, I sometimes drop scales, but I still have fun. On the Steam Deck, it’s comfy and fast for the older stuff, and good enough for GameCube with care.
If you’re hunting for more Linux-centric gaming wisdom, the folks over at Freedom Penguin publish practical tricks and deep dives that pair nicely with the tools I’ve mentioned. They’ve even covered what it’s