Releases: codingncaffeine/Emutastic-For-Linux
Emutastic for Linux 0.8.7
A reliability tweak for Neo Geo + RetroAchievements. RetroAchievements already works
for Neo Geo in Emutastic — nothing was broken, and your games and saves are untouched.
This just updates the way Neo Geo cartridge files are fingerprinted so they keep matching
RetroAchievements' database no matter how the file was produced.
What's Changed
- More robust RetroAchievements matching for Neo Geo carts. RetroAchievements
identifies a game by fingerprinting its file. Neo Geo.neocartridges start with a
4 KB header that can differ between conversion tools — same game, different header —
which could keep a cart from lining up with RetroAchievements' database. Emutastic now
skips that header and fingerprints only the cartridge's ROM data, the same way
RetroAchievements does, so a given Neo Geo game identifies and unlocks its achievements
regardless of how its.neofile was made.
Install
Tarball and .deb on the releases page,
or on Arch via the AUR: yay -S emutastic-bin. Existing installs update in-app
from Preferences → About.
Emutastic for Linux 0.8.6
Your memory cards now sync. Cloud sync used to back up only battery saves (SRAM)
and your library — now it also covers the memory cards and save trees that disc and
handheld systems write, so progress on GameCube, Dreamcast, PSP, 3DS, DS, Saturn, PS2
and PS1 follows you between machines.
What's New
- Memory cards and save trees back up to the cloud. Previously only frontend
battery saves (.srm) and the library database synced — so console-managed saves
silently never backed up. Now the saves that cores write themselves are covered too:
GameCube and Dreamcast memory cards, PSP/3DS/DS save data, PS2 and PS1 memory cards,
Saturn backup RAM, and arcade NVRAM. Cards are compressed before upload, and emulator
caches, shader caches and save-states are deliberately left out. - Saves are ready before you play. A full sync now runs in the background at
startup and right after you sign in, so your latest saves are already on disk by the
time a game launches — with a brief "Syncing saves…" indicator while it runs. On a
fresh machine, signing in pulls everything down.
Improvements
- Saves are organized per console. Battery saves and memory cards now live in a
per-system folder instead of one shared directory, so the saves folder stays tidy and
each system's data is self-contained. Existing saves are moved into place
automatically the first time you launch this version — nothing to do by hand.
Install
Tarball and .deb on the releases page,
or on Arch via the AUR: yay -S emutastic-bin. Existing installs update in-app
from Preferences → About.
Emutastic for Linux 0.8.5
PlayStation 2 arrives. Import your PS2 games and play them, hardware-accelerated,
with adjustable internal resolution — plus a clearer BIOS setup flow and fixes across
import and controller input.
What's New
- PlayStation 2 is here (PCSX2). Import
.iso/.chd/.bin/.m3uand play.
Rendered through the OpenGL hardware path, with Internal Resolution and
Texture Filtering adjustable live from the in-game cog → Visuals. Box art and
metadata scrape automatically, RetroAchievements identify and unlock, and the
DualShock 2 is mapped out of the box. Grab the core from Preferences → Cores. - PS2 needs a BIOS. PlayStation 2 now appears in Preferences → System Files with
the common known-good dumps listed — drop a valid BIOS into the PS2 BIOS folder (or
next to your ROMs) and it's detected automatically.
What's Fixed
- A missing BIOS now tells you so. Launching a game that needs a BIOS you don't
have shows a clear "BIOS required" dialog pointing you to System Files, instead of
failing silently or with a cryptic core error. Applies to every system that needs a
BIOS (PS2, PS1, Saturn, Sega CD, and more). - Controller input on more cores. Some emulator cores read the whole controller in
a single combined poll rather than button-by-button; those reads weren't being
answered, so input didn't register at all. Now handled — affected cores respond to
the pad correctly. - DAT downloads from redump.org work. Redump serves its DAT databases zipped; they
are now unwrapped on download, fixing a silent failure where the saved file couldn't
be read for ROM identification.
Improvements
- Cleaner BIOS panel. Preferences → System Files now groups BIOS files in a
two-level layout (manufacturer → console → files), each with its own present/missing
badge, so multi-console sections read clearly at a glance. - Download All for DAT files. A single button fetches every reference DAT in turn,
with per-system progress.
Install
Tarball and .deb on the releases page,
or on Arch via the AUR: yay -S emutastic-bin. Existing installs update in-app
from Preferences → About.
Emutastic for Linux 0.8.3
A controls-and-PSP release: PSP now runs properly under Wayland, control remaps take effect immediately, and Vectrex and PlayStation input work.
What's Fixed
- PSP (PPSSPP) now runs under Wayland. On some setups the PSP game window never appeared — you'd hear audio but see nothing — and when it did show, it ran rough with crackling sound. PSP now opens its window reliably, holds a steady 60fps, and plays clean audio.
- Vectrex movement works. The joystick directions weren't being applied, so nothing moved — with either a d-pad or the analog stick. Vectrex now responds to both the d-pad and the left analog stick (plus the 1/2/3/4 buttons, which already worked).
- PlayStation d-pad works. PS1 defaulted to an analog pad that left the d-pad dead, making some games (e.g. Symphony of the Night) uncontrollable. PS1 now uses the digital pad by default, so the d-pad works.
Improvements
- Control remaps apply immediately. Editing a console's controls while a game is running now takes effect right away, instead of only the next time you launch the game. (On a console you hadn't mapped yet, that delay looked like the controls "weren't saving.")
Install
Tarball and .deb on the releases page, or on Arch via the AUR: yay -S emutastic-bin. Existing installs update in-app from Preferences → About.
Emutastic for Linux 0.8.2
A focused N64 release: correct speed, clean audio, and working internal-resolution
controls.
What's Fixed
- Nintendo 64 no longer runs too fast. A pacing bug let some N64 games run
~20% above full speed (≈72fps instead of 60). The loop now never paces a game
faster than its content rate. - Clean N64 audio out of the box. The default N64 core is now
Mupen64Plus-Next, which produces correct-rate audio on Linux's SDL3 audio
path — the previous default (Parallel N64) under-produced audio at correct
speed, causing a rough/garbled sound. Parallel N64 is still available in
Preferences → Cores if you prefer it. - N64 internal resolution actually changes now. The in-game Visuals menu
drives the resolution that the renderer outputs (sharper N64, default 960×720),
and adjusting it takes effect. The setting is applied when the game starts, so
change it and relaunch the game.
Improvements
- In-game core-option changes now persist. Tweaks you make in the cog →
Visuals menu are saved per-core and survive a restart (previously they were
lost when you closed the game). This is what makes "restart to apply" options
like N64 resolution work at all. - In-game menu fits its box. Long option values (resolutions, texture-filter
names) no longer spill past the edge of the cog menu, and a missing-glyph box
no longer appears on labels.
Install
Tarball and .deb on the releases page,
or on Arch via the AUR: yay -S emutastic-bin. Existing installs update in-app
from Preferences → About.
Emutastic for Linux 0.8.1
A polish release on top of 0.8.0: smoother pause effects in fullscreen, a
simpler RetroAchievements sign-in, faster box-art downloads for paid
ScreenScraper accounts, and a clearer in-game FPS readout.
What's Fixed
- Pause effects are smooth in fullscreen again. The animated pause
overlay rendered on the CPU at full window resolution every frame, which
bogged down at fullscreen (especially 1440p/4K) and made the animation
crawl in slow motion. It now composites on the GPU at a fixed internal
resolution, so it runs at full speed at any window size. - RetroAchievements: signing in is the only step. The separate "Enable
RetroAchievements" toggle is gone — it was redundant with entering your
credentials and easy to forget (signed in, but achievements silently off).
Now achievements simply work whenever you're signed in. (Heads-up: with
Hardcore Mode on, RetroAchievements shows an "Unknown emulator" message at
game start — this is expected. RA only approves an emulator for hardcore
after it's been public for six months; until then, turn Hardcore Mode off
if you'd rather not see it. See Preferences → Achievements.) - Faster 2D box-art downloads on paid ScreenScraper accounts. Cover-art
fetching was running one image at a time regardless of your account tier.
It now uses your account's allowed thread count (up to 6 for paid
supporters), matching the metadata and 3D-art paths.
Improvements
- The in-game FPS readout now distinguishes display from emulation. The
number is the frames actually shown on screen; when the core runs faster
than the screen can present, it appendsemu N— telling you the
bottleneck is presentation (GPU/compositor), not emulation. - System Files tab tidied — dropped the dead MT-32 ROM and SoundFont
drag-drop references (leftovers from a system that isn't supported).
Install
Available as a tarball and .deb on the releases page,
or on Arch via the AUR: yay -S emutastic-bin. Existing installs update
in-app from Preferences → About.
Emutastic for Linux 0.8.0
The big one: GameCube and Dreamcast arrive, and the emulation loop got a
deep tune-up — smoother pacing, cleaner audio, and high internal resolutions
that no longer cost you frames. Every change below was verified with
benchmarking on real games.
What's New
- GameCube is here (Dolphin). Import
.rvz/.iso/.gcmand play.
Tuned out of the box — dual-core emulation and fast memory access are on by
default (the old conservative settings were a Windows-era caution that
doesn't apply on Linux), measured taking Mario Kart: Double Dash from
~45fps to a locked 60. First-ever launch of a game warms a shader cache
(brief dips); after that it boots clean. Internal resolution, anisotropic
filtering, and anti-aliasing are adjustable live from the in-game cog. - Dreamcast is here (Flycast).
.chd/.gdi/.cdiall load, VMU saves
work out of the box, fast GD-ROM loading is on by default, and
RetroAchievements identify and unlock — including.chddumps. Internal
resolution and texture upscaling adjustable from Core Options. - DS Visuals menu — Internal Resolution and xBrz Texture Scaling now sit
in the in-game cog for Nintendo DS, mirroring the 3DS layout. Resolution
choices are capped where CPU rendering stays playable. - DS performance defaults — the DS core now uses its JIT recompiler and
a multi-threaded renderer by default (previously interpreter +
single-threaded). Measured: Mario Kart DS at 4x internal resolution went
from ~48fps to a locked 60. Your own Core Options choices still win.
Smoother and Faster
- The multi-second freezes at screens and transitions are gone. A
long-standing pacing bug made the emulator sit idle for seconds at scene
changes (Dreamcast menus were the worst case — bursts of frames, then
3–4 second gaps with crackling audio). Root-caused and fixed; boot
sequences and menus now flow at full speed. This also removed most of
GameCube's launch stall. - Games that run at 30fps internally now pace perfectly. The loop now
follows the game's own clock (the audio it actually produces) instead of
forcing the console's nominal rate — 30fps titles settle at a steady 30
with clean audio, 60fps titles at 60, automatically. - High internal resolutions are now (almost) free. The frame-transfer
path used to move the full-size rendered image every frame — at 3DS 10x
that's ~43MB a frame, and it capped games in the 40s. The transfer is now
bounded by your window size no matter the internal resolution: 3DS at 10x
runs a locked 60. GameCube, PSP, and N64 high-res benefit the same way. - 3DS resolution settings now apply correctly at launch. Saving a high
internal resolution used to clip the picture to a corner sliver on the
next boot (a core init quirk); the setting is now applied a frame after
boot instead, which renders correctly at any factor.
What's Fixed
- Video snap previews survive Arch-style VLC packaging. On distros that
split VLC into per-plugin packages, a missing codec plugin used to silently
kill every video preview; the app now recovers and logs which package to
install (vlc-plugin-ffmpegon Arch). The wiki's Other Distributions page
has the details. - RetroAchievements "unrecognized dump" messages are console-aware —
disc systems suggest Redump dumps, cartridges suggest No-Intro, arcade
explains ROM-set matching, instead of one generic hint.
For Tinkerers
EMUTASTIC_FPS_LOG=1logs a per-second fps + frame-cost line to
emulator-host.log— the same readout used to verify everything above.EMUTASTIC_FULLRES_READBACK=1restores full-internal-resolution frame
transfer (for maximum-quality recording at a frame-rate cost).
Emutastic for Linux 0.7.8
A focused release: full in-game UI on X11 sessions, plus library polish.
What's New
- Play touch-based DS games entirely on a controller. The right analog
stick now moves an on-screen crosshair and taps with the right trigger —
so games that require the touchscreen are fully playable from the couch.
A bindable Touch button also appears under Preferences → Controls →
Nintendo DS ("Touch Screen" section). Mouse taps keep working as before. - Full in-game experience on X11 — if your desktop runs X11 (XFCE, MATE,
Cinnamon on Xorg, etc.), the game window previously showed just the game:
no status bar, no hover controls, no settings menu. X11 now gets the
complete in-game UI — the status line, the Power/Pause/Reset/Save/Record
pill, the full cog menu, achievement toasts and indicators, pause effects —
plus bezels and Vectrex screen overlays, and games now render at the
correct display aspect ratio on X11 too. (Your window manager keeps its own
title bar; shader presets and full-resolution screenshots remain
Wayland-only for now.) - Sharper power button in the in-game controls — the new art is crisp at
any size, where the old one rendered soft on large or high-scale displays.
What's Fixed
- The "ghost card" is gone — after closing a game, the card you launched
could linger over the next library you opened, following you across views
until enough clicking dislodged it. Root-caused to a view-virtualization
quirk (a keyboard-navigation bookmark pinned the old card's container) and
fixed at the source — verified gone. - Far less console noise — a binding in the library card template
produced tens of thousands of harmless-but-noisy errors per session while
scrolling and switching views; it now resolves without the noise. - Controller bindings that can't be resolved are now reported in
controller-diag.loginstead of being silently ignored, making "this
button does nothing" problems diagnosable. - Library hygiene on view switches — selection and focus are released
when you switch libraries, so a card from the previous view can't hold
state into the next one.