-
Notifications
You must be signed in to change notification settings - Fork 0
Other Distributions
The .deb on the releases page targets Debian/Ubuntu — but the tarball release runs on any modern glibc x86_64 Linux. It's fully self-contained on the .NET side (the runtime is bundled; nothing to install), so the only requirements are a handful of ordinary system libraries.
mkdir -p ~/Apps/Emutastic
tar xzf Emutastic-<version>-linux-x64.tar.gz -C ~/Apps/Emutastic
~/Apps/Emutastic/EmutasticIn-app updates work the same as on Debian (Preferences → About → Update Now downloads and applies the new tarball in place).
| Dependency | Used for | Required? |
|---|---|---|
| SDL3 | Controllers + game audio | Yes |
| Mesa / GL drivers (libGL, libEGL, Wayland-EGL) | Game rendering | Yes |
| fontconfig + X11 client libraries | UI text + windowing (the library window runs via Xwayland on Wayland sessions) | Yes |
| ICU | .NET globalization | Yes (present on essentially every desktop) |
ffmpeg (the CLI) |
Gameplay recording | Only for recording |
| libVLC + base plugins | Video snap previews on the game detail card | Optional — cards fall back to static images |
dbus-send |
"Show in Files" file-manager integration | Optional — falls back to opening the folder |
The quickest health check after extracting:
ldd ~/Apps/Emutastic/Emutastic | grep "not found" # empty output = goodSDL3 is the dependency most likely to be missing — it's new enough (2024) that some distributions only ship it in their latest releases.
Verified against each distribution's package index as of June 2026; package names can drift, so let your package manager's search confirm.
SDL3 is in extra — everything needed is in the official repos:
sudo pacman -S --needed sdl3 mesa fontconfig icu ffmpeg vlc vlc-plugin-ffmpegvlc-plugin-ffmpeg matters (field-verified on EndeavourOS, June 2026): Arch splits VLC
into per-plugin packages, and installing vlc alone does not pull in the avcodec plugin.
Without it, LibVLC initialization fails outright (the app passes an avcodec option that the
missing plugin makes "unknown"), so all video snap previews disappear — not just H.264
ones. If your game detail cards show static images only and the log
(Logs/ → see Log Files) mentions LibVLC init failing, this package is the fix.
Debian/Ubuntu users never see this because vlc-plugin-base ships the codec plugins together.
EndeavourOS: unlike Debian (which ships no active firewall), EndeavourOS enables
firewalld by default, and its default zone drops incoming mDNS. Not used by Emutastic
itself — but if you import ROMs from a NAS or another machine via a .local hostname and
it won't resolve, that's why: sudo firewall-cmd --add-service=mdns --permanent && sudo firewall-cmd --reload.
Building from source on Arch works with the official repos alone — dotnet-sdk is
.NET 10 as of mid-2026, and the Wayland/GL headers ship in the main packages (no -dev
split):
sudo pacman -S --needed base-devel cmake pkgconf wayland mesa libglvnd dotnet-sdk
dotnet build src/Emutastic.slnx -c ReleaseOr just install from the AUR — emutastic-bin repackages the official release tarball and pulls in everything above (including vlc-plugin-ffmpeg) as dependencies:
yay -S emutastic-binThe SDL3 package exists in Fedora 43 and later — earlier releases don't carry it (build from source, or wait for the planned Flatpak).
sudo dnf install SDL3 mesa-libGL mesa-libEGL fontconfig libicuFor recording and snap previews: full ffmpeg and VLC generally come from RPM Fusion; Fedora's own ffmpeg-free also works for recording (x264 is the only encoder Emutastic uses — if ffmpeg-free in your release lacks libx264, use the RPM Fusion build).
SDL3 has shipped in Tumbleweed since 2024 (3.4.x as of early 2026); per openSUSE shared-library naming the runtime package is libSDL3-0:
sudo zypper install libSDL3-0 Mesa-libGL1 Mesa-libEGL1 fontconfigICU is preinstalled (versioned libicu## packages). ffmpeg with x264 and VLC are best taken from Packman — openSUSE's official builds strip patent-encumbered codecs. Leap users: check whether your Leap release carries SDL3 before trying.
You need: SDL3, Mesa GL/EGL, fontconfig, ICU, and optionally ffmpeg + libVLC. The binary is a standard glibc x86_64 .NET single-folder publish — if the ldd check above comes back clean, you're done.
musl-based distros (Alpine, etc.) are not supported — the published build links glibc.
Both work out of the box. On a Wayland session the game window runs as a native Wayland toplevel (the smooth path — preferred automatically); the library window runs through Xwayland. On plain X11 everything runs through X11/SDL. No environment variables needed in either case.
The game window only uses core Wayland protocols plus xdg-shell, so wlroots compositors work. One requirement: XWayland must be enabled — the library window needs it. Hyprland ships it on by default; if you've set xwayland { enabled = false } in your config, the library window won't open.
The tarball does not run on musl libc — and can't with a simple repack:
- The bundled .NET runtime is glibc-linked (
linux-x64); it won't start on musl, and .NET under Alpine'sgcompatshim is not reliable. - More fundamentally, the libretro buildbot only publishes glibc cores — even a musl build of the app couldn't load the emulator cores it downloads. There is no musl core feed.
The supported path on Alpine is a glibc container with Distrobox (or toolbox):
distrobox create --name emutastic --image debian:trixie
distrobox enter emutastic
sudo apt install ./emutastic_<ver>_amd64.deb
distrobox-export --app emutasticWayland, GPU, and audio pass through automatically, so the game window still renders as a native Wayland toplevel on your host compositor. The planned Flatpak will eventually replace this recipe.
The app executes cores (.so files) downloaded to ~/.local/share/Emutastic/Cores/. The default targeted policy allows this for user-domain processes; if you run a hardened policy and a core fails to dlopen, check ausearch -m AVC -ts recent before suspecting the app.
A Flathub submission is planned — that will make the distro question moot for most users (and solve the SDL3-on-older-Fedora problem). Until then, the tarball is the universal answer.
Any distro with the .NET 10 SDK and a C toolchain can build from source — see the README. This also produces binaries linked against your exact system libraries.
Console Notes
- Nintendo 64
- Nintendo 3DS
- GameCube
- Sega Saturn
- Dreamcast
- PlayStation
- PlayStation Portable
- TurboGrafx-CD
- Neo Geo
- Arcade
- Vectrex
- Philips CD-i
- Atari Jaguar
Features
- Artwork & Metadata
- Cheats
- Cloud Sync
- Controllers
- Disc-Based Systems
- Disk Swapping
- Portable Mode
- RetroAchievements
- ROM Hacks
- Hardcore Compliance
Technical
Platforms
Legal