-
Notifications
You must be signed in to change notification settings - Fork 2
Linux
Emutastic has a native Linux port by the same author: Emutastic for Linux — the same app rebuilt on .NET 10 + Avalonia (the Windows app is WPF), with only the platform plumbing swapped underneath (Direct3D/Vulkan → OpenGL, WASAPI → SDL3, XInput → SDL3 gamepad, Win32 core loading → dlopen).
The port is a 1:1 clone in look and behavior, so this wiki applies to both platforms — console notes, cheats, RetroAchievements, cloud sync, disk swapping, all of it. The genuine differences are listed below; if a page doesn't mention Linux, assume it behaves the same.
Two artifacts per release on the releases page:
| Artifact | For |
|---|---|
emutastic_<ver>_amd64.deb |
Debian/Ubuntu system install (emutastic on PATH + desktop entry) |
Emutastic-<ver>-linux-x64.tar.gz |
Self-contained — extract anywhere and run ./Emutastic
|
In-app updates work the same as Windows (Preferences → About → Update Now). Full install details, dependencies, and BIOS/core setup are in the Linux README and the README.txt bundled with each release.
The Linux port versions on its own pre-1.0 line (0.x) — release numbers don't match the Windows app's, but features track it closely.
Paths — follows the XDG spec instead of %AppData%:
| Windows | Linux |
|---|---|
%AppData%\Emutastic\config.json |
~/.config/Emutastic/config.json |
| Data folder (chosen at first run) | ~/.local/share/Emutastic/ |
Portable Mode — same two triggers (portable.txt beside the executable, or --portable), same PortableData/ layout. Only the tarball install can be portable; a .deb install lives in root-owned /usr/lib so the marker can't apply.
Log Files — same files, same rotation, two deltas:
-
controller-diag.logis in theLogs/folder with everything else, not next to the executable (the install dir is read-only on a.debinstall). -
vulkan_debug.txtnever appears — the Linux port renders everything through OpenGL. - One extra:
emulator-host.log— games run in a separate host process on Linux, which logs there instead ofemulator.log(the library process keepsemulator.log).
Cloud Sync — fully interoperable with Windows: one shared repository serves both platforms (battery saves are keyed by ROM hash, so both installs must import the same ROM files). The per-PC repository toggle works the same.
Recording — always the ffmpeg/x264 software path (no Windows.Graphics.Capture on Linux). ffmpeg must be on PATH; the .deb declares it.
Cores — downloaded from the Linux libretro buildbot (.so instead of .dll); same core lineup and priorities as Windows.
Not yet ported — slang shader presets. GameCube and Dreamcast run but are still being performance-tuned on Linux.
Requires the .NET 10 SDK plus a C toolchain for three small vendored native libraries — one-command setup and details in the Linux README.
Console Notes
- Nintendo 64
- Nintendo 3DS
- GameCube
- Sega Saturn
- Dreamcast
- PlayStation
- PlayStation 2
- PlayStation Portable
- TurboGrafx-CD
- Neo Geo
- Arcade
- Vectrex
- Philips CD-i
- Atari Jaguar
Features
- Artwork & Metadata
- Cheats
- Cloud Sync
- Disc-Based Systems
- Disk Swapping
- Portable Mode
- RetroAchievements
- ROM Hacks
- Hardcore Compliance
Technical
Platforms
Legal