Releases: codingncaffeine/Emutastic-For-Linux
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.