EmuNews

Latest releases

New builds of emulators and game recompilation projects, scraped from 36 sources and updated automatically.

Thursday, November 05, 2026

Vita3K

Automatic CI builds

continuous nightly / pre-release
Release notes · 11 files

Corresponding commit: 359a0e3a78b5b06c5557469c940999e141ae57d2 Vita3K Build: 4272

Xenia Edge

xenia_edge

074d3f0 nightly / pre-release
Release notes · 3 files

Changes

  • [Base] Fix non-ASCII package file names crashing on macOS and Linux (074d3f0)
  • [Base] Fix the slow autorelease pool warning printing garbage (9527d46)
  • [UI] Fix the render area filling half the window when a title starts (e105ad9)
  • [Build] Keep frame pointers in Release builds (58f4bd8)

Full changelog: https://github.com/has207/xenia-edge/compare/aa961b5...074d3f0

DuckStation

Latest Preview Build

preview nightly / pre-release
Release notes · 14 files

Commits

Eglantine

Eglantine Build 05/11/2026

daily-20261105 nightly / pre-release
Release notes · 12 files

Automatic daily build of nx2 at e736dfd.

Changes since the previous daily build

  • Revert "buffer_cache: size native storage buffers from the mapping only in DL…" (4bc1ede493)
  • kernel: Fix OOT startup by implementing WaitIfEqual64 (b6706b0c29)
  • pls coderabit, pls (2814b15174)
  • buffer_cache: size native storage buffers from the mapping only in DLSS passes (3c131fb692)
  • pls final fix (578d88b67c)
  • final fixes (97db036789)
  • fixes (5016e217b8)
  • Update .github/workflows/release.yml (91b74512ee)
  • docs: removed unnecessary docs (21cfc42c97)
  • feat: implemented coderabbit suggestions (d31066ee04)
  • added some todos (97d3d9dec9)
  • ci: whole new ci, needs a lot of review, this is draft (689d08400b)
  • buffer_cache: keep native storage bindings in one device range (979d652d90)
  • yuzu, video_core: always use the game's own DLSS where it can run (3c45b94cae)
  • buffer_cache: size native compute storage buffers from the mapping (2e12e0def5)
  • shader_recompiler: don't require PT in UISETP bits 68-71 (adacbaae7b)
  • game_list: surface the NUP display version in the tooltip (35cde43095)
  • refactor: remove unused variable is_intel_anv from Device constructor (d6efc8ef08)
  • test: enhance StubEnvironment with additional methods for shader testing (4b1a1823ea)
  • nup_container: treat a contentless ExeFS as absent (9279b24e4c)
  • ci: remove fork-only local build workflow (d2f6956a1a)
  • shader: correct H0_NH1 mixed-sign half source (662545c5b0)
  • shader: fix H0_NH1 mixed-sign native half source (77952c8d8c)
  • core: detect NUP platform from the update ExeFS (24c9b2b0ba)
  • kepler_compute: emulate tensor programs only for Donkey Kong Bananza (fef7d2fc6c)
  • kepler_compute: emulate all of Donkey Kong Bananza's tensor programs (721b189bb7)
  • kepler_compute: emulate tensor programs that no upscale stands in for (3944c47805)
  • nx2: count the presents that return before their frame is done (204ae115e4)
  • nx2: wait for each of Donkey Kong Bananza's frames (6a22450d82)
  • set: correct the Polish language code (551fa99a99)

Linux

The AppImage is self-contained (needs glibc 2.39 or newer: Ubuntu 24.04, Fedora 40, Debian 13, Arch): make it executable with chmod +x and run it. The tar.gz uses your system libraries, so Qt 6 and the usual libraries must be installed.

Build Type Standard PGO (Recommended) Notes

Read the full notes →

Xenia Edge

xenia_edge

aa961b5 nightly / pre-release
Release notes · 3 files

Changes

  • [XAM] Patch the dashboard to start indie games without a Live sign-in (aa961b5)
  • [XAM] Implement XdfLaunchNewImageFromCache (f4b5f3c)
  • [UI] Ship the dashboard patch with the bundled patches (6ab2bc9)
  • [Patcher] Merge bundled patch files with their saved copies (211696a)
  • [Patcher] Fix a patch file without patches crashing the loader (dc20b5d)

Full changelog: https://github.com/has207/xenia-edge/compare/7d3298b...aa961b5

Xenia Edge

xenia_edge

7d3298b nightly / pre-release
Release notes · 3 files

Changes

  • [VFS] Fix SVOD mounts opening every fragment and reading entries piecemeal (7d3298b)
  • [UI] Fix the game list missing the dashboard's icon (291c72d)
  • [XAM] Handle the Live service request the dashboard polls (00411a9)
  • [XAM] Stub the web instrumentation exports the dashboard calls (d6df251)
  • [XAM] Implement XamUserFlushLogonQueue (552aa4b)
  • [XAM] Fix the dashboard setting a content thumbnail from garbage (12c686d)
  • [XAM] Implement XamContentGetLocalizedString (f0d98ff)
  • [VFS] Fix file handle leak when opening an XContent package fails (7708da9)
  • [XAM] Fix the dashboard mounting library games that have no package (f637c86)
  • [UI] Fix the toolbar profile missing sign-ins from imgui (a31686b)
  • [XAM] Fix the sign-in dialog reporting only the slots chosen (5bd324f)

Full changelog: https://github.com/has207/xenia-edge/compare/e89d8be...7d3298b

Xenia Edge

xenia_edge

e89d8be nightly / pre-release
Release notes · 3 files

Changes

  • [Base] Fix opening URLs and folders on Linux going through a shell (e89d8be)
  • [UI] Fix Clear Icon leaving the personal picture behind (4d00834)
  • [XAM] Fix the dashboard missing profile pictures stored in one size (53867d7)
  • [UI] Fix the profiles menu missing personal pictures (233bdb0)
  • Merge commit '838850fed' into edge (10d3d57)
  • [XAM] Fix the dashboard seeing cloud storage as on in slots 1-3 (fd39da5)
  • Merge commit 'afecab890' into edge (2f279ae)
  • [Kernel] Default MmAllocatePhysicalMemoryEx to read/write access (838850f)
  • [HID] Fix Windows keyboard modifier state (455b988)
  • [XAM/INFO] Handle null module names in GetModuleHandleA (6842939)
  • [UI] Highlight signed in profiles in profiles menu (a0e0308)
  • [UI] Show gamerpics for signed out profiles in profiles menu (d7a973d)
  • [Base] Load SDL2 by its runtime soname on Linux (a60f068)
  • [Base] Use SDL_OpenURL to open URLs and folders on Linux (83457ac)
  • [UI] Marshal Linux GTK paint requests onto the UI thread (7eee59e)
  • [XAM/USER] Implement XamUserRead/WriteUserPreference (afecab8)
  • [XAM/INPUT] Report empty keystroke queue while UI is active (96ce1ac)

Full changelog: https://github.com/has207/xenia-edge/compare/6dcbd53...e89d8be

Xenia Edge

xenia_edge

6dcbd53 nightly / pre-release
Release notes · 3 files

Changes

  • [CPU] Test MMIO loads and stores through both access paths (6dcbd53)
  • Merge commit '44e6489cf' into edge (4cb4f25)
  • [A64] Fix MMIO loads without a byte swap reading reversed values (d739588)
  • Merge commit 'f448664b6' into edge (3140b5b)
  • [Testing] Copy libdl.dll with the MinGW binutils runtime DLLs (44e6489)
  • [x64] Reverse MMIO reads for loads without a byte swap (7ef6c64)
  • [XCrypt] - Implement XeCryptBnQw_Copy, XeCryptBnQwNeModInv, XeCryptBnQwNeModMul (f448664)

Full changelog: https://github.com/has207/xenia-edge/compare/a88d0d8...6dcbd53

Xenia Edge

xenia_edge

a88d0d8 nightly / pre-release
Release notes · 3 files

Changes

  • [Tools] Add xamgen corpus for XapiFormatTimeOut and WaitForSingleObjectEx (a88d0d8)
  • [XAM] Fix WaitForSingleObjectEx never timing out and failing every wait (bdbd822)
  • Merge commit '892064b92' into edge (d2d3641)
  • Merge commit '1d8489b44e08f1e85e69a746f24b0d17a0dd6fe8' into edge (1be1dd6)
  • [Kernel] Return all 64 bits from qword_result_t exports (892064b)
  • [Build] Find vswhere with NoDefaultCurrentDirectoryInExePath set (4794be5)
  • [XAM] Fix user flags & stub XamUserIsGuest (48b318a)
  • [Vulkan] Only write back memexport bytes the draw changed (1d8489b)
  • [D3D12] Only write back memexport bytes the draw changed (0bfc8fa)

Full changelog: https://github.com/has207/xenia-edge/compare/3b00bbd...a88d0d8

Xenia Edge

xenia_edge

3b00bbd nightly / pre-release
Release notes · 3 files

Changes

  • Merge commit '57cddf7d2939b52ed91344718b9afbf4870f4087' into edge (3b00bbd)
  • [XCrypt] Leave a partial last block alone in XeCryptAesCbc (57cddf7)
  • [XCrypt] Fix the MD5 and AES state layouts and XeKeysGetKey (4cce0f2)
  • [XCrypt] Free the MD5 context in the MD5 exports (72c2afa)
  • [XCrypt] Build XeCryptHmacSha from the HMAC-SHA exports (67ec7f9)
  • [XCrypt] Report key sizes and fail invalid reads in XeKeysGetKey (18131c7)
  • [XCrypt] Implement XeCryptBnQwBeSigFormat (251ff46)
  • [XCrypt] Implement XeCryptBnDwLePkcs1Format and XeCryptBnDwLePkcs1Verify (fc2aa25)
  • [XCrypt] Implement XeCryptRotSumSha (f5ab892)
  • [XCrypt] Fix bignum division in XeCryptBnQwNeRsaPubCrypt (fd59b72)
  • [XCrypt] Replace crypto_utils with the XeCrypt exports (6e5216e)
  • [XCrypt] Implement XeCryptHmacMd5 (b1ad202)
  • [XCrypt] Implement XeCryptHmacShaVerify (0f5f851)
  • [XCrypt] Implement XeCryptDesCbc (7d4c9df)
  • [XCrypt] Implement XeCryptSha256 (feac104)
  • [XCrypt] Return random bytes from XeCryptRandom (a42d9da)
  • [XCrypt] Fix XeCryptDesParity for bytes with bit 0 set (32ca640)
  • [XCrypt] Read the SHA-512 state in XeCryptSha512Final (4e7e1da)
  • [XCrypt] Truncate long keys in XeCryptHmacSha (facfad0)
  • [XCrypt] Pad the whole block in XeCryptHmacShaInit (9f5eb37)
  • [XCrypt] Use the key size in XeCryptRc4Key (90f20c3)
  • [XAM] - Implemented XamGetOnlineCountryFeatures (b71ddd7)

Full changelog: https://github.com/has207/xenia-edge/compare/4b1c010...3b00bbd

Wednesday, November 04, 2026

Xenia Edge

xenia_edge

4b1c010 nightly / pre-release
Release notes · 3 files

Changes

  • [UI] Translate the system update download and cover art strings (4b1c010)
  • [UI] Show cover art in the game list (ca54991)
  • [XAM] Show box art in the dashboard (046c630)
  • [UI] Add Tools > Download Cover Art (f072456)
  • [UI] Download and install the system update (48a5697)
  • [UI] Download through wxWebRequest (93b1329)

Full changelog: https://github.com/has207/xenia-edge/compare/e9a7e47...4b1c010

Kyty5

KytyPS5-2026-11-04-4c890e9

nightly / pre-release
Release notes · 3 files

What's Changed

  • controller: do not send light bar colours to mono-LED pads (ASTRO BOT) by @Nawid3333 in https://github.com/KytyPS5/KytyPS5/pull/2116

Full Changelog: https://github.com/KytyPS5/KytyPS5/compare/KytyPS5-2026-11-04-23d0db3...KytyPS5-2026-11-04-4c890e9

Eglantine

Eglantine v0.1.0-rc1

v0.1.0-rc1 nightly / pre-release
Release notes · 12 files

Release candidate of 0.1.0. Please test it and report problems before the final release.

  • Initial release candidate

Linux

The AppImage is self-contained (needs glibc 2.39 or newer: Ubuntu 24.04, Fedora 40, Debian 13, Arch): make it executable with chmod +x and run it. The tar.gz uses your system libraries, so Qt 6 and the usual libraries must be installed.

Build Type Standard PGO (Recommended) Notes
amd64 AppImage · tar.gz AppImage · tar.gz
ARM (aarch64) AppImage · tar.gz AppImage · tar.gz

Windows

Windows packages are in-place zip files: extract and run eglantine.exe, or eden-cli.exe from a terminal.

Build Type Standard PGO (Recommended) Notes
amd64 / x86_64 (MSVC) MSVC zip Use if you run into graphical issues on other builds
amd64 / x86_64 (MinGW) MinGW PGO zip Built with MinGW clang; bundles its own DLLs, no Visual C++ redistributable needed

macOS

Build Type Standard PGO (Recommended) Notes
arm64 (Apple Silicon) zip · dmg macOS 15 or newer. Not notarized: right-click and choose Open the first time, or run . is inside the app, in .

Read the full notes →

Dolphin

4 commits on 2026-11-04

66df2b4 commits
Show commits
  • 66df2b4 Merge pull request #14983 from JosJuice/driver-sf-speedhack — jordan-woyak
  • f4b9fae Revert "GameINI: Add patches to limit internal framerate in Driver: San Francisco." — JosJuice
  • 584366c Merge pull request #14794 from JosJuice/android-title-database — JosJuice
  • 112e1a4 Merge pull request #14404 from sepalani/tri-close — JosJuice
Citron-Neo

Continuous Build (Linux Nightly: a37026c48)

nightly-linux nightly / pre-release
Release notes · 6 files

Citron Upstream Commit: a37026c

This build is based on the latest Citron emulator source code from the upstream repository.

Build Details:

  • Platform: Linux (x86_64, x86_64_v3, aarch64)
  • Format: AppImage + tar.zst packages
  • Build Type: Nightly with optimizations
  • Date: 2026-11-04
Eglantine

Eglantine nx2 build 212 (d6efc8e)

build-212 nightly / pre-release
Release notes · 12 files

What's changed

Two compatibility fixes (Switch 2 titles packed as NUP, and Intel/Mesa graphics), one shader fix, and test/CI cleanup.

  • Switch 2 titles packed as NUP are classified correctly again (#512, fixes #504) — platform detection now prefers the newest update's ExeFS, like AppLoader_NUP, and only falls back to the base when the update has no ExeFS. Previously, a NUP whose base ExeFS is empty was detected through that empty directory, so a Switch 2 title came up with the Switch 1 memory layout and guest clock: a guest-memory exception and a boot stuck at 0 FPS. Mario Kart World 1.8.0 (update 917504) now selects the automatic 12 GiB layout and the 31.25 MHz clock and reaches the title screen at roughly 30 FPS, from the same empty-base NUP.
  • The NUP packer no longer writes empty exefs/romfs directories — a contentless ExeFS is treated as absent both when packing and when reading a container (GetExeFSDir returns nothing for it), and exefs/romfs are only recorded when they actually contain files. RomFS-only updates keep working through the base fallback.
  • Intel banding fixed on Mesa ANV (#469) — conditional barriers were being stripped on ANV, and on Intel the shader recompiler deletes barriers inside loops and branches, so a compute shader sharing data between warps read stale shared memory. In Mario Kart World 1.8.0 this showed up as a banding pattern over the whole image on an ARC 390. Barriers are now only stripped for Intel's proprietary Windows driver, so the Windows reports in #130 and #66 take the same path.
  • Shader: H0_NH1 mixed-sign half source — it now swaps the packed FP16 halves before negating the new low half, instead of negating only the upper component. Programs using it previously failed with "native half mixed-sign source mode" and were skipped.
  • Tests — global_address_tracking gained a stub shader environment, so the test target builds again after its outdated GlobalMemoryToStorageBuffer-era call.
  • CI — the fork-only local build workflow was removed.

Known limitation of the NUP fix: a full race and long-session stability were not tested; the platform-classification checks and a boot to the Mario Kart World title screen were.

Changes since build-206 (c54bc22…d6efc8e), full compare.

All commits in this build

Read the full notes →

Eglantine

Eglantine nx2 build 206 (c54bc22)

build-206 nightly / pre-release
Release notes · 12 files

What's changed

Build 206 is a one-fix release: Polish was handed to games as a language code they don't recognise, so every title that supports Polish fell back to Japanese.

  • Polish now selects Polish instead of Japanese (#505, fixes #451) — the LanguageCode constant for Polish encoded its two characters in the wrong order (lp instead of pl). Titles look the value up against known language codes, found no match, and used their fallback — Japanese. The constant is now the NUL-terminated pl string in the same byte order as th, en-US and zh-Hans.
  • Confirmed fixed — Mario Kart World (update 1.8) and Donkey Kong Bananza (update 3.1) with Europe region and Polish selected in system configuration; both now display Polish. Any other title that asks for the Polish language code is fixed by the same change.
  • Nothing else changed — no graphics, audio, input or compatibility work since build 205. If you don't play games in Polish, there is no reason to update from build 205.

The change

-    PL = 0x000000000000706C,
+    PL = 0x0000000000006C70,

LanguageCode is a little-endian u64 holding NUL-terminated ASCII. 0x6C70 reads out as p, l, \0; the old value read l, p, \0 and matched no known language.

Changes since build-205 (5cad158…c54bc22), full compare.

All commits in this build
  • c54bc2289b Merge pull request #505 from Mcm190/fix/polish-language
  • 551fa99a99 set: correct the Polish language code

Automatic build of nx2 at c54bc2289bfffda7fa3cc4c3a8cf522d84a10fd4.

Linux

Linux packages come as an AppImage (self-contained, needs glibc 2.39 or newer: Ubuntu 24.04, Fedora 40, Debian 13, Arch) and a tar.gz (uses your system libraries, so Qt 6 and the usual libraries must be installed).

Build Type Standard PGO (Recommended) Notes
amd64 AppImage · tar.gz AppImage · tar.gz Make the AppImage executable (chmod +x) and run it

Read the full notes →

Eglantine

The Ooga Booga Update - Build 205 (5cad158)

build-205 nightly / pre-release
Release notes · 12 files

What's changed

Donkey Kong Bananza's purple screen, freezes and rubberbanding are fixed.

  • Freezes, crashes and rubberbanding (#506, #392) — a present waits for that frame's GPU fence so the game can't overwrite data the GPU thread hasn't read yet. Since 690f80e15f that wait was skipped as soon as a GPU channel was suspended on a semaphore, and Donkey Kong Bananza's channels suspend on each other every frame, so the game always ran a frame ahead and read back stale commands. Donkey Kong Bananza now waits for each of its frames; EDEN_NX2_FRAMES_AHEAD still overrides it and other games are unchanged (Mario Kart World keeps running a frame ahead).
  • Purple screen (#506, #459) — the game runs tensor-core shaders that are not part of DLSS, and Eglantine only emulated that math for a game's DLSS, so the image they feed was never written. Those programs are now always emulated for Donkey Kong Bananza, and only for it: upscaling networks (Kirby Air Riders, Fortune's Weave's DLSS) keep the quick bilinear stand-in.
  • Present stats — the stats line now counts how many of the last 600 presents returned before their frame was done.
  • Cost — waiting for each frame costs speed where the GPU thread is busy: in the mines a frame goes from ~19 ms to ~30 ms because game and GPU thread take turns instead of overlapping. Elsewhere it holds 60 fps.

Changes since build-204 (01dda0f…5cad158), full compare.

All commits in this build
  • 5cad158835 Merge pull request #506 from Duck912/dkb-frame-wait
  • fef7d2fc6c kepler_compute: emulate tensor programs only for Donkey Kong Bananza
  • 721b189bb7 kepler_compute: emulate all of Donkey Kong Bananza's tensor programs
  • 3944c47805 kepler_compute: emulate tensor programs that no upscale stands in for
  • 204ae115e4 nx2: count the presents that return before their frame is done
  • 6a22450d82 nx2: wait for each of Donkey Kong Bananza's frames

Automatic build of nx2 at 5cad1588350a6edef11f6302dcf747dc7dffa8df.

Linux

Linux packages come as an AppImage (self-contained, needs glibc 2.39 or newer: Ubuntu 24.04, Fedora 40, Debian 13, Arch) and a tar.gz (uses your system libraries, so Qt 6 and the usual libraries must be installed).

Build Type Standard PGO (Recommended) Notes

Read the full notes →

Xenia Edge

xenia_edge

5d7e99b nightly / pre-release
Release notes · 3 files

Changes

  • [Base] Share the case-insensitive host file lookup (5d7e99b)
  • [XAM] Implement XamContentOpenFileInternal (3a81820)
  • [Kernel] Fix XeFu titles hanging after the boot animation (0fd1953)

Full changelog: https://github.com/has207/xenia-edge/compare/b65dd25...5d7e99b

Eglantine

Eglantine nx2 build 204 (01dda0f)

build-204 nightly / pre-release
Release notes · 12 files

What's changed

Mario Tennis Fever's controller glyphs render as icons instead of question marks.

  • ? controller glyphs fixed in Mario Tennis Fever (#481) — the game looks up the + and − icons (U+E0EF, U+E0F0) in the standard shared font, and the Open Sans stand-in has no button glyphs, so it drew ?. The 24 button glyphs from yuzu's stand-in extension font are now merged into the standard font, scaled to cap height.
  • The built-in font is now Open Sans (Apache 2.0) combined with yuzu's glyphs (GPL-2.0-or-later).
  • Needs the build 196 font fixes to be visible.

Changes since build-203 (179b5af…01dda0f), full compare.

All commits in this build
  • 01dda0f47d Merge pull request #481 from aidankinzett/nx2-mtf-button-glyphs
  • be2f49ed43 Fix ? controller glyphs

Automatic build of nx2 at 01dda0f47d86d791959f892b9b1dfac9721aaac8.

Linux

Linux packages come as an AppImage (self-contained, needs glibc 2.39 or newer: Ubuntu 24.04, Fedora 40, Debian 13, Arch) and a tar.gz (uses your system libraries, so Qt 6 and the usual libraries must be installed).

Build Type Standard PGO (Recommended) Notes
amd64 AppImage · tar.gz AppImage · tar.gz Make the AppImage executable (chmod +x) and run it
ARM (aarch64) AppImage · tar.gz AppImage · tar.gz

Windows

Windows packages are in-place zip files: extract and run eglantine.exe, or eden-cli.exe from a terminal.

Build Type Standard PGO (Recommended) Notes

Read the full notes →

Eglantine

Eglantine nx2 build 203 (179b5af)

build-203 nightly / pre-release
Release notes · 12 files

What's changed

One revert: the chunked-texture-upload change from build 202 device-lost Mario Kart World on AMD, so it is gone.

  • Mario Kart World on AMD no longer loses the device at the title screen (#496, #499) — texture_cache no longer finishes the scheduler in the middle of a chunked image upload. A bisect put that commit on the title-screen device loss, and a tester boots with it reverted. The cost is that staging memory is not reused between chunks of one upload.
  • Everything else from build 202 is unchanged.

Changes since build-202 (8615d8d…179b5af), full compare.

All commits in this build
  • 179b5afb50 Revert "texture_cache: finish between chunked uploads so staging memory is reused"

Automatic build of nx2 at 179b5afb50819945bdaadd739748d5f87633b0a5.

Linux

Linux packages come as an AppImage (self-contained, needs glibc 2.39 or newer: Ubuntu 24.04, Fedora 40, Debian 13, Arch) and a tar.gz (uses your system libraries, so Qt 6 and the usual libraries must be installed).

Build Type Standard PGO (Recommended) Notes
amd64 AppImage · tar.gz AppImage · tar.gz Make the AppImage executable (chmod +x) and run it
ARM (aarch64) AppImage · tar.gz AppImage · tar.gz

Windows

Windows packages are in-place zip files: extract and run eglantine.exe, or eden-cli.exe from a terminal.

Build Type Standard PGO (Recommended) Notes

Read the full notes →

Eglantine

Eglantine nx2 build 202 (8615d8d)

build-202 nightly / pre-release
Release notes · 12 files

What's changed

The Hyrule Warriors: Age of Imprisonment fix set, batched Vulkan submissions, a large batch of shader-recompiler lowerings, and the six-axis / Mii BuildRandom fixes ported from nx2-experimental.

  • Hyrule Warriors: Age of Imprisonment plays through its fights (#494) — command lists keep their submit-time copy across semaphore waits (dma_pusher), each pending fence download tracks its own ranges, GPU-written bytes on a page are downloaded before a CPU write claims it, draws with a garbage vertex or index count are skipped instead of losing the device, and an unmapped texture buffer gets a placeholder instead of aborting.
  • Faster fights on the split GPU thread (#494) — fences, command-list copies after compute dispatches and FlushCommands are batched within 500 µs (EDEN_NX2_FENCE_FLUSH_US), and a thread that needs a batched submission asks the GPU back thread for it. Queue submissions in Hyrule fights drop from ~22,000/s to ~1,100/s, and heavy stretches go from a 31–37 fps median to 46–49.
  • Shader recompiler (#494) — new lowerings for guarded USHF/UIADD3, LEA.HI with a constant, G+B TLD, 8/16-bit LDL/STL, STS with a uniform base, UMOV into any uniform register, UISETP with an accumulate predicate, FSETP with a uniform operand, I2F from signed 8/16-bit sources, IMNMX with an immediate wider than 20 bits and SHF.L.U32.HI without .W; plus more Switch 2 conversion/load forms and all generic attribute components.
  • AMD / RADV crash fix — pipeline creation no longer assumes VK_EXT_mesh_shader exists, which fixes crashes on RADV.
  • Donkey Kong Bananza — the terrain fixes and HMMA emulation are enabled by default again, and more of the game's indirect and native geometry forms are translated.
  • Mii — BuildRandom reads age, gender and race as 32-bit words and picks from the random table in the right order (#495).
  • HID — the six-axis IC information reports non-zero sensor ranges, so motion controllers are described correctly (#495).
  • Frontend stability — the game list stays disabled during the startup scan, and directory iteration no longer uses the throwing overloads, removing a class of scan crashes.

Changes since build-196 (0d86405…8615d8d), full compare.

All commits in this build
  • 8615d8d53e Merge pull request #494 from rdenno/pr/nx2-merged

Read the full notes →

Eglantine

Eglantine nx2 build 196 (0d86405)

build-196 nightly / pre-release
Release notes · 12 files

What's changed

Switch 2 built-in font data is handed to titles correctly (which is what unblocks Mario Tennis Fever's missing text), thread startup no longer stalls on a single core, and Vulkan can honour the CPU inner-invalidation skip.

  • Mario Tennis Fever: missing text fixed (#393) — Switch 2 built-in font lookups now return each font's real offset inside the shared font memory, and a font that failed to load is reported as missing instead of as a bogus region. This is also the prerequisite for the +/− glyph fix in build 204.
  • Thread startup — svcStartThread takes the single-core path when multicore is disabled, and treats a thread already current on the target core as preempting itself. Starting a thread no longer yields for up to 5 ms waiting for a context switch that cannot happen.
  • Vulkan — RasterizerVulkan::InnerInvalidation now honours the skip_cpu_inner_invalidation setting instead of walking every sequence on each invalidation (#237).

Changes since build-194 (09e539a…0d86405), full compare.

All commits in this build
  • 0d86405bd1 Merge pull request #237 from ymatrix1/shader-cache-batch-invalidation
  • 36251b2191 Merge pull request #393 from aidankinzett/nx2-mtf-text
  • 0b8b33e068 merge nx2
  • 62f4afef42 fix merge conflicts
  • c10b82657b Coderabbit fixes
  • 795ea34b1e vulkan: honor skip_cpu_inner_invalidation in InnerInvalidation

Automatic build of nx2 at 0d86405bd1836f01d708abcdecc564465864a8cd.

Linux

Linux packages come as an AppImage (self-contained, needs glibc 2.39 or newer: Ubuntu 24.04, Fedora 40, Debian 13, Arch) and a tar.gz (uses your system libraries, so Qt 6 and the usual libraries must be installed).

Build Type Standard PGO (Recommended) Notes
amd64 AppImage · tar.gz AppImage · tar.gz Make the AppImage executable (chmod +x) and run it

Read the full notes →

Eglantine

Eglantine nx2 build 194 (09e539a)

build-194 nightly / pre-release
Release notes · 12 files

What's new in this build

Build 194 of nx2 (09e539a) is a batch merge — 145 files, +6,843/−695, 40 merges — and four games move:

  • Fire Emblem: Fortune's Weave now runs its own DLSS network as translated shaders instead of the FSR 3.1 stand-in, with a health check that falls back the moment the output stops making sense.
  • Mario Tennis Fever gets its text back, stops hanging at boot, stops having its geometry shaders refused, and stops losing the device three seconds into its first court.
  • Fast Fusion gets its track floor, minimap and sky back, and stops hanging at 0 fps while a race loads.
  • Pokopia's sky renders on the Steam Deck.

Around them: two Mario Kart World frame-pacing options, a shipped nx2_switches.txt of tuned Switch 2 defaults, and a wide performance and correctness batch.

Builds 190–193 have no release: 190 and 191 failed, 192 and 193 were cancelled when a newer push arrived, and only this final run published.

In short

  • The game's own DLSS (Fire Emblem: Fortune's Weave): new Graphics setting Use the game's own DLSS, on by default. Its 13-pass network runs on your GPU; NVIDIA DLSS (if you turn it on) is tried first, then the game's own network, then AMD FSR 3.1. A status line under the checkbox says what is drawing right now and why.
  • Mario Tennis Fever: missing text and wrong font fixed, boot hang fixed, geometry shaders no longer refused, and a framebuffer created with the wrong layer count — which wrote ~2 MiB past its allocation and lost the device — fixed. The kernel also gives the client's core the run it needs before an HLE reply wakes it, which this game's boot depends on.
  • Fast Fusion: more Ampere instruction forms lowered (the floor's I2F.S16, TLD.SCR.LZ with a uniform handle, SHFL.DOWN, WARPSYNC, SUST.P.R and more), the sky's depth size query built after its descriptor is known, and G8R24 mapped to D24_UNORM_S8_UINT. The GPU-split hang while loading a race is fixed too: the front no longer reads command pages the back has not marked GPU-written yet.
  • Pokopia: the black sky on the Steam Deck is fixed (guarded ULEA, with #387's author credited), and more compute forms (LEA, SHF, UIADD3, DEPBAR, USHF) lower, so almost all of its shaders stop being rejected. Photographs in game are still black — separate issue.

Read the full notes →

Tuesday, November 03, 2026

Eden Nightly

Eden Nightly - Nov 03 2026

v1793745818.07677aa500 nightly / pre-release
Release notes

Nightly build of commit 07677aa500.

Changelog

  • [bcat] Verify delivery cache file names as file names (AI-assisted) (#4625) 07677aa500
    • PR #4625 merged on 2026-11-03 by Dmr77680
  • [docs] fix contributing link in README (#4629) fa03b58f04
    • PR #4629 merged on 2026-11-03 by project516

Packages

Targets

Each build is optimized for a specific architecture and uses a specific compiler.

  • aarch64/arm64: For devices that use the armv8-a instruction set; e.g. Snapdragon X, all Android devices, and Apple Silicon Macs.
  • amd64: For devices that use the amd64 (aka x86_64) instruction set; this is exclusively used by Intel and AMD CPUs and is only found on desktops.
  • v3: For devices that use the x86_64-v3 instruction set or newer; this is found on Ryzen, Intel 4th Generation (Haswell), and newer.

PGO

PGO builds usually perform ~10-30% better than standard builds, and are thus generally recommended for all users.

Linux

Linux packages are distributed via AppImage. zsync files are provided for easier updating, such as via AM.

Build Type Standard PGO (Recommended) Notes
amd64 Standard AppImage (zsync) PGO AppImage (zsync)

Read the full notes →

Eglantine

Eglantine nx2 build 189 (7adcecc)

build-189 nightly / pre-release
Release notes · 12 files

What's new in this build

Build 189 of nx2 (7adcecc) is build 188 plus two fixes in the shader compiler for Switch 2 ("native") shaders — and they are what makes the NVIDIA DLSS path that build 187 enabled actually work in Fire Emblem: Fortune's Weave.

With DLSS on, that game's network used to produce NaN by its second frame: half of one layer's output was never written, the encoder's skip connections never reached the decoder, and the upscaled image and its history froze. Both causes are fixed here.

10 files, +216/−24. A shader that hits neither case compiles exactly as before, and with the network off (FSR 3.1) the same scenes measure identical.

In short

  • What was wrong: when a Switch 2 shader reads or writes a "native" global through a pointer taken from a constant buffer, the compiler rewrites the access into a storage-buffer access on the buffer it thinks the pointer names. Two ways that guess went wrong: an address assigned under a predicate is a phi of two pointers, and only the first was used, so the other path's stores fell outside the chosen buffer and were dropped; and a pointer sitting in an 8-byte slot (0x168, 0x188, 0x208, …) was matched against the NVN test, which only accepts 16-byte-aligned slots between 0x100 and 0x700, so it picked a different slot — an input to the address arithmetic, a dimension, a stride or a neighbouring pointer — and rebased the access onto that buffer.
  • In Fortune's Weave: four programs of its DLSS network had 50–58 of the second kind each. The encoder layers' skip-connection outputs never arrived, so the decoder layers read zeros, the recurrent state filled with NaN after the second frame, and the last pass kept showing the previous history — the title screen's clock stood still.
  • The fix: for native programs every candidate pointer the address can come from is collected (following additions, selects, phis and CompositeExtract). One candidate is used directly; with several, all of them are bound, the access stays global, and the SPIR-V global-memory functions pick the closest base at or below the address; with none, the old NVN search runs as before.

Read the full notes →

Eglantine

NUP Metadata Update - Build 188

build-188 nightly / pre-release
Release notes · 12 files

What's new in this build

Build 188 of nx2 (79c4f82) is build 187 plus the NUP editor: a .nup can now be unpacked back into a loose dump, and its metadata — name, icon, version, publisher and per-language names — can be edited in place, from the game list or from the command line. It fixes #385.

19 files, +2,593/−26, and none of it is emulation: games run exactly as they do in build 187. What changed is what you can do with the dumps themselves.

In short

  • Dump NUP… — right-click a .nup in the game list and it is extracted back into base/, updates/<version>/ and dlc/<titleid>/<n>/, with a progress window and a cancel button. The default output is a folder named after the archive, next to it.
  • Edit NUP Metadata… — change the title, publisher, version, icon and per-language names of an existing .nup in place, with a progress window. Only the fields you touch are rewritten; the packages' contents are copied untouched.
  • Find Icon Online — in the metadata editor, pulls a square icon from switchiconshowdown.com, with SteamGridDB as a fallback when you supply a free API key. The whole search has a 10-second deadline and can be cancelled.
  • Command line — --unpack-nup <file.nup> [<out_dir>] and --edit-nup <file.nup> --nup-name … --nup-icon … --nup-version … --nup-publisher … --clear-nup-name/--clear-nup-icon/--clear-nup-version/--clear-nup-publisher, both in --help.
  • Safer by default — an existing non-empty output folder is never overwritten or cleaned away, and a metadata edit replaces the archive atomically.
  • Menu order — Dump NUP… sits above Dump RomFS, and Edit NUP Metadata… above Configure Game.
  • Smaller thing you will notice: a .nup packed from a dump whose metadata was never filled in now shows the dump's name and icon in the list instead of an empty entry.

Dump NUP: unpacking back into a loose dump

Right-clicking a .nup in the game list now offers Dump NUP… (only for actual .nup archives — a loose dump has no such entry). It writes the same layout a .nup packs from:

  • a container with updates and DLC becomes base/, updates/<version>/ and dlc/<titleid>/<n>/;
  • a base-only container is written bare, without the base/ wrapper, so it round-trips into the layout it came from.

Read the full notes →

Eglantine

DLSS Update - Build 187 (14d4c4e)

build-187 nightly / pre-release
Release notes · 12 files

What's new in this build

Build 187 of nx2 (14d4c4e) is build 181 plus five changes, and the headline is real this time: NVIDIA DLSS works in the Windows MSVC download. The Graphics tab has a new Use NVIDIA DLSS in place of a game's DLSS setting, which hands a game's DLSS evaluation to NVIDIA's upscaler on a GeForce RTX card instead of running Eglantine's FSR 3.1 replacement.

Also in: the -pgo downloads are trained on Eglantine's own profile instead of Eden's (the fix for "the PGO build is slower than the normal one" on Switch 2 titles), the AMD black-texture regression from the sparse-tile change is reverted, the AppImage carries its build number, and the README and PR template were cleaned up.

In short

  • NVIDIA DLSS — eglantine-windows-x86_64.zip (MSVC) only. Off by default. When on, a game's DLSS evaluation goes to NVIDIA DLSS with the same inputs (colour, depth, motion vectors, jitter); when DLSS cannot run, FSR 3.1 still takes over from the next frame.
  • Where it is not: the Windows -pgo zip is a MinGW build and does not have it (it has never been built with MinGW), and neither do the Linux or macOS downloads. In this build you cannot have both PGO and DLSS on Windows — the DLSS zip is the standard MSVC one.
  • First run: nothing of NVIDIA's is bundled. Open Graphics, tick the setting, and the panel under it reports whether the Streamline loader and DLSS were found. Download from NVIDIA fetches only the needed files out of NVIDIA's Streamline 2.14.16 release (about 1 MB for the loader, 32 MB with DLSS, out of a 276 MB zip) after showing the licence texts, checking each file's CRC and signature before saving it to the user folder's streamline folder.
  • PGO builds fixed: both -pgo builds now use this repository's eglantine.profdata instead of Eden's Switch 1 eden.profdata. On an RTX 4070 laptop, Mario Kart World's attract demo ran 17–24 fps in the old Windows PGO zip against ~47 in the standard build of the same commit; on the new profile the PGO build matches the standard one (30 vs 32 fps in the same pass).

Read the full notes →

Eglantine

Eglantine nx2-experimental build 183 (1521742)

build-183 nightly / pre-release
Release notes · 12 files

What's new in this build

Build 183 of nx2-experimental (1521742) is the catch-up merge: nx2 is merged into the experimental line for the first time since build 130 (#455), so this is build 178's two fixes plus everything the nx2 line shipped in builds 135 through 181. Against build 178 that is 173 commits, 49 of them merges, 205 files, +26,166/−2,491.

It is the first release that is a superset of both lines: all of build 181, plus the two fixes from build 163 (Switch Sports and random Miis) that nx2 still does not have.

In short

  • Games, new on this line: the ja_JP UI translation; Hyrule Warriors: Age of Imprisonment drawing gameplay again; Splatoon Raiders' shadows, reticle and steam; Mario Tennis Fever's stadium; Donkey Kong Bananza through its cutscenes and without its startup crash; Pokopia's first frame and its render-pass splits on tiled GPUs; Mario Kart World's trees, its 1.8.0 NSP launch, its present stall and its stale command lists; Fire Emblem: Fortune's Weave with real AMD FSR 3.1 instead of the DLSS stand-in; GPU-decoded movies no longer green; LAN Play through a room; rumble in Switch 2 titles.
  • The two build-163 fixes are still here: Nintendo Switch Sports gets past "Play with a Single Controller" (error 2162-0001), and random Miis are built with the age, gender and race that were asked for.
  • Tooling, new on this line: the Convert to NUP… dialog with metadata and a progress window, faster loose-dump scanning and launching, Convert to NUP keeping the dump's folder layout, renamed downloads, eglantine-cli --help/--version exiting 0, the Arch eglantine-git PKGBUILD, the corrected contributing guide and PR template, the new issue forms, the Wayland plugins in the Linux AppImages, and the per-draw GPU-thread work in the descriptor table.
  • Hardware: Coffee Lake-era Intel CPUs that report no crystal frequency keep the OS clock instead of the measured TSC (the i5-9400F launch crash).
  • Defaults changed in build 158: ScaleForce with FXAA and handheld mode are on by default. If you carry a configuration from build 130, check those.

Read the full notes →

Eglantine

Eglantine nx2 build 181 (f347ae0)

build-181 nightly / pre-release
Release notes · 12 files

What's new in this build

Build 181 of nx2 (f347ae0) is build 177 plus four changes: the Linux AppImages now carry Qt's Wayland platform plugins, so they start on a Wayland-only desktop (#298); the repository has real issue forms; the tests target builds again; and a push that only touches src/tests no longer queues a seven-platform release build.

No emulator code changed, so no game behaves differently from build 177 and there is nothing to retest.

In short

  • Linux AppImage — Wayland: libqwayland-egl.so and libqwayland-generic.so, with their client graphics and shell integrations, are bundled in all four Linux AppImages. On a Wayland-only system the AppImage used to abort with Could not find the Qt platform plugin "wayland" and Available platform plugins are: xcb (#447, addresses #298).
  • Issue forms: the single bug report is replaced by crash, game bug, visual bug and UI bug forms, and a workflow labels each new issue by game, GPU vendor and operating system (#433).
  • Tests build again: two src/tests fixes — a sign-compare error in the socket proxy test and the GetPointer hook the descriptor table test's mocks were missing.
  • CI: src/tests/** is now excluded from the release workflow's path filter. This is the change that made up the withdrawn build 179, and it is in this build.
  • Not here: Android APKs (the publishing was reverted in build 175) and the NVIDIA DLSS work — that landed after this build, and it is not in these binaries either.

Linux AppImage: Qt's Wayland plugins are bundled now

An AppImage built before this one shipped Qt's xcb platform plugin only, so on a desktop with no X server — pure Wayland, no XWayland — Qt had no platform to start on:

qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized.
Available platform plugins are: xcb.
Aborted (core dumped)

linuxdeploy's Qt plugin is now asked for the Wayland platform plugins and their client graphics and shell integrations (EXTRA_QT_MODULES=waylandcompositor, EXTRA_PLATFORM_PLUGINS='libqwayland-egl.so;libqwayland-generic.so'). The Qt installation the build already uses contains them, so the AppImage grows by their size and nothing else is downloaded or linked.

Read the full notes →

Xenia Edge

xenia_edge

b65dd25 nightly / pre-release
Release notes · 3 files

Changes

  • [Kernel] Return to the game list when dash powers off (b65dd25)
  • [UI] Add a boot_to_dashboard cvar (4956db3)
  • [XAM] Implement XamLookupCommonStringByIndex (26860a0)
  • [XAM] Read XUIZ v3 packages and XUIS v2 string tables (f8968ff)
  • [CPU] Fix resource-only XEX modules failing to load (62c9ddc)
  • [Emulator] Ensure tray open/closed status is properly handled in dash (0fc5a8e)
  • [HID] Fix SDL controllers repeating a released button (92e0483)
  • [Kernel] Stop kernel_state.h pulling in the xam managers (8a77653)

Full changelog: https://github.com/has207/xenia-edge/compare/20d0b78...b65dd25

Eden Nightly

Eden Nightly - Nov 03 2026

v1793664833.8d29148afe nightly / pre-release
Release notes

Nightly build of commit 8d29148afe.

Changelog

  • [desktop] Bump minimum Qt to 6.6 (#4628) 8d29148afe
    • PR #4628 merged on 2026-11-03 by crueter
  • [desktop] Prefer X11, but allow Wayland (with a warning) (#4579) 9c3bdeffc0
    • PR #4579 merged on 2026-11-02 by crueter
  • [dist, android] Update translations from Transifex for Nov 02 (#4626) 060026dc2d
    • PR #4626 merged on 2026-11-02 by Eden CI
  • [android, docs] Update recommended drivers, Fix Android build Guide and Fix X link. (#4617) 92f54a034a
    • PR #4617 merged on 2026-11-02 by Bix

Packages

Targets

Each build is optimized for a specific architecture and uses a specific compiler.

  • aarch64/arm64: For devices that use the armv8-a instruction set; e.g. Snapdragon X, all Android devices, and Apple Silicon Macs.
  • amd64: For devices that use the amd64 (aka x86_64) instruction set; this is exclusively used by Intel and AMD CPUs and is only found on desktops.
  • v3: For devices that use the x86_64-v3 instruction set or newer; this is found on Ryzen, Intel 4th Generation (Haswell), and newer.

PGO

PGO builds usually perform ~10-30% better than standard builds, and are thus generally recommended for all users.

Linux

Linux packages are distributed via AppImage. zsync files are provided for easier updating, such as via AM.

Build Type Standard PGO (Recommended) Notes

Read the full notes →

Monday, November 02, 2026

Dolphin

8 commits on 2026-11-02

e8c4246 commits
Show commits
  • e8c4246 Merge pull request #14510 from Ma-Rang/pr/gecko-bind-error — jordan-woyak
  • a0ed231 Merge pull request #14975 from JoshuaVandaele/flathub-manifest — jordan-woyak
  • 2833c12 Flatpak: Do not set the flathub::manifest tag — JoshuaVandaele
  • 18190eb EXI: Show on-screen error when USB Gecko fails to bind — Ma-Rang
  • d182533 Merge pull request #14916 from iwubcode/vertex_manager_draw_refactor — jordan-woyak
  • adf85af Merge pull request #14941 from debug687/patch-1 — jordan-woyak
  • d08bdde Common/TypeUtils: Remove missing __cpp_aggregate_paren_init feature workaround. — jordan-woyak
  • faae54e Core/Debugger: Clean up emplace_back calls with use of "parenthesized initialization of aggregates". — jordan-woyak
xemu

Latest Development Build

pre-release nightly / pre-release
Release notes · 15 files

Pull Requests

  • #3147 - CONTRIBUTING.md: Add 'Good First Issue' guidance (@mborgerson)
  • #3138 - nv2a: Use rgba swizzles for color values in generated GLSL (@DatenpflegeNordHL)
  • #3146 - meson: Bump VulkanMemoryAllocator to v3.5.0 (@xemu-robot)
  • #3133 - Fix missing dirty bitmap on render and image blit (@abaire)
  • #3128 - nv2a: Remove erroneous signed conversion for SZ_R6G5B5 textures (@abaire)

Issues Fixed

  • #3115 - Update GLSL swizzles dealing with color to use rgba instead of xyzw
  • #859 - The Godfather The Game: graphical issue
  • #1951 - 007 From Russia With Love: Distortion artefact
  • #3126 - R6G5B5 texture format is erroneously treated as signed

Affected Titles

The following titles had issues fixed in this release:

Full Changelog: https://github.com/xemu-project/xemu/compare/v0.8.139...6095054b7d02dfac25fdc4a8ba9300358046e860

NX Infinity

NX Infinity 1.1.0 hotfix .2 - core discovery and game boot

v1.1.0-test.20261102.2 nightly / pre-release
Release notes · 7 files

Hotfix .2 replaces the broken .1 tester build.

  • Fixed normal startup looking in the temporary .NET extraction cache instead of beside the executable. NXI Core is now discovered without special launch arguments.
  • Fixed the protected Switch 1 JIT crashing on duplicate CPU delegate-table keys. Required lookup names remain stable; implementations remain encrypted.
  • Corrected release metadata so the frontend's strict installation verification accepts the package.
  • Rebuilt the core with a thread-safe GPU cleanup queue, fixing a reproduced stop/shutdown race.

Download the entire Windows or Proton ZIP and extract it into a new folder. Replace the complete application package, including its cores folder. Do not replace only the EXE. Existing settings and saves stay in their user-data location.

Validation includes final-ZIP extraction to a new path with spaces/Unicode, starting from outside the application folder, without --install-root. Core discovery, worker verification, game frames and clean shutdown are checked. The CPU delegate table matches all 166 original entries; the GPU cleanup stress check executes all 32,000 callbacks once. All 28 protected modules pass the static decompiler check.

Proton archive installation/reinstallation is tested under Ubuntu WSL; SteamOS/Bazzite gameplay remains unqualified. Pokopia character graphics remain broken, and protection adds overhead. The bundled TOTK timing module is excluded. No games, keys, firmware or saves are included. Required dependency notices/sources are attached. This remains an experimental prerelease.

Final Windows ZIP checks (no installation override):

  • Metroid Prime 4: 3,567 presented frames, no application errors, clean shutdown.
  • Pokopia: 1,773 presented frames, no application errors, clean shutdown.
  • TOTK: 974 presented frames, no application errors, clean shutdown.
  • Brand-new profile: core discovered and verified without keys/firmware installed.

SHA-256:

8a5eea368dd81458d61b4e4825e16fc9085179fdc524b47f5a509210d11b6803  NX-Infinity-1.1.0-test.20261102.2-Windows-x64.zip
19e7246ad9f072069c0f342445f093e97bb5d719b45989f4d800ed7f7dba784e  NX-Infinity-1.1.0-test.20261102.2-Proton-x64.zip
1c1ea24b7f8cbf19617cf12a2c5adfc959f851f2357d7a0f3092da74bfa45582  NX-Infinity-1.1.0-test.20261102.2-Third-Party-Sources.zip
NX Infinity

BROKEN - replaced by hotfix .2

v1.1.0-test.20261102.1 nightly / pre-release
Release notes · 7 files

SUPERSEDED: this build is broken. Download hotfix .2, extract the complete package into a new folder, and replace this version.

BROKEN BUILD: normal startup can report the core missing and prevent games launching. A replacement is being tested. Please do not use this download.

Current work is available for testing on Windows x64 and Linux through Proton.

Includes the current launcher and NXI core, experimental Switch 2 work, cheats/mods, PokeTool, avatars and updated Proton setup.

  • Windows: extract the entire Windows ZIP into a new folder, then open NX Infinity.exe.
  • Proton / SteamOS / Bazzite: extract the Proton ZIP, then run bash Install-NX-Infinity.sh in Desktop Mode. The first launch downloads the Proton runtime. See linux/README.md inside the ZIP for Steam Game Mode setup.
  • Known issues: Pokopia launches, but character graphics are still broken. Protection adds performance overhead. SteamOS/Bazzite gameplay and physical controller, audio and suspend/resume checks still need testers.
  • Protection: all 28 first-party modules use strong obfuscation and encrypted method sections, checked with ILSpy. Debug symbols and internal maps/reports are stripped.
  • Checks: final Windows game test presented 2,867 frames with no application or Vulkan errors and a clean shutdown. Worker protocol matched the original. Protected runtime fixtures and 56 Linux installer/package tests passed. These checks do not qualify every feature or game.

The bundled TOTK timing module is omitted. Required third-party notices are retained; FFmpeg and OpenAL sources are attached separately. No games, keys, firmware or saves are included. This prerelease does not replace the stable auto-update release.

Send testers the Windows or Proton ZIP. The third-party source ZIP contains dependency sources only. Checksums are in SHA256SUMS.txt and the matching .sha256 files.

The final Proton ZIP also passed an actual install/reinstall check under Ubuntu WSL: all 365 manifest files matched, and the existing prefix was retained.

SHA-256:

1b54397638b895e331cd149748ca08ce74ead2ac9007940af06b77d1caa5bc23  NX-Infinity-1.1.0-test.20261102.1-Windows-x64.zip
06c11653839c9264c580321ebb3bc63b2fe164ca633dc18c63f7c04215904e8c  NX-Infinity-1.1.0-test.20261102.1-Proton-x64.zip

Read the full notes →

Ymir

Latest nightly release

latest-nightly nightly / pre-release
Release notes · 8 files

This is a nightly release built from the latest commit. Before you use these builds, make sure to backup your data, especially the save states!

Save states are constantly evolving and are only guaranteed to be compatible on stable (numbered) releases. The file format may be changed without notice, so be careful when using save states from nightly releases.

You can find the changelog for this build here.

[!NOTE] Nightly builds include experimental and in-development features that may not work properly. When reporting issues, make sure to include the version number (Help > About > Copy version).

[!IMPORTANT] It is recommended to install the latest GPU drivers in order to use Direct3D or Vulkan:

Windows users: install the latest Microsoft Visual C++ Redistributable package (x86_64 installer, AArch64/ARM64 installer) before running the emulator. This is mandatory to avoid crashes on startup.

macOS users: follow these instructions to allow Ymir to run on your system. Ymir is signed with an ad-hoc certificate, flagging it as unverified.

Linux users: if you choose to install the Flatpak version, make sure to grant Ymir permission to access the filesystem or your disc images won't load properly.

Xenia Edge

xenia_edge

db0e09c nightly / pre-release
Release notes · 3 files

Changes

  • [UI] Let the dashboard play discs put in through its tray (db0e09c)
  • [XAM] Implement reading a title's name and icon from its SPA (902db50)
  • [Kernel] Implement XeCryptAesCreateKeySchedule and XeCryptAesCbcDecrypt (00f7fce)
  • [Kernel] Implement XexTransformImageKey (93a9534)
  • [Kernel] Fix the DVD tray reporting open as closed (2890686)

Full changelog: https://github.com/has207/xenia-edge/compare/f17accd...db0e09c

Zaxnes

Zaxnes 0.4.2

v0.4.2 release
Release notes · 4 files

Zaxnes 0.4.2

Independent project, not affiliated with Geod Studio or Nintendo. NES is a trademark of Nintendo.

A demo game included, and Zaxnes on Android.

FlappyZaxNes: a demo game, with its 3D profile and widescreen

Zaxnes now includes the demo of a simple game, FlappyZaxNes, with its own 3D profile and widescreen, so that you can get an idea of how the emulator works without having to unlock profiles in 3dSen.

  • A NES game made for Zaxnes, after Flappy NES by filipemd (GPL-3.0): a city scrolling behind the pipes, music, and from the tenth pipe on, pipes that go up and down.
  • At the first start, its ROM is put in your ROM folder and its profile in your profiles, tied together: pick FlappyZaxNes in the ROM list and play. Delete them and they stay deleted, until a new version of Zaxnes brings a new version of the game.
  • Its widescreen is a hack pack like the other games' (the pipes' caps and the clouds shown in the margins); it is documented in rust/docs/hacks/flappyzaxnes/WIDESCREEN-HACK.md.

Android

  • A first APK for Android tablets and handhelds (64-bit ARM, Android 7.0 or later), with the console interface: a gamepad, or a transparent touch pad (shown always, never, or only without a gamepad).
  • Outside a game a finger scrolls the lists and taps the menus; in a game, with the camera unlocked, one finger turns the camera and two fingers zoom. The touch pad also has 2D/3D, recentre and a camera lock.
  • The system keyboard types the RetroAchievements sign-in.
  • Your files go in the app's own folder, Android/data/io.github.nixxou.zaxnes/files (roms, profiles, saves, states, movies): no permission is needed.

Console interface (handhelds, Android, F1 on the desktop)

  • Advanced options: the settings of the desktop window's Video, Camera, Light and Emulation tabs, stepped with the pad.
  • The ROM list's X hint reads "3D Profile"; choosing a profile keeps it for the ROM and goes back to the list, where A plays.
  • On handhelds and Android the experimental Lua paths are on by default.

Downloads

File Platform
Zaxnes-0.4.2-win-x64.zip Windows 10/11 64-bit, OpenGL 3.3 (or Vulkan / DirectX 12). Unzip anywhere and run zaxnes.exe.
Zaxnes-0.4.2-linux-x64.tar.gz Linux x86_64, OpenGL 3.3, SDL2 (libsdl2-2.0-0 on Debian/Ubuntu). Run ./zaxnes.

Read the full notes →

Sunday, November 01, 2026

KytyPS5 U59

Astro Bot DLSS frame generation (astrobot-dlss-int21-23y, experimental)

astrobot-dlss-int21-23y nightly / pre-release
Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564 / PPSA21567 / PPSA21568) and Astro's Playroom (PPSA01325):

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows, Linux, macOS
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 540p / 720p / 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

All of this only switches on where it finds Astro Bot's or Playroom's inputs (depth, motion vectors and camera); in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it), for frame generation.
  • DLSS-G and DLSS upscaling: an NVIDIA RTX card (RTX 40 or 50 for frame generation) with a recent driver (tested: RTX 5080, 617.42), and NVIDIA's Streamline v2.14.1 runtime files (not included, see below).
  • FSR upscaling and FSR frame generation: any GPU. Nothing to download: AMD's amd_fidelityfx_vk.dll (FidelityFX SDK v1.1.4, MIT licence) is included next to the emulator.
  • Linux / macOS: see below (FSR upscaling, FSR frame generation and the render resolution).

Setup

  1. Download this release's zip and unzip it into a new folder.
  2. For DLSS only: download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).
  3. For DLSS only: in the unzipped emulator folder, next to kyty_emulator.exe, make a folder

Read the full notes →

Eden Nightly

Eden Nightly - Nov 01 2026

v1793569440.7a6d055094 nightly / pre-release
Release notes

Nightly build of commit 7a6d055094.

Changelog

  • [desktop] queue FirstFrameDisplayed to fix loading screen race (#4536) 7a6d055094
    • PR #4536 merged on 2026-11-01 by crueter
  • [common] use handrolled string utility conversions instead of wstring codecvt (#3773) c6fa5c1f77
    • PR #3773 merged on 2026-11-01 by lizzie
  • [macos, net] add sysctl(RT_xx)-fetched network interfaces (#3656) 2c40328a23
    • PR #3656 merged on 2026-11-01 by lizzie
  • [fs] use mmap() to read files using VM/pagefaults for higher throughput (#3151) 41b6807f12
    • PR #3151 merged on 2026-11-01 by lizzie
  • [dynarmic] Remove redundant configure struct (#4485) 2bec66c092
    • PR #4485 merged on 2026-11-01 by lizzie
  • [dynarmic] Remove redundant constant pool ops (#4516) be972d7fdc
    • PR #4516 merged on 2026-11-01 by lizzie
  • [dist] reoptimize assets, and add svg optimization (#4537) 972860ac8f
    • PR #4537 merged on 2026-11-01 by crueter
  • [shader_recompiler, renderer_vulkan] draw sprites whose texture handle comes from a vertex attribute (#4566) 3d3ed4b7d1
    • Committed on 2026-11-01 by PavelBARABANOV
  • [docs] fix link to AI and LLM Usage in docs/README.md (#4618) be21ccce25

Read the full notes →

Dolphin

4 commits on 2026-11-01

833d8c0 commits
Show commits
  • 833d8c0 Merge pull request #14704 from JoshuaVandaele/mathutils-23 — JMC47
  • e6ed144 Merge pull request #14006 from jordan-woyak/speaker-accuracy — JMC47
  • 86d5548 Merge pull request #14596 from CySlaytor/master — iwubcode
  • 56076f4 feat(retroachievements): implement achievement notification sounds — CySlaytor
Azahar

Azahar 2127.0 Alpha 4

2127.0-alpha4 nightly / pre-release
Release notes · 23 files

⚠️Important Alpha Information⚠️

As an alpha release, this build is not yet considered stable.

This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development.

If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release.


Azahar 2127.0 Alpha 4

Android

  • Added per-application settings. | @DavidRGriswold, @Producdevity #1856, #2698
    • Mimics the desktop behaviour of being able to configure emulated applications independently.
    • Can be accessed by long pressing the application from the application list.
  • Implemented the use of the ADPF API to hint the OS of CPU work bursts. | @PabloMK7 #2706
    • Improves performance on most Android devices, with a 15% performance boost observed on a Mali device.
  • Skip hidden dot files/folders when scanning for applications. | @wilu222 #2362

All

  • Reduced several audio, frame and input latency sources on all platforms. | @PabloMK7 #2700, #2706
    • Improves audio, frame and input latency by 1-2 frames in some cases.
    • Makes audio time stretching disabled by default.
    • Adds a setting to disable audio effects for the cubeb backend (Windows only).
    • The pull requests descriptions go into more detail on what exactly changed.
  • Added free camera support. | @PabloMK7 #2723
    • Uses the RPC server to submit free camera commands to the emulator from an external script.
    • A python script is provided in the dist folder that contains a global free camera implementation, controllable using a controller.
    • Due to the way the 3DS GPU works, per-application implementations are still the prefered way to do free camera.
  • Added configurable battery state. | @Wunkolo #2513, @PabloMK7 #2743, @DavidRGriswold #2738
    • Allows setting the emulated system battery to a fixed percentage and charging state, or use the host system battery state.
    • Makes the emulated notification LED blink red when the battery is critical.
  • Added a turbo (hold) hotkey. | @DavidRGriswold #1969
    • Not to be confused with the existing turbo hotkey, which is a toggle.
  • Fixed savestates not working with LLE modules enabled. | @PabloMK7 #2730

Read the full notes →

Release notes · 2 files

OpenCDi v0.2.0 - Release Notes

OpenCDi v0.2.0 represents a major architectural milestone. This release replaces the legacy monolithic windowing system with a modern cross-platform frontend (winit + softbuffer), introduces a headless automated testing harness (harness.exe), resolves in-game audio stuttering across the entire software library (Zelda: The Wand of Gamelon, Link: The Faces of Evil, Escape from Cyber City), synchronizes gunshots in FMV rail shooters (Mad Dog 2), refines MPEG-1 / DVC video decoding, and adds custom NVRAM file support via CLI.


Highlights and Key Changes in v0.2.0

1. Cross-Platform Windowing & Modern Frontend (winit + softbuffer)

  • Migrated from minifb to winit (0.30) and softbuffer (0.4.8).
  • Native Linux Support (X11 & Wayland): OpenCDi now builds and runs natively on modern Linux distributions (such as Kubuntu, Ubuntu, Fedora, and Arch) without requiring Wine or Windows GUI emulation, resolving Linux build failures.
  • Foundation for macOS / Apple Silicon: Gated platform-specific Win32 APIs, enabling native POSIX / ARM64 compilation.
  • Enhanced Window Controls: Added RetroArch-style shortcuts:
    • F11 / Alt+Enter: Fullscreen toggle
    • P: Pause / Resume emulation
    • Space (hold): Fast-forward
    • F8: Save Screenshot (PPM)
    • F12: Save Screenshot (BMP)
    • F5 / H: Restart Console (Reset)
    • Esc: Quit

2. Headless Machine Test Harness (harness.exe)

  • Extracted the core machine execution loop into an independent module (Machine::run_frame).
  • Introduces harness.exe for automated batch testing, frame comparison, and audio verification without requiring a window or audio device.
  • Supports scripted input playback and peek reads without CPU side-effects.

3. Complete Elimination of Audio Stuttering in Zelda Games

  • CDIC ADPCM Soundmap Architecture (Zelda: The Wand of Gamelon / Link: The Faces of Evil): In Zelda games, music is synthesized via CDIC Sound Maps rather than streamed disc sectors.
  • Fixed handling of CDIC register 0x3FFA (ZBUF / AUDCTL): buffer reactivation now preserves ADPCM predictor filter states, eliminating harsh DC offset pops and dropouts.
  • Continuous soundmap playback avoids premature termination between buffer reloads.

Read the full notes →

RPS5E

0.1.4-alpha

v0.1.4-alpha nightly / pre-release
Release notes · 2 files

Added

  • On-screen keyboard for games' text input dialogs (sceImeDialog), drawn over the game: type on the keyboard (Enter accepts, Esc cancels) or use the controller (D-pad and Cross on the keys, Circle cancels, Triangle space, Square delete, L1 / R1 move the caret, L2 shift, R2 or Options accept), or click the keys. The game's pads read released while it is shown, and buttons still held when it (or the in-game menu) closes reach the game only after they are released. Before, the dialog was accepted at once with a default text (Demon's Souls' character name). Runs without a window, scripted runs and input recordings and replays still finish the dialog by themselves; RPS5E_IME_HEADLESS=1 does so with a window too.

Changed

  • Play mode no longer waits for shaders at all: a draw whose pipeline is still compiling is skipped from the first frame and drawn from the frame its pipeline is ready (the per-frame wait of 3 ms is now 0, --compile-wait); a pipeline the pipeline cache already holds is made on the spot instead of being skipped (RPS5E_INLINE_PROBE). Draws that write memory, draws without render targets and compute dispatches still wait, since the game and later GPU work read what they write.
  • The saved shader list of a game is built in the background while the game runs (on all compile workers, with "Building the shader cache: done / total" in the corner) instead of before the game starts; --prewarm-wait (RPS5E_PREWARM_WAIT=1) keeps the old behaviour. Tests and input replays still build it first.
  • Compiles are ordered by need: the shaders a draw or dispatch needs now, then the saved list, then the compile lookahead's guesses; an eighth of the compile workers is kept free for the shaders needed now.
  • The compile lookahead also reads the command buffers already queued after the current one, on every GPU queue, and reads past flips and conditional commands (RPS5E_LOOKAHEAD_QUEUED, RPS5E_LOOKAHEAD_GUESS); the GPU command thread starts it whenever it meets a new compute program (RPS5E_LOOKAHEAD_EAGER), so it also works while draws are recorded on their own thread, where it found nothing before.

Read the full notes →

Zaxnes

Zaxnes 0.4.1

v0.4.1 release
Release notes · 3 files

Zaxnes 0.4.1

Independent project, not affiliated with Geod Studio or Nintendo. NES is a trademark of Nintendo.

Widescreen fixes.

Ninja Gaiden III

  • The enemies, lanterns and items the game places on the screen when the camera reaches them now wait in the margins, where they will appear, instead of popping in at the edge of the 4:3 picture.
  • The desert of 2-1: the rock platforms no longer vanish from the margins and the sand no longer goes out of step with the screen.
  • Past the ends of an area, where the game has nothing to show, the margins stay black, cut straight, instead of repeating its edge (boss rooms, ends of levels).
  • Cut scenes no longer show their portrait and text a second time in the margins.
  • New testing aids, off by default, in the USA and Japanese packs: Invincible, and Level select (Select during play goes on from the next checkpoint).

Super Mario Bros. 3

  • The world map keeps its frame whole, with black margins.
  • A piranha plant coming out of a pipe in the margins is hidden by the pipe, as on the screen.

All games

  • In the widescreen margins, a sprite behind the background hides the sprites of lower priority there, as the NES does.
  • The margin decoders read the nametables with the mirroring each row was drawn with (a game that switches it during the frame showed the wrong tiles in the margins).
  • With Pause the 3D in 2D: the 2D view keeps its widescreen margins, and the colour beside the picture is the game's backdrop, not grey.

Downloads

File Platform
Zaxnes-0.4.1-win-x64.zip Windows 10/11 64-bit, OpenGL 3.3 (or Vulkan / DirectX 12). Unzip anywhere and run zaxnes.exe.
Zaxnes-0.4.1-linux-x64.tar.gz Linux x86_64, OpenGL 3.3, SDL2 (libsdl2-2.0-0 on Debian/Ubuntu). Run ./zaxnes.
Zaxnes-0.4.1-portmaster-aarch64.zip PortMaster handhelds. Unzip into the ports folder of the SD card; see zaxnes/README.md.

No ROM and no game profile is included. Bring your own ROMs; for 3D, a .3dn profile per game (if you own 3dSen, File > Import from 3dSen… copies the profiles of your installation). Without a profile, a game runs in 2D or with the default 3D geometry. See HOWTO-RUN.md for the command line.

Licences

Read the full notes →

SharpEmu

SharpEmu v0.0.7-pulse

v0.0.7-pulse release
Release notes · 2 files

Automated SharpEmu v0.0.7-pulse build for commit 791a053.

Changes since v0.0.6-mono

  • [scripts/release.py] fix utf-8 (0896ef68)
  • [readme] update screenshots (c6d304cc)
  • [GPU] Let a fill pattern without a length word span the whole pattern (4ec21480)
  • [GPU] Recognize indexed four-word pattern fills (a95444f4)
  • [SpirvTranslator] Read and write thread-addressed LDS spills through slot variables (14d68762)
  • [SpirvTranslator] Keep constant-base thread-addressed LDS spills out of the private LDS array (54756cff)
  • [Diagnostics] Report the writer of synchronized native color metadata (2e23a3a3)
  • [Diagnostics] Show more frames in GPU wait sites (fb3d2325)
  • [Diagnostics] Raise the GPU interval query and key limits (ec8f2ea1)
  • [Diagnostics] Report the heaviest GPU interval (ff7f3974)
  • [Tests] Cover indexed pattern fills and thread-addressed LDS slots (685dbae6)
  • [Loader] Apply selected XML patches to loaded game images (540365e9)
  • [GUI] Manage game patches in a localized selection window (71e3f277)
  • [Loader] Support typed values and pattern-based game patches (2d438a59)

Read the full notes →

Saturday, October 31, 2026

Zaxnes

Zaxnes 0.4.0

v0.4.0 release
Release notes · 3 files

Zaxnes 0.4.0

Independent project, not affiliated with Geod Studio or Nintendo. NES is a trademark of Nintendo.

New

  • Widescreen. Games made for it, or patched for it, draw past the 256 pixels of the NES picture, in 2D and in 3D. Built-in widescreen hacks for Zelda II, Mega Man 1 to 6, Super Mario Bros., Super Mario Bros. 3, Castlevania, Ninja Gaiden III, Adventure Island, Excitebike, Final Fantasy, Blaster Master, Metroid and Metal Force (Korea), each in a plain and an advanced mode (objects and enemies shown in the margins). The hacks are found by the ROM's signatures, so other builds (Europe, Japan) of these games are covered where a pack exists. A WideScreen & Hacks screen per game shows how well the ROM fits, part by part, and offers each hack's options (No slowdown, Invincible, level select where the game has one).
  • RetroAchievements (softcore): sign in from the options, unlocks, challenges, progress and the list of a game's achievements, on the desktop and on handhelds.
  • Console mode on the desktop (F1 or Home): the handheld interface with the mouse, the keyboard or a pad; the desktop now opens on its ROM list.
  • Options per game over the global ones (render scale, shadows, palette, overscan, catch-up, Lua options...).
  • NES colour palettes: the palettes of the main emulators (Mesen's by default, FCEUX, Nestopia, FirebrandX, Sony CXA, PVM...), for all games or per game.
  • Remove sprite limit: Disabled / Always / Smart (default; Smart keeps the limit where a game relies on it, as Mesen does).
  • Overscan per side, for NTSC and PAL games, per game, cut (Fit) or cropped (Resize).
  • Movies: record, play back and annotate.
  • Save states with a thumbnail, a state screen on handhelds, and saves, states and movies named after the ROM.
  • Vulkan and DirectX 12 on the desktop (Graphics API option); OpenGL stays the default.
  • The 2D view is always seen head on; turning the camera pulls it like a rubber band, then switches to 3D.
  • Mapper 156 (Metal Force, Korea).

Faster

  • Emulation core: about 12-16 % faster (sound and cartridge reads), the same to the cycle and the sample.
  • Widescreen pictures composed three times faster; the 3D conversion of widescreen games back to its normal cost.
  • Rendering: fewer GPU stalls on handheld GPUs (opaque surfaces without discard, palette converted once per frame), the same pictures.

Read the full notes →

Release notes · 1 file

OpenCDi v0.1.9 - Release Notes

OpenCDi v0.1.9 is now available for Windows (x64). This release introduces full Save States and Load States, persistent console memory (NVRAM), exclusive input device handling (eliminating mouse and gamepad signal conflicts), real-time audio pacing without stuttering, and hardware-level emulation fixes for DVC and MCD-212 video controllers.

Additionally, this release integrates a prominent tester feedback entry point directly on the main menu bar to facilitate bug reporting and community testing.


Importance of the Tester Feedback System

The Philips CD-i catalog is technically diverse, featuring proprietary multimedia engines, custom OS-9 file formats, and varying MPEG/ADPCM stream configurations across titles. Comprehensive community feedback is crucial to discovering title-specific regressions, audio timing glitches, and edge cases.

To streamline this process, the Send Feedback (F1) button is now placed directly on the top-level menu bar, accessible with a single click or by pressing F1 at any time during emulation. This connects directly to the dedicated tester feedback portal:

https://cdi-tester-feedback.pages.dev/

Testers are encouraged to report:

  • Boot freezes or games that halt at specific screens.
  • Visual corruption, incorrect color blending, or broken transitions.
  • Audio stuttering, channel drift, or synchronization loss.
  • Controller, button mapping, or mouse cursor anomalies.

Every submission provides reproducible data that accelerates investigation and targeted hardware fixes.


Key Features and Changes in v0.1.9

1. Save States and Load States (Slots 1 - 5)

  • Added full emulation state serialization across 5 dedicated slots.
  • Keyboard shortcuts:
    • F6: Quick Save State (Slot 1)
    • F7: Quick Load State (Slot 1)
  • Accessible through the menu via File -> Save State to Slot and File -> Load State from Slot.
  • Captures an atomic snapshot of the entire machine: SCC68070 CPU registers and memory, MCD-212 VRAM and CLUT palettes, CDIC and ADPCM audio state, 68HC05 Slave microcontroller, and DVC MPEG-1 hardware registers.

2. Persistent Console Memory (NVRAM MK48T08)

  • Game saves and preferences stored in the console's internal non-volatile memory (battery-backed MK48T08 SRAM) are now persistently saved to disk across sessions.

Read the full notes →

Dolphin

11 commits on 2026-10-31

4fb368c commits
Show commits
  • 4fb368c VideoBackends / VideoCommon: split draw calls into separate commit and render steps — iwubcode
  • 613db73 Merge pull request #14958 from bmdhacks/mali-custom-driver — JosJuice
  • c4856ea Merge pull request #14878 from vhoxha08/add-global-hotkeys-android — JosJuice
  • 78a8ab4 Merge pull request #14947 from scatterflower/unaligned-store-fix — JosJuice
  • 2986290 Merge pull request #14944 from Sintendo/arm64-mfspr-sxtw — JosJuice
  • 4707515 Merge pull request #14943 from Sintendo/vertex-arm64 — JosJuice
  • 97b33a2 Merge pull request #14928 from JosJuice/neon-texture-decoder — JosJuice
  • 3ba9b97 Merge pull request #14930 from jordan-woyak/dev-dolphin-determinism — JosJuice
  • 3474634 Merge pull request #14903 from brad0/elf_aux_info_check — JosJuice
  • 1f30867 Merge pull request #14782 from tygyh/Core/Use-lerp-and-midpoint — iwubcode
  • dd5a544 Merge pull request #14964 from jordan-woyak/scrollable-ppconfig-window — jordan-woyak
KytyPS5 U59

Astro Bot DLSS frame generation (astrobot-dlss-int21-23w, experimental)

astrobot-dlss-int21-23w nightly / pre-release
Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564 / PPSA21567 / PPSA21568) and Astro's Playroom (PPSA01325):

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows, Linux, macOS
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 540p / 720p / 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

All of this only switches on where it finds Astro Bot's or Playroom's inputs (depth, motion vectors and camera); in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it), for frame generation.
  • DLSS-G and DLSS upscaling: an NVIDIA RTX card (RTX 40 or 50 for frame generation) with a recent driver (tested: RTX 5080, 617.42), and NVIDIA's Streamline v2.14.1 runtime files (not included, see below).
  • FSR upscaling and FSR frame generation: any GPU. Nothing to download: AMD's amd_fidelityfx_vk.dll (FidelityFX SDK v1.1.4, MIT licence) is included next to the emulator.
  • Linux / macOS: see below (FSR upscaling, FSR frame generation and the render resolution).

Setup

  1. Download this release's zip and unzip it into a new folder.
  2. For DLSS only: download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).
  3. For DLSS only: in the unzipped emulator folder, next to kyty_emulator.exe, make a folder

Read the full notes →

KytyPS5 U59

Astro Bot DLSS frame generation (astrobot-dlss-int21-23v, experimental)

astrobot-dlss-int21-23v nightly / pre-release
Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564 / PPSA21567 / PPSA21568) and Astro's Playroom (PPSA01325):

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows, Linux, macOS
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 540p / 720p / 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

All of this only switches on where it finds Astro Bot's or Playroom's inputs (depth, motion vectors and camera); in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it), for frame generation.
  • DLSS-G and DLSS upscaling: an NVIDIA RTX card (RTX 40 or 50 for frame generation) with a recent driver (tested: RTX 5080, 617.42), and NVIDIA's Streamline v2.14.1 runtime files (not included, see below).
  • FSR upscaling and FSR frame generation: any GPU. Nothing to download: AMD's amd_fidelityfx_vk.dll (FidelityFX SDK v1.1.4, MIT licence) is included next to the emulator.
  • Linux / macOS: see below (FSR upscaling, FSR frame generation and the render resolution).

Setup

  1. Download this release's zip and unzip it into a new folder.
  2. For DLSS only: download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).
  3. For DLSS only: in the unzipped emulator folder, next to kyty_emulator.exe, make a folder

Read the full notes →

Copperline

Copperline 1.1.0

v1.1.0 release
Release notes · 13 files

Copperline 1.1.0 is the first feature release of the 1.x series. Hard drives can now run at the speed of the period drives each Amiga shipped with. The MMU-less 68EC030, 68EC040 and 68EC060 are new CPU choices. The JIT is much faster on fast-RAM code and heavy disk I/O, and has a new "fastest" speed. A500 CIA, interrupt and bus timing are corrected against measurements of a real A500. It also includes every fix made on the 1.x branch since 1.0.1.

Before upgrading

  • Netplay peers must all run 1.1.0. Players and spectators need the same build.
  • Recreate RetroArch save states after updating the core. The core's states carry a build fingerprint that includes the release version.
  • Desktop save states from 1.0.x still load. The CIA chunks are migrated to their new layout. A resumed 1.0.x state continues under the corrected timing, so it can drift from what 1.0.x would have produced (a factory A500 state from 1.0.1 still renders byte-identical frames). States saved by 1.1.0 do not load in 1.0.x, which reports that the state comes from a newer Copperline.
  • Emulated timing has moved. The CIA, interrupt and bus corrections change when some events happen on every machine. Headless scripts and --expect-screenshot images tuned to an exact frame may need new timestamps or new captures.
  • A copperline.toml beside the executable now boots on its own. Startup checks --config, then ./copperline.toml, then a copperline.toml beside the executable (or beside Copperline.app, or beside the .AppImage), then the saved default. If you keep a file with that name there, it now takes over from the saved default. --factory skips it.
  • Relative media paths are also looked for in the [paths] media folders. The working directory is still tried first, so every path that worked before finds the same file.
  • The bundled AROS ROM leaves 1,776 bytes less free memory when a program starts.
  • Going back to 1.0.x: 1.0.x refuses configuration files that use the new keys and values: [cpu] speed, the 68EC030, 68EC040 and 68EC060 models, the drive timing and spin_up keys, and [[drive_profile]] tables.

Period hard-drive timing

Until now every hard-disk transfer finished within the access that started it. timing = "period" on [ide], [scsi] or [lide] (or --hd-timing period) models the drive each machine shipped with instead, so a hard-disk Amiga loads, boots and benchmarks at that drive's speed:

| Machine | Drive |

Read the full notes →

RPS5E

0.1.3-alpha - 2026-10-31

v0.1.3-alpha nightly / pre-release
Release notes · 2 files

Fixed

  • Frame captures (RPS5E_CAPTURE_FRAMES) of GTA V replay again instead of hanging the GPU. While a capture recorded, GPU results copied straight into guest memory were later taken for CPU writes and recorded; the replay wrote them over its own GPU results, which differ where GPU work orders its atomics differently, and the mixed ray-tracing tree sent a shader into an endless loop. GPU results now reach guest memory through copies the capture sees while it records.
  • Silent Hill 2 (Remake) no longer hangs the GPU after START GAME. A small compute write (a 4-byte counter in reused transient memory) at an address where a render target once kept its fast-clear metadata was taken for a metadata clear, which overwrote the counter and left a GPU loop running for billions of iterations; only writes that cover a whole metadata slice count as clears now (RPS5E_WHOLE_METADATA_WRITES).
  • Silent Hill 2 (Remake): the ray-tracing acceleration-structure build after START GAME no longer loops forever on the GPU. Compute shaders whose buffer record count comes from a value computed at run time (here an atomic counter read back with v_readfirstlane) were skipped, so the sort before the tree build never ran; they are translated now (RPS5E_RUNTIME_BUFFER_RECORDS). The game loads and reaches "PRESS ANY BUTTON TO PLAY".
  • Silent Hill 2 (Remake) no longer freezes on the loading screen after START GAME (about one run in six). sceAudioOut2ContextPush in blocking mode returned with the context queue still full, so sceAudioOut2ContextGetQueueLevel right after it reported no free grain; Wwise renders only the free grains and pushes only rendered ones, so its audio thread stopped, and the garbage collector waited forever for an audio bank to unload while holding the loading screen's lock. A blocking push now returns once the queue has room for the next grain.
  • Silent Hill 2 (Remake): the picture after START GAME is no longer black; the opening cutscene and the lookout are drawn. Unreal Engine 5 clears the compression keys of its render targets with a small compute kernel that loads the clear code from a constant buffer; the emulator runs that kernel as a plain memory fill and read the code as out of range (it counted the buffer's records as bytes instead of 16-byte units), so the separate-translucency target was cleared to transparent black instead of (0, 0, 0, 1) and the anti-aliasing pass multiplied the whole scene by 0.

Read the full notes →

Friday, October 30, 2026

AnyPS5

v0.1.4

release
Release notes · 20 files

New Contributors

  • @KarthikeyaAnna made their first contribution in https://github.com/boykopovar/AnyPS5/pull/7966
  • @DoubleAAGuy made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8732
  • @Unkown607 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8095
  • @MayankManas made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8249
  • @Nejilu made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8757
  • @aarushkha made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8554
  • @adhimiw made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8240
  • @ags-arnab made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8805
  • @christophermonterocortes-cr made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8843
  • @NoOverflow made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8471
  • @FitzVB made their first contribution in https://github.com/boykopovar/AnyPS5/pull/2528
  • @mossyanwar made their first contribution in https://github.com/boykopovar/AnyPS5/pull/9234
  • @DangerChamp made their first contribution in https://github.com/boykopovar/AnyPS5/pull/6645
  • @ynkmyz233 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8956
  • @Joacoorandom made their first contribution in https://github.com/boykopovar/AnyPS5/pull/9534
  • @DProkos made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8561
  • @THEBIGTOMMY13DEV made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8902
  • @3mro777o made their first contribution in https://github.com/boykopovar/AnyPS5/pull/7517
  • @THEGABOALE made their first contribution in https://github.com/boykopovar/AnyPS5/pull/9955
  • @taovuokko made their first contribution in https://github.com/boykopovar/AnyPS5/pull/9801
  • @bcortezf made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5965
  • @enfuego27826 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8942
  • @sivasdeadknight made their first contribution in https://github.com/boykopovar/AnyPS5/pull/9854
  • @Kapy2003 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/10372
  • @ZSWolt made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8306
  • @lulebo made their first contribution in https://github.com/boykopovar/AnyPS5/pull/8664

Read the full notes →

KytyPS5 U59

Astro Bot DLSS frame generation (astrobot-dlss-int21-23r, experimental)

astrobot-dlss-int21-23r nightly / pre-release
Release notes · 1 file

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564 / PPSA21567 / PPSA21568) and Astro's Playroom (PPSA01325):

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows, Linux, macOS
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 540p / 720p / 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

All of this only switches on where it finds Astro Bot's or Playroom's inputs (depth, motion vectors and camera); in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it), for frame generation.
  • DLSS-G and DLSS upscaling: an NVIDIA RTX card (RTX 40 or 50 for frame generation) with a recent driver (tested: RTX 5080, 617.42), and NVIDIA's Streamline v2.14.1 runtime files (not included, see below).
  • FSR upscaling and FSR frame generation: any GPU. Nothing to download: AMD's amd_fidelityfx_vk.dll (FidelityFX SDK v1.1.4, MIT licence) is included next to the emulator.
  • Linux / macOS: see below (FSR upscaling, FSR frame generation and the render resolution).

Setup

  1. Download this release's zip and unzip it into a new folder.
  2. For DLSS only: download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).
  3. For DLSS only: in the unzipped emulator folder, next to kyty_emulator.exe, make a folder

Read the full notes →

Dolphin

2 commits on 2026-10-30

2c6a598 commits
Show commits
  • 2c6a598 Merge pull request #14866 from SuperSamus/efb-to-texture-clear-byte — iwubcode
  • 9c2e4af DolphinQt: Make individual tabs of PostProcessingConfigWindow scrollable for shaders with too many settings to fit on the screen. — jordan-woyak
KytyPS5 U59

Astro Bot DLSS frame generation (astrobot-dlss-int21-23q, experimental)

astrobot-dlss-int21-23q nightly / pre-release
Release notes · 2 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564 / PPSA21567 / PPSA21568) and Astro's Playroom (PPSA01325):

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows, Linux, macOS
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 540p / 720p / 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

All of this only switches on where it finds Astro Bot's or Playroom's inputs (depth, motion vectors and camera); in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it), for frame generation.
  • DLSS-G and DLSS upscaling: an NVIDIA RTX card (RTX 40 or 50 for frame generation) with a recent driver (tested: RTX 5080, 617.42), and NVIDIA's Streamline v2.14.1 runtime files (not included, see below).
  • FSR upscaling and FSR frame generation: any GPU. Nothing to download: AMD's amd_fidelityfx_vk.dll (FidelityFX SDK v1.1.4, MIT licence) is included next to the emulator.
  • Linux / macOS: see below (FSR upscaling, FSR frame generation and the render resolution).

Setup

  1. Download this release's zip and unzip it into a new folder.
  2. For DLSS only: download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).
  3. For DLSS only: in the unzipped emulator folder, next to kyty_emulator.exe, make a folder

Read the full notes →

Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564 / PPSA21567 / PPSA21568) and Astro's Playroom (PPSA01325):

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows, Linux, macOS
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 540p / 720p / 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

All of this only switches on where it finds Astro Bot's or Playroom's inputs (depth, motion vectors and camera); in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it), for frame generation.
  • DLSS-G and DLSS upscaling: an NVIDIA RTX card (RTX 40 or 50 for frame generation) with a recent driver (tested: RTX 5080, 617.42), and NVIDIA's Streamline v2.14.1 runtime files (not included, see below).
  • FSR upscaling and FSR frame generation: any GPU. Nothing to download: AMD's amd_fidelityfx_vk.dll (FidelityFX SDK v1.1.4, MIT licence) is included next to the emulator.
  • Linux / macOS: see below (FSR upscaling, FSR frame generation and the render resolution).

Setup

  1. Download this release's zip and unzip it into a new folder.
  2. For DLSS only: download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).
  3. For DLSS only: in the unzipped emulator folder, next to kyty_emulator.exe, make a folder

Read the full notes →

Release notes · 3 files

Another week another release . There are ton of changes , so why not ?

Core

  • Properly check where an input came from for digital->analog input smoothing
  • cpu_patches: Work around Rosetta 2 mistranslating negated scalar compares
  • file_sys: Report stable file identities in stat and fstat
  • Allow file type identification for '/addcont' path
  • emulator: stop clearing temporary data on boot
  • Add PT_SCE_MODULE_PARAM case
  • cpu_patches: Fix JIT patching at addresses outside any module
  • core: Fix MemoryManager::Free unmapping past the released rang
  • file_sys: don't abort when a guest path goes through a regular file
  • use VMA pointers instead of copies in TryWriteBacking
  • cpu_patches: Workaround Rosetta 2 crash on VMASKMOVPS/PD
  • Handle ELF metadata and toolchain comments program headers
  • common: reuse one high-resolution waitable timer per thread in AccurateSleep
  • Don't abort when optional ELF metadata segments can't be read
  • cpu_patches: Fix register clobbering in Rosetta 2 VMASKMOV workaround
  • renderdoc: Add library name for macOS
  • renderdoc: Add alternate path for macOS
  • lru_cache: Fix early stop in ForEachItemBelow
  • Avoid deadlock when Shutdown is re-entered on the same thread
  • Check if elf info is initialized when shutting down

Libraries

  • kernel: Implement I/O event queue APIs with Core::Net integration
  • kernel: fail rmdir on non-empty directories with ENOTEMPTY
  • app_content: Implement sceAppContentTemporaryDataMount
  • kernel: Try lock without wait in timed mutex if deadline has passed
  • usbd: Implement libSceUsbStorage HLE for virtual USB media access
  • http: allowing headers with surrounding whitespace
  • kernel, rtc: Fix timezone and DST calculation
  • music: Implement libSceMusicPlayerService HLE
  • videodec2: Drain pending frames and wrap in RAII
  • usbstorage: Correct OrbisUsbStorageDeviceInfo layout and population
  • app_content: Implement sceAppContentAddcontUnmount
  • app_content: Implement TemporaryData mount and unmount
  • np_auth rewrite
  • Ajm: Auto-detect and safely parse RIFF headers for ATRAC9
  • libSceVoice: stub a disconnected microphone to fix BO2 and BO3 hangs
  • net: report recv_queue_length in sceNetGetSockInfo
  • kernel: Register missing filesystem symbols and fix /dev/null device
  • kernel: return ENOENT from mkdir when the parent does not exist
  • kernel: return EBADF when writing to a file opened read-only

Read the full notes →

Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564 / PPSA21567 / PPSA21568) and Astro's Playroom (PPSA01325):

New in this release -

  1. Built-in Decouple

Decouple is now built into the emulator for Astro Bot (any version and region) and Astro's Playroom. It finds the game's timing code itself, so you don't need the patch file or a button combo. It uses the v3 smoothing and the 1/20 s delta-time cap. The patch file's Decouple and the mods that need it (frame-limiter sleep, precise frame caps, delta-time caps) are skipped while it's on, so use the launcher's Frame rate limit instead. Playroom is smoother too, and no longer runs at double speed above Vblank 60. The console shows Decouple: built-in one on. "KYTY_ASTRO_DECOUPLE": "0", goes back to the patch file.

  1. No more slow motion at level starts

The "[Fix] Bot rescue" mod is now skipped. Its hooks fire when you enter and leave a level, not on rescues, so it was switching Decouple off mid-stage. Rescues work fine without it.

  1. Real DLSS/FSR upscaling in Astro's Playroom

Before, DLSS/FSR only anti-aliased Playroom at the render resolution. Now they upscale the scene to the full output size, with the game's own effects (bloom, particles) kept on top. 540p works too, upscaled 3x and stretched the rest of the way. The HUD is drawn at the render resolution for now: sharp at 1080p and above, a little soft at 720p.

  1. More Astro Bot versions supported

The built-in render resolution and the "too many objects" crash fix now work on:

  • 01.007.000, the disc / unpatched version (thanks to moooohung, PR #3)
  • other versions, found by what the code does and only patched when there's exactly one match
  • the Asian edition (PPSA21568), alongside US and EU

If you're on anything other than 01.018, please post your console's fixed render resolution ... and command buffers x2 ... lines (or the not applied / not found line).

  1. Gyro

The gyro is centred from the start: the resting offset is saved per controller. There's also a new re-centre key (F9 by default, set in the launcher).

  1. Fixes from moooohung (PR #2)

Korean and Japanese text no longer shows as ?, and FSR frame generation now works without FSR upscaling.

| | What it does | GPU | Platforms |

Read the full notes →

PS5PCEM

PS5PCEM 0.3.6

v0.3.6 release
Release notes · 7 files

PS5PCEM 0.3.6

This release collects 71 commits after 0.3.5, including merged contributor history, plus release preparation. It introduces the experimental native DirectX 12 renderer, ZAR loading/extraction, launcher FPS limits and motion sensor input, alongside Vulkan performance, graphics, audio and save fixes.

Downloads

  • Windows x64: portable ZIP and per-user installer. The three applications and installer carry SHA-256 Authenticode signatures and timestamps using the same Artur Strazewicz / PS5PCEM certificate as 0.3.5. The certificate is self-signed; Windows/SmartScreen can still warn.
  • Linux x64: .deb, .rpm, .pacman and .AppImage, with the native GTK 3 launcher, game-run and pkgextractor. See the Linux guide.
  • SHA256SUMS.txt covers all six packages. Linux packages do not use Windows Authenticode signatures.

The CPU baseline remains x86-64-v3 (AVX2/BMI2/FMA). Vulkan remains the default renderer on both platforms. DirectX 12 is Windows-only and experimental. Windows packages include the pinned Microsoft DXC compiler, DXIL validator and license notices; keep these DLLs beside the executables. Linux requires glibc 2.31+, Linux 5.11+ with FSGSBASE/Syscall User Dispatch, GTK 3, X11/XWayland, Vulkan 1.2 and PulseAudio or PipeWire's PulseAudio service. The AppImage uses these system libraries. Games, firmware, keys, saves and shader caches are not included.

Native DirectX 12

The Windows library and Settings now offer Vulkan / DirectX 12. This is a native D3D12/DXGI backend, not a Vulkan translation layer. Unsupported work is reported explicitly; it neither silently switches APIs nor skips draws and reports them as successfully rendered.

  • Shared RDNA2 translation feeds SPIRV-Cross HLSL, Shader Model 5.1 and DXC Shader Model 6 wave shaders. Shader/PSO caches retain compiled programs.
  • Indexed, instanced, bounded indirect, triangle-fan and rectangle draws; NGG passthrough routing, linked varyings, scalar buffers, blend state, depth/stencil attachments, HTILE expansion and mixed multiple render targets.
  • Tiled surfaces, BC textures, video sampling, packed RGBA4444, RGBA16F and R16_UNORM; cube/2D-array textures, mip chains, 3D volume sampling and anisotropic filtering. DMA transfers now populate uploaded font atlases.
  • Checked fragment loops reject exhausted shader execution instead of

Read the full notes →

Thursday, October 29, 2026

Eden NX2

NX2 release

nx2-2026-10-29 nightly / pre-release
Release notes · 1 file

I can't reliably test any other platform since I'm only on windows, and WSL usually has inaccuracies, but the source is there if you want to convert it to linux

experimental switch 2 integration for eden

needs a lot of fixes but its something to start with, some mesh is missing due to unimplemented shaders

Source: branch eden-nx2. Built the way Eden's own CI builds Windows releases (clang-cl, Release, static Qt).

Download

Windows (x64): Eden-Windows-nx2-2026-10-29-amd64-msvc-standard.zip, containing both apps:

  • eden.exe: the normal Eden app. Open the game with File > Load File and pick exefs\main inside the game folder.
  • eden-cli.exe: the command-line version: eden-cli.exe -g "C:\path\to\game folder\exefs\main".

Requirements: Windows 10/11 64-bit, the Microsoft Visual C++ Redistributable (x64), and a Vulkan GPU with 8 GB+ VRAM and 16 GB+ RAM.

Eden is licensed under the GNU GPL v3.

Wednesday, October 28, 2026

RPS5E

0.1.2-alpha

v0.1.2-alpha nightly / pre-release
Release notes · 2 files

Added

  • Games run straight from disk images of game dumps, without extracting them: exFAT images (.exfat, also inside an MBR or GPT partition), .ffpfsc containers (a PS5 PFS image holding a compressed exFAT image) and UFS2 images (.ffpkg dumps made on the console). The game folder is found anywhere inside the image.
  • The launcher lists .exfat and .ffpfsc files with their title, version and icon, and its file pickers accept them; info-pkg and install-pkg read them too.
  • PS5 fake packages ("\x7FFIH" packages made in plain-text mode) run straight from the .pkg, without extracting them: the Kraken-compressed game image is decoded on demand, and the package's metadata (title, version, icon, sce_sys/param.json) is read from it. info-pkg and the launcher show them; PS5 retail packages are still reported as encrypted. Silent Hill 2 (Remake) starts from its 48 GB package and reaches the main menu and the New Game settings at about 1 fps; it can still crash right after the start screen (with RPS5E_LABELS_AT_EOP=through it does not), and loading a new game stalls.
  • Kraken-compressed PFSC files (the PS5 per-file compression) are read; other PS5 compression formats are reported as unsupported instead of failing to read.
  • imports, info and load on a package read its eboot.bin instead of loading the whole package file.
  • libSceNpAuthAuthorizedAppDialog (open, status, result, close), libSceHttp2 WebSockets (offline: requests fail as without a network), sceSaveDataPrepareForTransferring, libSceTextToSpeech2 Speak/Close/Terminate, and the libc thread-destructor calls _sceLibcInternalThreadDtors and _sceLibcInternalForceTlsDestructor.

Fixed

  • Minecraft no longer crashes right at start: system libraries now provide their data objects (the IPv6 addresses in6addr_any, in6addr_loopback and the others of libSceNet) with real memory. Minecraft reaches the menus and gameplay.
  • libSceNpAuth checks its arguments in the console's order and returns its error codes (invalid argument, invalid size, signed out) without writing the outputs on failure.
  • Thread-local destructors run the way the console runs them: newest first, in up to four passes, and only while their module is still loaded.

Read the full notes →

ruzu

Ruzu v0.1.1-rc8

v0.1.1-rc8 release
Release notes · 7 files

This release candidate completes support for the cheat instructions implemented by Eden's DMNT engine and improves cheat-file parsing and process targeting.

This is a pre-release for testing before v0.1.1. Feedback and reproducible bug reports are welcome. It includes all improvements from rc1 through rc7.

What's new since rc7

  • Extended cheat instructions: implemented register comparisons, register save/restore operations and masks, persistent static registers, process pause/resume, and debug logging, with all operand and addressing forms supported by Eden.
  • Cheat execution: corrected nested if/else handling, loop decoding, arithmetic behavior, and handling of truncated or unknown instructions. Controller input is sampled once per execution so multiple button conditions see the same input state.
  • Cheat files and process targeting: fixed parsing of names containing Unicode symbols or accents. Memory operations and pause/resume now target the process identified by the cheat metadata, with a cached non-owning process reference.
  • Regression coverage: 24 cheat-engine tests pass, covering instruction execution, memory widths, pointer chains, branches, loops, register persistence, parsing, and process selection. All 96 tests selected by the memory test filter pass.
  • Linux packaging: Debian package versions are now derived from the release tag.

Known limitations

All instructions supported by the compared Eden DMNT engine are implemented. This does not guarantee that every third-party cheat works: cheats must match the game's build ID and use valid addresses. The Wonder 99 Lives regression passes against synthetic memory; its effect during gameplay still needs confirmation. End-to-end compatibility with third-party injected CheatVM modules remains unverified.

The full core test suite still has existing failures and a scheduler-test hang. This release does not resolve every freeze, black-screen issue, or audio glitch. Multi-program game compatibility remains experimental, and the native Metal backend on macOS remains alpha.

Downloads

On Windows, choose the installer or extract the standalone ZIP. Windows packages are available first; macOS and Linux download links will become available as their packages are uploaded.

Platform Download

Read the full notes →

ruzu

Ruzu v0.1.1-rc7

v0.1.1-rc7 release
Release notes · 7 files

This release candidate fixes several cheat-engine decoding errors, adds missing process-memory service calls, and addresses an applet command that caused some game to abort.

This is a pre-release for testing before v0.1.1. Feedback and reproducible bug reports are welcome. It includes all improvements from rc1 through rc6.

What's new since rc6

  • Cheat execution: corrected data widths, register selection, immediate values, and pointer-chain offsets. These errors could prevent loaded cheats from taking effect.
  • Process-memory services: wired SetProcessMemoryPermission, MapProcessMemory, and UnmapProcessMemory into both ARM64 and ARM32 system-call dispatch. Aligned permission handling and validation order with Eden, with tests for writable aliases, unmapping, and error handling. This addresses missing calls needed by injected cheat modules; end-to-end compatibility with third-party CheatVM modules is not yet verified.
  • Applet compatibility: added Eden's success response for ILibraryAppletAccessor command 90. Also implemented GetLibraryAppletInfo to return the child applet's identity and mode.
  • Windows interface: fixed missing checkmark icons on the OK and Apply buttons in per-game configuration.

Known limitations

The cheat engine is not yet fully compatible with every instruction. The Wonder cheat regression passes against synthetic memory; confirmation of its effect during gameplay is still needed. Extended cheat instructions require further work.

Focused regression tests pass, but the full core test suite still has existing failures and a scheduler-test hang. This release does not resolve every freeze, black-screen issue, or audio glitch. Multi-program game compatibility remains experimental, and the native Metal backend on macOS remains alpha.

Downloads

On Windows, choose the installer or extract the standalone ZIP. Windows packages are available first; macOS and Linux download links will become available as their packages are uploaded.

Platform Download
Windows — Installer Ruzu-Windows-v0.1.1-rc7-x64-msvc-installer.exe
Windows — Standalone Ruzu-Windows-v0.1.1-rc7-x64-msvc.zip

Read the full notes →

RPS5E

0.1.1-alpha

v0.1.1-alpha nightly / pre-release
Release notes · 2 files

Added

  • Display resolution setting (720p, 1080p or 2160p) in the launcher, the "Run with..." dialog, --display-resolution and RPS5E_DISPLAY_RESOLUTION: games that ask the console for the TV's resolution are told the chosen one, as a PS5 on that TV would answer; the default stays 2160p.
  • PlayGo: scePlayGoRequestOptionalChunk, scePlayGoGetRequiredDisc, scePlayGoRequestNextChunk, scePlayGoSnapshot and scePlayGoSetInstallSpeed2 are implemented. The library now tracks its initialized and open-handle state (NOT_INITIALIZED, ALREADY_INITIALIZED, BAD_HANDLE after close), remembers the install speed that was set, and answers a chunk-id count query made without a list buffer.

Performance

  • GTA V in the city: the longest stalls are much shorter (about 2.5 s instead of 10 s) and driving stutters far less. The frame rate in the city is still low (about 7 fps now that the ray-traced reflections are drawn) and far from playable.
  • Wave64 compute shaders on 32-wide GPUs (NVIDIA): lane stacks and register spills stay in registers, ballots share one exchange, and programs from 16 VGPRs run split; the ray traversal of GTA V takes about a third of its former GPU time.
  • A CPU read of a descriptor the GPU wrote waits only for the copy that brought that word to memory, not for all queued GPU work.
  • Texture uploads that do not fit the full staging ring read guest memory directly (the stall when GTA V enters the city: about 4 s → 1.5 s).
  • Ray-tracing shaders read BVH nodes with vector loads: the ray traversal of GTA V is about 8 % faster.

Fixed

  • GTA V: car paint, mirrors and wheel rims no longer look pink or magenta, and the square patches in car reflections are gone. The pass that shades ray-traced reflections never ran, so its magenta placeholders stayed in the picture.
  • GTA V: no more grey dots, dotted trails and smears on signs, cars and characters. A render target the game clears with a "single colour" DCC clear was never cleared, so old depth values piled up and broke depth of field.
  • Windows: shader and pipeline caches are kept in %LOCALAPPDATA%\rps5e; before, they needed HOME and were missing without it.
  • PS5_HLE_TRACE with a relative path writes to that path instead of a fixed file in /tmp.
  • Default keyboard layout: the left and right halves of the touch pad are on Z and X (they had no key).

Read the full notes →

Tuesday, October 27, 2026

Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564) and Astro's Playroom (PPSA01325):

New in this release -

  1. Continuous gyro calibration

What it does: whenever the controller has been still for half a second (barely rotating, with gravity steady), the emulator learns the gyro’s resting offset and removes it from every reading. That covers both the rotation speed the game reads and the orientation the emulator works out from it, so aim and tilt should stop creeping sideways. When it adjusts: the first estimate is ready after about a second of stillness. After that it adjusts slowly, so it follows the sensor warming up but doesn’t eat intentional slow movements. Each controller learns its own offset. What you’ll see: the console prints Gyro calibration: resting offset x, y, z degrees/s removed ... once it has learned the offset, so you’ll see your controller’s actual drift figure. "KYTY_GYRO_CALIBRATION": "0", turns it off.

This fixes the gyro drifting out of sync in Astro Bot

2.Minor Housekeeping

Re-ordered some elements of the launcher.

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows, Linux, macOS
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 540p / 720p / 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

All of this only switches on where it finds Astro Bot's or Playroom's inputs (depth, motion vectors and camera); in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display >

Read the full notes →

Monday, October 26, 2026

Release notes · 5 files

NX Infinity v1 is here.

an entirely remade Switch themed Desktop + HOME UI, built on a fork of the Ryujinx core through Kenji-NX with extensive repairs and performance improvements. credit to the original teams and to sakasakiking for Dune's design origins.

what's in v1:

  • HD landscape backgrounds from metadata. game covers stay on the tiles.
  • smoother HOME controller movement, better stick handling and stable focus.
  • MP4 graphics defaults at 1.5× resolution and 16× filtering.
  • Low-end GPU and Minimum load modes, including per-game settings.
  • shader and texture-tracking repairs, faster repeat launches and a cached library at startup.
  • controller reconnect and touchscreen pointer controls.
  • themes, avatars, save tools and local translation options.

Windows: download NX-Infinity-v1.0.0-win-x64.zip, extract it and open NX Infinity.exe.

Linux / Proton: download NX-Infinity-v1.0.0-linux-proton-x64.zip, extract it and run Install-NX-Infinity.sh. The application files match the Windows package byte for byte. Python 3.11+, Vulkan drivers and internet access are needed for first setup.

The release includes checksums, the audit receipt and Defender scan results. Windows startup and the updated UI checks pass. Proton installation, reinstall and save-prefix preservation pass under Ubuntu WSL.

MP4 still stutters. Linux desktop gameplay and 3D All-Stars touch interaction need more testing. Test notes.

developer: COYE / coye2

dev team testers: IL DENTE PROIBITO and ShadowEddyx12. thank you for helping get this out.

Full changelog · Credits · Support me on Ko-fi

Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564) and Astro's Playroom (PPSA01325):

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows, Linux, macOS
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 540p / 720p / 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

All of this only switches on where it finds Astro Bot's or Playroom's inputs (depth, motion vectors and camera); in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it), for frame generation.
  • DLSS-G and DLSS upscaling: an NVIDIA RTX card (RTX 40 or 50 for frame generation) with a recent driver (tested: RTX 5080, 617.42), and NVIDIA's Streamline v2.14.1 runtime files (not included, see below).
  • FSR upscaling and FSR frame generation: any GPU. Nothing to download: AMD's amd_fidelityfx_vk.dll (FidelityFX SDK v1.1.4, MIT licence) is included next to the emulator.
  • Linux / macOS: see below (FSR upscaling, FSR frame generation and the render resolution).

Setup

  1. Download this release's zip and unzip it into a new folder.
  2. For DLSS only: download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).
  3. For DLSS only: in the unzipped emulator folder, next to kyty_emulator.exe, make a folder

Read the full notes →

KytyPlus

v5.1

release
Release notes · 3 files

KytyPlus v5.1

Two changes aimed at the same class of failure: running out of graphics memory, and a shader that a Mac driver simply refuses to build.

Making room for a large texture (issue #17)

  • A cached texture is now evicted to fit a new one, instead of the allocation being refused. The periodic collector was gated on usage thresholds and freed at most 10, 20 or 40 images per pass, so a title asking for one big allocation at a scene transition could be refused while hundreds of stale textures sat in the cache. Inserting an image now checks what the device reports as free, and evicts least-recently-used textures until the request fits with headroom.
  • The headroom is deliberate. The driver still needs memory for its own page tables and staging, so the target is not the last byte of the heap; aiming at that trades this failure for a worse one later in the same frame.
  • The previous release could only trim buffers from this point, because image creation happens while the texture cache lock is held and calling the collector from there would have deadlocked. The eviction now runs where the lock is already held, which is what makes it possible at all.
  • This is still containment. If nothing is reclaimable the run ends as before, and nothing here explains why memory fills up. On an 8 GB card a title that genuinely needs more will now thrash rather than abort, which gets further but is not a fix.

Apple Silicon: vertex shaders that use lane operations (issue #18)

  • Metal cannot compile a subgroup operation into a vertex, tessellation or geometry function at all - not a missing feature, a hard refusal - and a Unity title on an M1 was dying at pipeline creation because the recompiler emitted gl_SubgroupInvocationID and friends there. Those stages now emit as a wave of one lane: the lane index is zero, a shuffle returns the value in hand, a ballot reports only the invoking lane, and the subgroup barrier is dropped.
  • Pixel and compute shaders are unchanged, since Metal supports subgroups in both. Windows and Linux are unaffected by construction - the fallback is compiled in only for Apple.
  • This is a degradation, not an emulation. A title that genuinely exchanges data between vertex invocations will render incorrectly where it used to stop running. That is the only option Metal leaves, and rendering something is the better failure.

Known issues

Read the full notes →

Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564) and Astro's Playroom (PPSA01325):

What's new in build 18

Silky-smooth frame times on G-Sync / FreeSync displays Set Present mode: Immediate with Smooth frame pacing ticked. A late frame is now shown the moment it's ready instead of being doubled, so frame times stay remarkably even. In a busy Astro Bot level (Sky Garden) the visible hitches dropped from 97 a minute to 7, and the slowest 1% of frames went from 33 ms to 23 ms.

Then pick a Vblank frequency your PC holds even in the busiest levels: a steady lower rate feels far smoother than a higher one that keeps dipping. Tester's setup (RTX 5080), smooth all the way through: Vblank 40, Frame generation 2x, Frame rate limit 80, Immediate, Smooth frame pacing, G-Sync on.

Fixed: slow motion with frame generation With Smooth frame pacing on, frames that took a little too long to present (most often with DLSS-G 3x) cost the game vblanks, so Astro Bot could drop into slow motion until the next load. The game now gets every vblank on time, at 2x, 3x and 4x.

Also since build 17

  • 960x540 and 1280x720 render resolutions for both Astro Bot and Astro's Playroom (launcher: Render resolution, no patch needed)
  • Playroom no longer runs too fast with Immediate + Smooth frame pacing
  • FSR 3.1 frame generation on Linux and macOS (new, untested on real hardware)

Without a variable-refresh display, keep Present mode on FIFO. Astro's Playroom: keep Vblank at 60. Full notes, setup and known issues below.

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows, Linux, macOS
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 540p / 720p / 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

Read the full notes →

RPS5E

First public alpha

0.1.0-alpha.1 nightly / pre-release
Release notes · 2 files

Emulation

  • SELF/ELF loading of decrypted games and modules, relocation and import linking; the game's own modules (libc.prx, middleware) run natively.
  • Native execution of guest x86-64 code with patched fs: TLS access; AMD-only instructions emulated or patched on Intel CPUs.
  • HLE system libraries: kernel (memory, threads, synchronisation, files, events, sockets), libc, AGC GPU driver and command processor, video out, audio (AudioOut, AJM, Ngs2, ATRAC9, MP3), AvPlayer and video decoding (FFmpeg), pad, user and system services, save data, trophies, fonts, IME, SSL, HTTP, PlayGo and more.
  • GPU: PM4 command processing on Vulkan 1.3, RDNA shader recompiler to SPIR-V, image cache with aliasing and CPU write tracking, BC decompression, mesh-shader primitive paths, HDR10 output.
  • Fake PKG, PFS and PFSC containers: info, install and direct run.
  • Windows build (x86_64-pc-windows-gnu) besides Linux.

Launcher and usability

  • Launcher (rps5e): game library with folders, packages, covers, search, grid and list views; per-game emulator settings; run logs.
  • Controls: keyboard, mouse and SDL3 controllers with press-to-bind, global bindings with per-game input profiles, up to 4 players, DualSense adaptive triggers, light bar, touch pad and motion.
  • In-game menu (F1 / PS button): controls with the DualSense picture, graphics, audio and system settings.
  • Shader precompilation before the game starts, with progress; portable per-game shader cache export and import (CLI and launcher).
  • Input recording and replay (--record-input, --replay-input, scripts/input-test.sh).
  • Report issue: a prefilled GitHub issue (game, versions, OS, GPU, log tail) from the game menu and after a crash.
  • Performance overlay (F10), frame dumps, GPU frame capture and replay.
  • Application icon in the windows and in the Windows executables; Linux desktop entry installed by make install.
Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564) and Astro's Playroom (PPSA01325):

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows, Linux, macOS
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 540p / 720p / 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

All of this only switches on where it finds Astro Bot's or Playroom's inputs (depth, motion vectors and camera); in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it), for frame generation.
  • DLSS-G and DLSS upscaling: an NVIDIA RTX card (RTX 40 or 50 for frame generation) with a recent driver (tested: RTX 5080, 617.42), and NVIDIA's Streamline v2.14.1 runtime files (not included, see below).
  • FSR upscaling and FSR frame generation: any GPU. Nothing to download: AMD's amd_fidelityfx_vk.dll (FidelityFX SDK v1.1.4, MIT licence) is included next to the emulator.
  • Linux / macOS: see below (FSR upscaling, FSR frame generation and the render resolution).

Setup

  1. Download this release's zip and unzip it into a new folder.
  2. For DLSS only: download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).
  3. For DLSS only: in the unzipped emulator folder, next to kyty_emulator.exe, make a folder

Read the full notes →

Sunday, October 25, 2026

KytyPS5 U59

Astro Bot DLSS frame generation (astrobot-dlss-int21-11, experimental)

astrobot-dlss-int21-11 nightly / pre-release
Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS frame generation for Astro Bot

An experimental, unofficial test build of Jetsku/KytyPS5 that adds NVIDIA DLSS frame generation (DLSS-G) and, new and experimental, DLSS upscaling (DLSS super resolution) to ASTRO BOT (PPSA21564). Everything else is Jetsku's U59 int21 release (24 October 2026).

Frame generation only switches on where it finds Astro Bot's inputs; in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it).
  • An NVIDIA RTX 40 or RTX 50 graphics card and a recent driver (tested: RTX 5080, 617.42).
  • NVIDIA's Streamline v2.14.1 runtime files (not included, see below).

Setup

  1. Download this release's zip and unzip it into a new folder.

  2. Download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).

  3. In the unzipped emulator folder, next to kyty_emulator.exe, make a folder named exactly streamline and copy into it the files from the Streamline zip's bin\x64 folder (the files themselves; the development subfolder is not needed).

    KytyPS5-AstroBot-DLSSG\
    ├── kyty_emulator.exe
    ├── kyty_launcher.exe
    ├── ...
    └── streamline\
        ├── sl.interposer.dll
        ├── sl.common.dll
        ├── sl.dlss_g.dll
        ├── sl.reflex.dll
        ├── sl.pcl.dll
        ├── nvngx_dlssg.dll
        └── ...
    
  4. Turn NVIDIA Smooth Motion off for kyty_emulator.exe in the NVIDIA App (the two clash).

  5. Start Astro Bot from the launcher as usual.

Checking it works

The emulator's console window shows, in order:

Frame generation: Streamline loaded from ...\streamline (1 generated frame(s) per frame)
Frame generation: Streamline offers DLSS-G with this GPU, driver and Windows
Frame generation: Vulkan is loaded from sl.interposer.dll (Streamline's interposer, as needed)
Frame generation: DLSS-G ready (1 generated frame(s) per frame); it turns on in the game's 3D view

Read the full notes →

Release notes · 3 files

KytyPS5 (Jetsku U59) with DLSS and FSR for Astro Bot and Astro's Playroom

An experimental, unofficial test build of Jetsku/KytyPS5 that adds frame generation and modern upscaling to ASTRO BOT (PPSA21564) and Astro's Playroom (PPSA01325):

What it does GPU Platforms
NVIDIA DLSS frame generation (DLSS-G) 2x, 3x, 4x generated frames, with Reflex RTX 40 / 50 (3x/4x: RTX 50) Windows
AMD FSR 3.1 frame generation 2x generated frames any GPU (AMD, Intel, RTX 20/30, ...) Windows
NVIDIA DLSS upscaling (super resolution) replaces the game's TAA any RTX Windows
AMD FSR 3.1 upscaling replaces the game's TAA any Vulkan GPU Windows, Linux, macOS
Built-in render resolution 1080p / 1368p / 1872p / 2160p, no patch file needed any all

Everything else is Jetsku's U59 int21 release (24 October 2026).

All of this only switches on where it finds Astro Bot's or Playroom's inputs (depth, motion vectors and camera); in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it), for frame generation.
  • DLSS-G and DLSS upscaling: an NVIDIA RTX card (RTX 40 or 50 for frame generation) with a recent driver (tested: RTX 5080, 617.42), and NVIDIA's Streamline v2.14.1 runtime files (not included, see below).
  • FSR upscaling and FSR frame generation: any GPU. Nothing to download: AMD's amd_fidelityfx_vk.dll (FidelityFX SDK v1.1.4, MIT licence) is included next to the emulator.
  • Linux / macOS: see below (FSR upscaling and render resolution only).

Setup

  1. Download this release's zip and unzip it into a new folder.
  2. For DLSS only: download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).
  3. For DLSS only: in the unzipped emulator folder, next to kyty_emulator.exe, make a folder named exactly streamline and copy into it the files from the Streamline zip's bin\x64 folder

Read the full notes →

KytyPS5 U59

Astro Bot DLSS frame generation (astrobot-dlss-int21-7, experimental)

astrobot-dlss-int21-7 nightly / pre-release
Release notes · 1 file

KytyPS5 (Jetsku U59) with DLSS frame generation for Astro Bot

An experimental, unofficial test build of Jetsku/KytyPS5 that adds NVIDIA DLSS frame generation (DLSS-G) and, new and experimental, DLSS upscaling (DLSS super resolution) to ASTRO BOT (PPSA21564). Everything else is Jetsku's U59 int21 release (24 October 2026).

Frame generation only switches on where it finds Astro Bot's inputs; in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it).
  • An NVIDIA RTX 40 or RTX 50 graphics card and a recent driver (tested: RTX 5080, 617.42).
  • NVIDIA's Streamline v2.14.1 runtime files (not included, see below).

Setup

  1. Download this release's zip and unzip it into a new folder.

  2. Download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).

  3. In the unzipped emulator folder, next to kyty_emulator.exe, make a folder named exactly streamline and copy into it the files from the Streamline zip's bin\x64 folder (the files themselves; the development subfolder is not needed).

    KytyPS5-AstroBot-DLSSG\
    ├── kyty_emulator.exe
    ├── kyty_launcher.exe
    ├── ...
    └── streamline\
        ├── sl.interposer.dll
        ├── sl.common.dll
        ├── sl.dlss_g.dll
        ├── sl.reflex.dll
        ├── sl.pcl.dll
        ├── nvngx_dlssg.dll
        └── ...
    
  4. Turn NVIDIA Smooth Motion off for kyty_emulator.exe in the NVIDIA App (the two clash).

  5. Start Astro Bot from the launcher as usual.

Checking it works

The emulator's console window shows, in order:

Frame generation: Streamline loaded from ...\streamline (1 generated frame(s) per frame)
Frame generation: Streamline offers DLSS-G with this GPU, driver and Windows
Frame generation: Vulkan is loaded from sl.interposer.dll (Streamline's interposer, as needed)
Frame generation: DLSS-G ready (1 generated frame(s) per frame); it turns on in the game's 3D view

Read the full notes →

KytyPS5 U59

Astro Bot DLSS frame generation (astrobot-dlss-int21-3, experimental)

astrobot-dlss-int21-3 nightly / pre-release
Release notes · 1 file

KytyPS5 (Jetsku U59) with DLSS frame generation for Astro Bot

An experimental, unofficial test build of Jetsku/KytyPS5 that adds NVIDIA DLSS frame generation (DLSS-G) and, new and experimental, DLSS upscaling (DLSS super resolution) to ASTRO BOT (PPSA21564). Everything else is Jetsku's U59 int21 release (24 October 2026).

Frame generation only switches on where it finds Astro Bot's inputs; in other games it stays off. With the streamline folder present Streamline still sits between the emulator and the driver, so if another game misbehaves with this build, set KYTY_FRAMEGEN=0 or remove the folder.

Requirements

  • Windows 10/11 with hardware-accelerated GPU scheduling on (Settings > System > Display > Graphics > Advanced graphics settings; restart after changing it).
  • An NVIDIA RTX 40 or RTX 50 graphics card and a recent driver (tested: RTX 5080, 617.42).
  • NVIDIA's Streamline v2.14.1 runtime files (not included, see below).

Setup

  1. Download this release's zip and unzip it into a new folder.

  2. Download NVIDIA Streamline v2.14.1: https://github.com/NVIDIA-RTX/Streamline/releases/tag/v2.14.1 - pick streamline-sdk-v2.14.1.zip (not the aarch64/arm64ec ones).

  3. In the unzipped emulator folder, next to kyty_emulator.exe, make a folder named exactly streamline and copy into it the files from the Streamline zip's bin\x64 folder (the files themselves; the development subfolder is not needed).

    KytyPS5-AstroBot-DLSSG\
    ├── kyty_emulator.exe
    ├── kyty_launcher.exe
    ├── ...
    └── streamline\
        ├── sl.interposer.dll
        ├── sl.common.dll
        ├── sl.dlss_g.dll
        ├── sl.reflex.dll
        ├── sl.pcl.dll
        ├── nvngx_dlssg.dll
        └── ...
    
  4. Turn NVIDIA Smooth Motion off for kyty_emulator.exe in the NVIDIA App (the two clash).

  5. Start Astro Bot from the launcher as usual.

Checking it works

The emulator's console window shows, in order:

Frame generation: Streamline loaded from ...\streamline (1 generated frame(s) per frame)
Frame generation: Streamline offers DLSS-G with this GPU, driver and Windows
Frame generation: Vulkan is loaded from sl.interposer.dll (Streamline's interposer, as needed)
Frame generation: DLSS-G ready (1 generated frame(s) per frame); it turns on in the game's 3D view

Read the full notes →

Dolphin

5 commits on 2026-10-25

3eb30c7 commits
Show commits
  • 3eb30c7 Merge pull request #14939 from SuperSamus/ppc-analyst-no-strncmp — AdmiralCurtiss
  • edce789 Merge pull request #14853 from SuperSamus/jit-trampoline-info-optimize — JosJuice
  • f8e6bed Merge pull request #14952 from jordan-woyak/common-thread-remove-unused — JosJuice
  • fa108cf Common/Thread: Remove unused non-Windows INFINITE macro. — jordan-woyak
  • d7c0fde Common/Thread: Remove unused SwitchCurrentThread function. — jordan-woyak
Release notes · 1 file

OpenCDi v0.1.8 – Release Notes

Welcome to OpenCDi v0.1.8! This release brings major quality-of-life enhancements to the user interface, including a custom application icon, a recent disc image history, direct physical optical CD-ROM drive support, and key hardware fixes for the Digital Video Cartridge (DVC / MPEG-1) and MCD-212 Display Controller.


Highlights in v0.1.8

1. Custom Application Icon

  • Native PE Resource: OpenCDi now features an embedded high-resolution application icon compiled directly into the Windows executable via winres.
  • Desktop & Taskbar Integration: The icon is displayed natively in Windows File Explorer, on the application window title bar, and in the taskbar.

2. Recent Disc Images History (Up to 10 Discs)

  • Fast 1-Click Reload: Added a new File → Recent Disc Images submenu listing the last 10 loaded disc images with rapid keyboard accelerators (&1 through &0).
  • Persistent Storage: Disc history is saved automatically to opencdi_recent.txt and dynamically updates at runtime when opening, hot-swapping, or resetting games.
  • History Management: Includes a dedicated Clear Recent Images History menu option.

3. Physical Optical CD-ROM Drive Support

  • Play Real Discs: Automatically scans and detects host optical drives (CD-ROM / DVD-ROM).
  • Native Menu Options: Directly boot real CD-i discs from your PC drive (Boot Real Disc (D:) & Restart) or hot-swap multi-disc games on the fly without console restart.

4. Digital Video Cartridge (DVC / CL450 MPEG-1) Fixes

  • Frame Persistence in DRAM: Eliminated premature black frames and visual blinking at stream boundaries. Real CD-i DVC hardware retains the last decoded frame in DRAM until the next picture is ready.
  • Death Cutscene Blanking Fix: Resolved premature FMV window closing on player deaths in titles like Dragon's Lair and Space Ace.
  • CL450 Register Safety: Guarded host driver registers (0x02 and 0x04) from being overwritten by the decoder; video sequence geometry is now properly mapped to registers 0x52 and 0x54.
  • Unified Stream Demuxing: Implemented simultaneous video draining from both FMV and FMA demux buffers.

5. Philips/Motorola MCD-212 Display Controller

  • DCP Register Latching: Fixed access to the Display Command Pointer (DCP) registers at offsets 0x0A and 0x1A according to official MCD-212 hardware specifications.

Read the full notes →

DuckStation

Latest Rolling Release

latest release
Release notes · 14 files

Commits

  • 1b79c8b44 Deps: Update to 20261010
  • 6a9c29604 Achievements: Extract bucket names out of FullscreenUI
  • e468c8084 Achievements: Separate login and credential saving steps
  • 3856bf0c3 SettingsInterface: Guard against copying to self
  • 8af1da4fc Threading: Add WaitFor() to ConditionVariable
  • fdb7e8f7b GameDatabase: Sort disc sets by save title
  • 363da8d4f GameList: Don't persist cache map between refreshes
  • deaa4a44b GameList: Allow use of external SettingsInterface
  • 43cf72faa GameList: Synchronize settings between FullscreenUI and Qt
  • b8ce9b4df System: Provide content details to OnSystemStarted()
  • de2dd2b68 StringUtil: Fix possible integer overflow in EncodeAndAppendUTF8()
  • aa03edcd1 Settings: Add a dedicated key for overlays
  • 594155010 Settings: Don't copy controller type to game
  • bd44b2a43 Core: Don't reset folders when resetting settings
  • 03f731681 FileSystem: Backport additional helper functions
  • 1b123c397 FileSystem: Make OpenSharedCFile() wrap OpenCFile() on non-Windows
  • 84d511d18 FileSystem: Add error parameter to FTell64()
  • 230b4788c FileSystem: Extract find result sorting to function
  • 98c25ab78 FileSystem: Use shared file open for ReadBinaryFile/ReadFileToString
  • 7d618a582 FileSystem: More RVO optimizations
  • f20b39bd0 FileSystem: Add more ReadFileToString() overloads
  • a6a22baff CPU/Recompiler: Respect load delays when swapping NOP slots
  • 10525f926 CPU/Recompiler: Cancel pending loads on self moves
  • 19d507707 CPU/Recompiler: Keep link-register delay slots in order
  • 95102c364 CPU/Recompiler: Dispatch interpreter fallback exceptions
  • cc6f410b0 CPU/Recompiler: Trap constant signed arithmetic overflow
  • 00adf511d CPU/Recompiler: Preserve pending loads on memory exceptions
  • 96c75771c CPU/Recompiler: Correct misaligned indirect jump exceptions
  • c714922a5 CPU/Recompiler: Fix ARM32 VIXL debug builds
  • 501fe22ed CPU/Recompiler: Mask constant variable shift counts on ARM
  • 05c811f4e CPU/Recompiler: Truncate ARM64 multiplication results in LO
  • b224f7a8e CPU/Recompiler: Decode ARM32 load exceptions from r0
  • 63cbd900d CPU/Recompiler: Align ARM32 backpatch thunk calls
  • 22a3b0674 CPU/Recompiler: Use 32-bit ARM64 fastmem LUT indices
  • 38651d400 CPU/Recompiler: Handle large ARM64 backpatch cycle counts
  • 5b37f3d91 SPU: Fast-path ADPCM blocks without predictors
  • 16fa96940 SPU: Skip reverb output filtering at zero volume
  • fd8574a84 SPU: Pack reverb FIR coefficients into 16-bit lanes

Read the full notes →

Saturday, October 24, 2026

Dolphin

8 commits on 2026-10-24

786d91d commits
Show commits
  • 786d91d PPCAnalyst: Avoid using strncmp — SuperSamus
  • e3063ce IOS/DolphinDevice: Enable some requests with WantsDeterminism rather than disabling them all. — jordan-woyak
  • 22b581c Merge pull request #14940 from jordan-woyak/CoreTimingTest-fix — jordan-woyak
  • b5f580e Merge pull request #14946 from OatmealDome/revert-win-std-chrono — iwubcode
  • f22dd86 VertexLoaderARM64: Optimize RGBA6666 — Sintendo
  • 9c60ba9 VertexLoaderARM64: Optimize RGB565 — Sintendo
  • c12121f Merge pull request #14917 from jordan-woyak/skylanders-common-aes — JosJuice
  • 2798f68 PowerPC/MMU: Use effective address for special-case unaligned stores — scatterflower
erings

v1.1.0

release
Release notes · 7 files

Features

  • Cheat support
    • Download cheats during library scans
    • Add custom Action Replay codes
    • Enable and disable cheats per game
  • Per-game settings for internal resolution and preprocessing shader effects
  • Screenshots page in game details to browse and delete captures
  • Library cleanup to remove missing games and discs
    • Removed games retain their play data for restoration on a later scan
  • In-app file and folder picker with controller navigation
  • Automatic update check and new release notifications
  • Option to select GPU or software rendering

Fixes

  • Fix startup recovery paths that could skip initialization or overwrite the library
  • Prevent crashes when upscaled frames exceed the maximum supported image size
  • Release gameplay GPU buffers when returning to the library
  • Fix the details screen briefly showing the previous game’s achievement progress when quickly switching between games
  • Fix the empty library button opening the wrong settings section

Changes

  • Reorganize game details into Overview, Cheats, Settings, and Screenshots pages
  • Scale the UI and fonts with the window size, replacing the font size setting
  • Screenshots capture only the game picture, excluding overlays and black bars
  • Improve screenshot naming and move image encoding off the rendering thread
  • Require a second press to confirm permanent deletions
  • Remove the Disable Analog Stick input option
  • Always suppress RetroAchievements unknown emulator warning

Writeup and summary

Announcement. Includes an overview of the major changes.

Zaxnes

Zaxnes 0.3.0

v0.3.0 release
Release notes · 3 files

Zaxnes 0.3.0

Independent project, not affiliated with Geod Studio or Nintendo. NES is a trademark of Nintendo.

New

  • Rewritten in Rust. Same emulator, same profiles, same Lua API, same pictures, now one small native program with no .NET runtime. The C# version (0.1.0, 0.2.0) is kept on the archive-dotnetversion branch.
  • Linux x86_64 build (any distribution with glibc 2.31 or newer and SDL2).
  • Handhelds through PortMaster (aarch64: Anbernic H700 devices such as the RG40XXV, on muOS, Knulli or ROCKNIX), with an interface made for the pad:
    • A/B are the NES A/B; X resets the camera; Y switches 2D/3D, held it shows the game in 2D from the front; L1/R1 zoom; R2 fast-forwards; L2 held keeps the camera angle and zoom, a short press puts them back.
    • In the game list, X assigns any profile to a ROM, the closest titles first; the choice is kept per ROM.
  • Region from the ROM by default: a ROM whose header says PAL runs at 50 Hz.
  • New options: Optimized Lua (faster profile scripts), Scripts in parallel with the drawing (Off / Auto / Always: the next frame's scripts run on another CPU core; needs Optimized Lua), Automatic resolution (the render scale follows the GPU time), Performance measures (frame profiler in the log, off by default).

Fixed

  • Zelda II: the bed and other objects whose script reads the previous frame are no longer drawn out of place.

Downloads

File Platform
Zaxnes-0.3.0-win-x64.zip Windows 10/11 64-bit, OpenGL 3.3. Unzip anywhere and run zaxnes.exe.
Zaxnes-0.3.0-linux-x64.tar.gz Linux x86_64, OpenGL 3.3, SDL2 (libsdl2-2.0-0 on Debian/Ubuntu). Run ./zaxnes.
Zaxnes-0.3.0-portmaster-aarch64.zip PortMaster handhelds. Unzip into the ports folder of the SD card; see zaxnes/README.md.

No ROM and no game profile is included. Bring your own ROMs; for 3D, a .3dn profile per game (if you own 3dSen, File > Import from 3dSen… copies the profiles of your installation). Without a profile, a game runs in 2D or with the default 3D geometry. See HOWTO-RUN.md for the command line.

Licences

GPL-3.0 (LICENSE). Part of the 3D conversion engine is adapted from 3DNes_Engine (Geod Studio, GPL-3.0). Third-party libraries are listed in THIRD-PARTY-NOTICES.md, assets in ASSETS-LICENSES.md: everything shown or played is produced by the program's own code.

Friday, October 23, 2026

KytyPlus

v5.0

release
Release notes · 3 files

KytyPlus v5.0

One fix, and it is a compatibility one: PS5 packages no longer abort during installation on titles whose filesystem metadata is not the last thing in the package.

Package installation (issue #20)

  • Gran Turismo 7's package failed before listing a single file. The installer reported Invalid package range: offset=25FC1FD8031, length=3FFDC, total=1F27EE0000 — a read 2.6 TB past the end of a 134 GB package. The offset was never the problem; the position it came from was.
  • How the position is chosen was the bug. The package layout lists one boundary per file, and the installer took the highest boundary that was 64 KiB-aligned and treated it as the start of the game's filesystem. That granularity is finer than the mount is served in: blocks are 256 KiB, so a boundary 128 KiB inside a block is a file tail, not a superblock. Decoding a file tail is what produced the impossible offset.
  • The position is now proven by decoding it, not guessed. Candidates are required to sit on a real block boundary and are tried from the top down until one yields an actual PS5 filesystem superblock, which is the position every later read depends on. Up to 512 candidates are tried; each is a single block decode, so a package that resolves on the first candidate costs what it used to.
  • Failures now say which record broke. A block address that lands outside the package reports the records that produced it — the run record, its raw bits, the gap and the accumulated offset — instead of a bare range check that cannot be compared between two packages. Running the extractor with KYTY_NAPS_TRACE=1 additionally reports the outer filesystem's flags, including whether a package is encrypted, and the layout header's table sizes.

Known issues

  • This is verified not to regress the one PS5 package we can test here — it resolves at the same position on the first candidate and extracts every file — but Gran Turismo 7 itself has not been installed by us, and we will not ask anyone to send a dump. If a package's compressed-block addressing also breaks at that size, installation will now fail later, with a message that names the records, so the next report is actionable rather than a dead end.
  • Encrypted PS5 packages still cannot be installed. That is unchanged and not fixable here:

Read the full notes →

KytyPlus

v4.9

release
Release notes · 3 files

KytyPlus v4.9

Two follow-ups to last release: Apple Silicon no longer aborts during startup, and a refused texture allocation gets one more attempt before the run ends.

Apple Silicon startup (issue #18)

  • v4.8 could not start on an M1 at all. Requiring the AGC driver DMEM at a fixed guest address was the right instinct but the wrong mechanism: macOS runs the x86_64 build under Rosetta, which reserves that range, so the mapping failed outright and the emulator aborted in driver startup before a single frame. Last release's MoltenVK fix had already gotten those machines as far as this, so v4.8 shipped a regression for them.
  • The preferred address is now a preference, not a demand. It is requested as a fixed mapping first, and if the kernel cannot honor it the returned address is used instead — with the driver's binding table derived from wherever it actually landed rather than from the constant, which is what made the original assertion necessary in the first place. When that happens the log says so, naming both addresses.
  • Windows is unaffected: verified there that the preferred address is still granted, so the addresses the driver writes are identical to before.

Texture allocation under memory pressure (issue #17)

  • A refused image no longer ends the run on the first attempt. Demon's Souls was dying in vkCreateImage with ErrorOutOfDeviceMemory on a 2048x2048, 12-level BC1 texture — about 2.7 MB. A request that small failing means the device was already full, not that the request was unreasonable, so the buffer cache is now trimmed and the creation retried once.
  • The buffer cache only, deliberately. Image creation happens while callers hold the texture cache lock, so evicting textures from there would have deadlocked instead of helping.
  • This is containment, not a cure. If nothing is reclaimable the run still ends, and it does not explain why memory fills up in the first place.

Known issues

  • Device-memory exhaustion remains the open problem, and it now spans titles: this same release window has seen it at image creation and at vkQueueSubmit. The retry paths log a heap dump when they trigger, so the next reports should show how close to budget these machines actually were.
  • Apple Silicon startup past this point is unconfirmed by us — no one here has M1 hardware to test on, and block-compressed texture support is a likely next obstacle.
Zaxnes

Zaxnes 0.2.0

v0.2.0 release
Release notes · 1 file

Zaxnes 0.2.0

Independent project, not affiliated with Geod Studio or Nintendo. NES is a trademark of Nintendo.

New

  • Import from 3dSen. If you own 3dSen, File > Import from 3dSen… (or --import-3dsen <folder>) copies the game profiles from your installation into your Zaxnes profiles folder. Nothing is downloaded and no profile ships with Zaxnes.
  • profiles folder next to Zaxnes.exe. Profiles placed there are always loaded, in portable mode or not. A file with the same name in your user profiles folder takes priority.
  • English or French interface. English by default; switch in Options > Interface. The change applies immediately.

Improved

  • Sharper shadows of thin details: status-bar text and other fine strokes are much more readable (4096 shadow map).
  • Unlit faces are darker, closer to the expected look.
  • Anti-aliasing and the resolution scale now really change the rendering.
  • Starting in fullscreen no longer shows a black screen.
  • Ctrl+C in the console no longer closes the emulator; the console is used only by --help, --list-profiles and --import-3dsen.

Removed

  • The decorative CRT TV around the picture, and its third-party model.

Install

Unzip zaxnes-0.2.0-win-x64.zip anywhere and run Zaxnes.exe. Windows 10 or 11, 64-bit, OpenGL 3.3. Bring your own ROMs; for 3D, a .3dn profile per game. See HOWTO-RUN.md for command-line options.

Licences

GPL-3.0 (LICENSE). Part of the 3D conversion engine is adapted from 3DNes_Engine (Geod Studio, GPL-3.0). Third-party libraries are listed in THIRD-PARTY-NOTICES.md.

Thursday, October 22, 2026

Zaxnes

Zaxnes 0.1.0

v0.1.0 release
Release notes · 1 file

First public release of Zaxnes, a free (GPL-3.0) NES emulator that renders games in 3D.

Independent project, not affiliated with Geod Studio or Nintendo. NES is a trademark of Nintendo.

What it does

  • Accurate NES emulation (CPU, PPU, APU, common mappers), written from public documentation.
  • Real-time 2D-to-3D conversion of the picture: tiles and sprites become voxel objects, with depth layers, shadows and a free camera. Switch between 2D and 3D at any time.
  • Reads 3D game profiles in the .3dn format, including Lua scripts.
  • Classic emulator interface: menu bar, options window, keyboard and gamepad shortcuts, save states and rewind.
  • Procedural skyboxes and an optional CRT TV around the picture.

What you need

  • Windows 10 or 11, 64-bit, with an OpenGL 3.3 graphics card.
  • Your own game ROMs. No ROM is included.
  • For 3D, a game profile (.3dn) for each game. No commercial profile is included; without a profile, a game runs in 2D.

Install

Unzip zaxnes-0.1.0-win-x64.zip anywhere and run Zaxnes.exe. See HOWTO-RUN.md in the archive for command-line options.

Licences

The program is GPL-3.0 (LICENSE). Part of the 3D conversion engine is adapted from 3DNes_Engine (Geod Studio, GPL-3.0). Third-party libraries are listed in THIRD-PARTY-NOTICES.md. The CRT TV model is "Retro Crt Tv" by meipal, CC BY 4.0, shipped unmodified; see ASSETS-LICENSES.md.

Dolphin

5 commits on 2026-10-22

e56740e commits
Show commits
  • e56740e Skylanders: Replace mbedtls_aes usage with Common::AES and minor warning cleanups. — jordan-woyak
  • e1d35f6 Merge pull request #14913 from jordan-woyak/md5 — jordan-woyak
  • c548073 JitArm64_SystemRegister: mfspr - Sign extension nit — Sintendo
  • 10d958e Merge pull request #14942 from Dentomologist/cmake_add_explicit_check_for_minimum_qt_version — jordan-woyak
  • 2c805fe Merge pull request #14734 from tom-pratt/trigger-game-digest-check — JMC47
KytyPlus

v4.8

release
Release notes · 3 files

KytyPlus v4.8

The AGC driver no longer aborts during startup when the kernel puts its memory somewhere else — which is what stopped an Apple Silicon Mac once v4.7 had got it a Vulkan device.

Boot / Graphics5Driver

  • The driver DMEM is now mapped at a fixed address. libagc asked for its 2 MB driver DMEM at a preferred address but passed no fixed flag, so the kernel was free to return any aligned free range — and the driver then asserted the address had come back exactly as requested. Windows and Linux happened to get the address they asked for; macOS did not, so every Apple Silicon launch aborted during startup. The mapping is now required rather than suggested, and if the address cannot be reserved the failure names both addresses instead of a bare condition.
  • This is the first release to change how guest memory is mapped. The macOS and Linux builds compile clean on CI, but no one here has run it on Apple Silicon hardware.

Diagnostics

  • A failed image allocation now says why. Image creation returned a boolean, so a title dying at failed to create image gave no way to tell device-memory exhaustion from a driver rejecting the create flags. The abort now carries the Vulkan result together with the usage, flags and sample count. This came out of the Demon's Souls (PPSA01341) reports, where a 4K RGBA16F render target failed to allocate after several hundred shaders had compiled.

Known issues

  • Demon's Souls is not fixed. Its remaining failure is exactly that image allocation, and the logs reaching us are missing the heap-budget lines the emulator prints on every failure. If you can reproduce it, please attach the complete log rather than an excerpt — the next one is diagnosable, this one wasn't.
  • Whether LEGO Voyagers (PPSA23732) now gets past the AGC abort on an M1 is unconfirmed: the fix was read out of the reporter's log, not off a Mac.

Wednesday, October 21, 2026

xemu

v0.8.139

release
Release notes · 18 files

Pull Requests

  • #3088 - Fix 1852 nv2a vsh cpu based register carryover (@abaire)

Issues Fixed

  • #1602 - FIFA 2004, 2005, Euro 2004, World Cup 2002 black menu screen (due to unimplemented VSH register carryover)
  • #1852 - Some game shadows are the Incorrect colour (due to unimplemented VSH register carryover)
  • #2198 - American Chopper 2: Full Throttle tank texturing issue due to lack of VSH register carryover
  • #2642 - Sensible Soccer 2006 Graphical Issue (due to unimplemented VSH register carryover)

Affected Titles

The following titles had issues fixed in this release:

Full Changelog: https://github.com/xemu-project/xemu/compare/v0.8.138...v0.8.139

Dolphin

5 commits on 2026-10-21

7e46e85 commits
Show commits
  • 7e46e85 DiscIO/VolumeVerifier: Use Common::MD5Context instead of mbedtls. — jordan-woyak
  • 304086d SkylanderFigure: Use Common::ComputeMD5 instead of mbedtls. — jordan-woyak
  • 58a0864 WiiSave: Use Common::ComputeMD5 instead of mbedtls. — jordan-woyak
  • db5bbbd Common: Create MD5Context class and ComputeMD5 function to minimize exposure to mbedtls throughout the project. — jordan-woyak
  • 33ad9ed CMake: Enforce minimum Qt version 6.2 — Dentomologist
KytyPlus

v4.7

release
Release notes · 3 files

KytyPlus v4.7

An Apple Silicon Mac could not create a Vulkan device at all, so no game could start. That gate is gone.

MoltenVK device selection (issue #18)

  • Every macOS device was being rejected before a game loaded. A reporter on an M1 got Could not find suitable device, naming four features: image view minLod, shaderBufferInt64Atomics, nullDescriptor and shaderCullDistance. These are not borderline cases — MoltenVK hard-codes nullDescriptor to false, reports shaderBufferInt64Atomics false, states maxCullDistances = 0 // unsupported, and exposes no VK_EXT_image_view_min_lod. Requiring them meant requiring something no Mac can answer, so the emulator never reached vkCreateDevice.
  • Those capabilities are needed per shader, not per device. The SPIR-V emitter asks for the Int64Atomics capability only for shaders that perform 64-bit atomics, and CullDistance only for shaders that write gl_CullDistance. Selecting the device without them costs an individual shader at worst instead of the whole title.
  • Null descriptors were never actually used. An unbound shader resource resolves to the shared dummy buffer, not to a null descriptor, so requiring that feature gained nothing.
  • Image views fall back to the base mip level. VK_EXT_image_view_min_lod is now probed on macOS instead of required, and a view only carries a minimum-LOD parameter when the device can honour it. Windows and Linux still require it, so their behaviour is unchanged.
  • vkCreateDevice is no longer asked for features the device reports as unsupported. The emulator requested nullDescriptor and shaderCullDistance unconditionally, which is invalid input for a device that does not have them. This is fixed on every platform, not just macOS.

Known issues

  • Nobody on this project has Apple Silicon hardware. The macOS branches are compile-verified by CI, but not run on an M1 — if you filed #18, please retest and report the new log.
  • A second gate may still stop some Macs. The device check also requires a block-compressed format to be usable as both a sampled image and a blit destination; Apple GPUs can sample BC, but may not offer that second use. If it fires, the log now names the format rather than a list of features.
  • The macOS package is still x86_64-only, so Apple Silicon users run it through Rosetta.
KytyPlus

v4.6

release
Release notes · 3 files

KytyPlus v4.6

Games can now be launched straight out of a .zar archive, and a class of shader-descriptor aborts no longer kills the game.

ZArchive (.zar) loading, without extraction

  • Load Game gained a "ZArchive game image (.zar)..." option. The archive is read in place: members are decompressed on demand through the emulator's archive!/member path namespace, so nothing is extracted, staged or copied to disk. The archive reader, the file layer and the guest /app0 mount already supported this — what was missing was --game routing and a launcher entry point.
  • .zar files inside a configured game folder now appear in the list like .ffpfsc and .exfat images do, and Explorer's "Open with" and --open-image accept them.
  • The mount-progress dialog no longer waits on an archive. That dialog is driven by markers printed by the external NAPS helper, which an in-process archive never emits; sharing one predicate between the two would have left it spinning forever on a .zar. Formats that need the helper are now tested separately from formats that merely launch.
  • A .zar with no eboot.bin says so instead of failing later as an unclear missing-file error.

Crash fixes

  • An unmapped shader buffer descriptor is now treated as unbound. A descriptor whose base address is not committed at all went through a clamp that reports a fatal error and aborts. Titles can legitimately hold a descriptor pointing into freed memory and never bind it to a shader stage; that now degrades to the same empty binding an explicitly-zero address already produced, with a capped log line. This is what killed Demon's Souls (PPSA01341, issues #16 and #17) before its intro cutscene — on Windows and on Fedora alike.

Compatibility table

  • Astro Bot (PPSA21567) is now listed, at Ingame (broken).

Known issues

  • The .zar path was verified against archives built for the purpose, not against a real game .zar; none was available to test with. The mechanism is exercised end-to-end, a shipped title in that container is not.
  • The Demon's Souls fix has not been run against a dump locally — it rests on the reports in #16 and #17.
  • Astro Bot reaches in game but is still not playable: frame rate is far from real-time on an iGPU, and the title can still exit on its own during a session.

Tuesday, October 20, 2026

NeoST

NeoST 0.6.2

0.6.2 release
Release notes · 9 files

NeoST 0.6.2 — closer to the metal

Seven weeks of hardware fidelity work since 0.6.1.

Deterministic external control. A --server mode, joystick scripts, memory probes and state exploration: the same script replays the same game down to the cycle. Disks can be swapped while running and drive B unplugged from the server.

Serial and keyboard chips rebuilt to match the hardware. The MFP USART, the Mega STE SCC, the MIDI and keyboard ACIAs, the IKBD protocol and the real-time clock. Custom 6301 keyboard programs are now recognised: Froggies over the Fence runs on all three disks.

Floppies and hard disks. More faithful STX copy protections, WD1772 write-protect timing, and ACSI transfers that honour the DMA sector count.

68881 FPU. Transcendental functions are bit-exact.

Video and memory. STE 336-pixel mode, the 22-bit video counter wrap, the "stopped Shifter" trick (resolution 3), and two new RAM sizes: 2176 KB and 2.5 MB.

Sound. The PSG crackle in Super Hang-On is gone, and STE DMA sound starts on the exact sample of the PLAY write.

Comfort. Alt+Enter toggles fullscreen with mouse capture, mouse sensitivity is adjustable, the GEMDOS host drive is reliable (accented file names on macOS, no call served twice), and the CRT curvature is subtler by default.

Save states move to format v51: states from earlier versions are refused.

macOS is still unsigned by Apple: right-click the app and choose Open on first launch.

AnyPS5

v0.1.3

release
Release notes · 10 files

New Contributors

  • @akkadbakkad89 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/4725
  • @MidnightApora made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5555
  • @alexpournaras made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5546
  • @milchgeldkassierer made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5438
  • @joelfernandes23 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5448
  • @ahmad3a4 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5502
  • @ryyReid made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5588
  • @karimibrahim07 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5563
  • @Kurenaiiiii made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5666
  • @OleksandrS23 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5749
  • @jacob6769 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5798
  • @snipeTR made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5817
  • @kq62 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5032
  • @screamm made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5040
  • @houcineBen made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5214
  • @Swastik-51 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/4767
  • @mazen320 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5163
  • @GitamarT045T3R made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5819
  • @TripyFox made their first contribution in https://github.com/boykopovar/AnyPS5/pull/4706
  • @SaloQT made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5792
  • @sguckiran made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5096
  • @harry-z-kang made their first contribution in https://github.com/boykopovar/AnyPS5/pull/4916
  • @TaymKal made their first contribution in https://github.com/boykopovar/AnyPS5/pull/6013
  • @Wild-Badger made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5397
  • @n-delic made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5176
  • @ahmedmakroum made their first contribution in https://github.com/boykopovar/AnyPS5/pull/5525

Read the full notes →

xemu

v0.8.138

release
Release notes · 18 files

Pull Requests

  • #3125 - Improve compatibility with older versions of Vulkan (@mborgerson)
  • #2968 - Fix 2906 memory leak in slow vga path (@abaire)
  • #3124 - nv2a/vk: Support Vulkan 1.4 (@mborgerson)
  • #3123 - nv2a/vk: Select SPIR-V target from renderer state at compile time (@mborgerson)
  • #3000 - nv2a/vk: compile SPIR-V for the version the device supports (@jessedye)
  • #2453 - debug: Log GL errors during assertions in debug mode (@abaire)
  • #2211 - nv2a: Resolve overlapped dirty draws during 2d blit ops (@abaire)
  • #2456 - Adds menu item to create a GitHub title issue (@abaire)
  • #3114 - ci: Use the host's GLib in the AppImage (@mborgerson)
  • #3056 - nv2a: Enable clear handling for X1A7 formats (@abaire)
  • #2720 - nv2a: Fix R12 input in paired/multiout ops writing to oPos (@abaire)
  • #2843 - nv2a: Fix epoxy flake using debug funcs on macOS (@abaire)
  • #2158 - nv2a: Fix handling of color/zeta offset with RAM addresses (@abaire)
  • #2083 - Fix material color source ambient and emissive (@abaire)
  • #3068 - nv2a: Always report PFIFO CACHE1_DMA_CTL as valid (@GXTX)
  • #3076 - nv2a: Fix specular param handling (@abaire)
  • #3094 - nv2a: Only enable point sprites when rendering points (@abaire)
  • #3070 - nv2a: Fix/implement Y16 texture formats (@abaire)
  • #3087 - nv2a: Implement texgen view model (@abaire)
  • #3085 - nv2a: Implement clamping of passthru values (@abaire)
  • #3078 - nv2a: Implement spotlight falloff (@abaire)
  • #3106 - ci: Run xemu-test on PRs (@abaire)
  • #3110 - nv2a: Remove unconfirmed message for empty begin/end groups (@abaire)

Issues Fixed

  • #2906 - null render memory leak
  • #950 - Splinter Cell: Pandora Tomorrow fire effects cause artefacts
  • #2199 - Fireblade Imaging thermal freezes the screen
  • #473 - UI shortcut to report GitHub issues
  • #3043 - Xemu window bar doesn't show up on debian gnome wayland
  • #2426 - Clear color handling for LE_X1A7R8G8B8_O1A7R8G8B8 and LE_X1A7R8G8B8_Z1A7R8G8B8 needs testing/assert removal
  • #2427 - Surface format NV097_SET_SURFACE_FORMAT_COLOR_LE_X8R8G8B8_O8R8G8B8 is not implemented
  • #2458 - MechAssault 2: Lone Wolf graphical issue
  • #1864 - Prince of Persia: The Sands of Time: Incorrect rendering of water surface
  • #326 - [Assertion] surface->offset <= dma.limit
  • #3075 - Specular highlighting is an approximation rather than a match for hardware
  • #3093 - psh: Texture 3 sampler is incorrectly forced to point_sprite for non-point rendering when NV_PGRAPH_SETUPRASTER_POINTSMOOTHENABLE is enabled

Read the full notes →

Monday, October 19, 2026

KytyPlus

v4.5

release
Release notes · 3 files

KytyPlus v4.5

Astro Bot now boots, and controllers work properly in the launcher again.

Astro Bot (PPSA21567)

  • Boots through to the title prompt. A shader descriptor read on an unbound handle was being treated as a live host pointer and faulted, killing the game before it could render. Unbound reads are now zero-filled, matching the existing policy for out-of-range offsets, so the game compiles its shaders and reaches "Press Any Button".
  • Game artwork restored. Icons were being overwritten by a generic file icon after the real artwork was applied, so titles showed a name and serial but no art.
  • Launcher options restored. Seven options were lost in the upstream merge — --hdr, --hide-cursor, --tessellation, --network-connected, --trophy-notifications, --sync-raw-image-buffers and --skip-notice-screen. Their absence is what made the launcher refuse to start games at all.

Controllers

  • Gamepads can be mapped in Settings → Controls. The dialog was never handed the launcher's controller poller, so it always read "No controller connected" and the Gamepad tab could not capture a press. Keyboard and mouse were unaffected, which made this look like a controller-support problem rather than a wiring one.
  • Controller detection no longer dies permanently after launching a game once. The poller was suspended when a game started and never resumed, so every later launch in the same session saw no pad. Suspension now follows the emulator process state, which also covers the image- and package-launch paths that previously skipped it entirely.

Known issues

  • Astro Bot reaches in game but is not yet playable: frame rate is far from real-time, and the game still exits on its own after a little.
Dolphin

5 commits on 2026-10-19

3c72f4d commits
Show commits
  • 3c72f4d UnitTests: Fix CoreTiming.SharedSlot test so it can run independently. — jordan-woyak
  • cf5cb7e Merge pull request #14388 from SuperSamus/jit-branch-follow-explicit — JMC47
  • 9e6659a State: Move logic of selected state to Core/State — vhoxha08
  • f0ef800 Android: Avoid constant hotkey polling to save battery — vhoxha08
  • 69b75fe Jit: Followed unconditional branches are a property added by the Analyzer, not something to assume — SuperSamus
Release notes · 1 file

OpenCDi v0.1.7 — Release Notes

Welcome to OpenCDi v0.1.7! This release introduces complete English UI localization, a more flexible multi-path BIOS loader with dedicated user warning dialogs, and key fixes for Full Motion Video (FMV) titles and hardware timing.


Highlights in v0.1.7

1. English User Interface & Controls Localization

  • Fully translated Win32 native menus (File, Controls, Audio, Video, Help) and standard keyboard shortcuts.
  • English control mapping dialogs, key profiles (Standard, WASD, Numpad, Custom), and opencdi_controls.ini templates.
  • English file dialogs and real-time titlebar telemetry.

2. Robust Multi-Path BIOS & DVC ROM Detection

  • Flexible search across bios/, dvc/, root ./, and executable parent directories for all system ROMs.
  • Automatic recognition of alternative BIOS naming (cdi220b.rom, cdi220.rom, cdi200.rom, cdi490a.rom) and DVC ROMs (vmpega.rom, impega.rom).
  • Replaced sudden startup panics with a friendly native modal dialog (MessageBox) detailing missing files, exact sizes, and SHA-1 checksums.

3. Video & DVC Compatibility Fixes

  • The 7th Guest (USA): Eliminated the black flash/flicker at the end of MPEG video cutscenes. The DVC DRAM scanout now persistently retains the last decoded MPEG frame until the next room loads, matching authentic Philips hardware.
  • Ultra CD-i Soccer (Europe): Resolved infinite startup spin loop by accurately adhering to the Motorola/Philips MCD-212 hardware specification for PAL 280-line active display timing, allowing scanline 289 to generate the Level 5 IRQ required by OS-9.

System BIOS & Required Files

Due to copyright restrictions, system ROMs are not bundled and must be provided by the user inside the bios/ folder or next to opencdi.exe:

Component Recommended Filename Supported Alternatives Exact Size SHA-1 Checksum Status
System BIOS cdi220b.rom cdi220.rom, cdi200.rom, cdi490a.rom 524,288 bytes (512 KB) 53360a1f21ddac952e95306ced64186a3fc0b93e Mandatory
DVC ROM (FMV) vmpega.rom impega.rom 262,144 bytes (256 KB) be407fbc102f1731a0862554855e963e5a47c17b Required for MPEG titles
Timekeeper NVRAM nvram_mk48t08.bin nvram.bin 8,192 bytes (8 KB) 601d780e1544985352535143705ffcc670d282d1 Optional (Auto-created)

Quick Start Guide

Read the full notes →

Sunday, October 18, 2026

SharpEmu

SharpEmu v0.0.6-mono

v0.0.6-mono release
Release notes · 3 files

Automated SharpEmu v0.0.6-mono build for commit ea47b98.

Changes since v0.0.5-nexus-release.2

  • [GPU] Align linear color target pitch like linear textures (#1063) (289f090)
  • [GUI] improve library tile collection and acceleration fixes (0af8dce)
  • [SharpEmu] Add bundled demo game (#1072) (f322668)
  • [Kernel] Keep oversized reservations at the guest's hint and sign-extend user event ids (#1073) (46a7d3a)
  • [HLE] Savedata and np fixes (#1080) (4d56978)
  • [Demo] remove bg music from bundled demo (a298369)
  • Ghost of Yōtei and Tsushima in game: rendering, GPU/CPU memory coherence, tessellation (c7bbb09)
  • [GUI] French: add missing Library.View strings and polish translation (#1056) (61697fa)
  • Run and pack ZArchive (.zar) game archives (#1085) (ae406fc)
  • Fix/des render thread regression (#1086) (28c922c)
  • fix(json): iterate sce::Json::Array values (#1087) (b307b2f)
  • fix(agc): implement sceAgcGetGsOversubscription (#1083) (7ebf642)
  • fix(vk): create the bindless image heap at device setup (#1088) (682ad29)
  • Revert "Fix/des render thread regression (#1086)" (#1091) (1576890)

Read the full notes →

ruzu

Ruzu v0.1.1-rc6

v0.1.1-rc6 release
Release notes · 7 files

This release candidate fixes an audio-update parsing error that could cause invalid mixer data and audio glitches.

This is a pre-release for testing before v0.1.1. Feedback and reproducible bug reports are welcome. It includes all improvements from rc1 through rc5.

What’s new since rc5

  • Audio update parsing: the audio renderer now respects the splitter block size declared in the update header. Previously, it could read the following mixer block at the wrong offset, resulting in invalid mix counts or rejected audio updates.
  • Input validation: added bounds checks for declared splitter blocks.
  • Regression coverage: added synthetic tests covering splitter block boundaries, subsequent mixer updates, and header layout.

This correction addresses a likely cause of the audio errors reported in issue #21. Confirmation through extended gameplay is still needed.

Known limitations

Unsupported shader instructions may still cause missing graphics or prevent a scene from rendering. This release does not resolve every freeze, black-screen issue, or audio glitch.

Multi-program game compatibility remains experimental. The native Metal backend on macOS remains alpha.

Downloads

On Windows, choose the installer or extract the standalone ZIP. Download links become available as the packages are uploaded.

Platform Download
Windows — Installer Ruzu-Windows-v0.1.1-rc6-x64-msvc-installer.exe
Windows — Standalone Ruzu-Windows-v0.1.1-rc6-x64-msvc.zip
macOS — Apple Silicon Ruzu-macOS-v0.1.1-rc6-arm64-clang.zip
macOS — Apple Intel Ruzu-macOS-v0.1.1-rc6-x64-clang.zip
Linux — Generic x86_64 Ruzu-Linux-v0.1.1-rc6-x86_64.AppImage

Read the full notes →

Eden Nightly

Eden Nightly - Oct 18 2026

v1792353251.de7e6e01d4 nightly / pre-release
Release notes

Nightly build of commit de7e6e01d4.

Changelog

  • Revert [input_common/joycon] Enumerate SDL devices iff SDL signals change (#4486) (#4545) de7e6e01d4
    • PR #4545 merged on 2026-10-18 by John

Packages

Targets

Each build is optimized for a specific architecture and uses a specific compiler.

  • aarch64/arm64: For devices that use the armv8-a instruction set; e.g. Snapdragon X, all Android devices, and Apple Silicon Macs.
  • amd64: For devices that use the amd64 (aka x86_64) instruction set; this is exclusively used by Intel and AMD CPUs and is only found on desktops.
  • v3: For devices that use the x86_64-v3 instruction set or newer; this is found on Ryzen, Intel 4th Generation (Haswell), and newer.

PGO

PGO builds usually perform ~10-30% better than standard builds, and are thus generally recommended for all users.

Linux

Linux packages are distributed via AppImage. zsync files are provided for easier updating, such as via AM.

Build Type Standard PGO (Recommended) Notes
amd64 Standard AppImage (zsync) PGO AppImage (zsync)
Legacy amd64 Standard AppImage (zsync) PGO AppImage (zsync) Pre-Ryzen or Haswell CPUs (expect sadness)

Read the full notes →

Ymir

Ymir v0.4.1

v0.4.1 release
Release notes · 8 files

Ymir v0.4.1

Discord | Patreon | Compatibility list | Screenshots

This is a small maintenance release that fixes a Windows ARM crash on startup caused by a DXC build issue.

Check v0.4.0 release notes for details on what's included in this release.

[!IMPORTANT] Windows users: install the latest Microsoft Visual C++ Redistributable package (x86_64 installer, AArch64/ARM64 installer) before running the emulator. This is mandatory to avoid crashes on startup.

macOS users: follow these instructions to allow Ymir to run on your system. Ymir is signed with an ad-hoc certificate, flagging it as unverified.

Linux users: if you choose to install the Flatpak version or installed Ymir from the SteamOS's Discover Store, make sure to grant Ymir permission to access the filesystem or your multi-file disc images won't load properly.

It is recommended to install the latest GPU drivers in order to use Direct3D or Vulkan:

Do not use Windows Device Manager or Windows Update to update your GPU drivers, as they tend to have poor performance and lack support for advanced GPU features.

Always update your integrated GPU driver first, even if you're not using it. This also applies to desktop PCs with dedicated graphics cards.

Which version should I download?

Read the full notes →

Dolphin

4 commits on 2026-10-18

1822e38 commits
Show commits
  • 1822e38 Merge pull request #14934 from iwubcode/efb_interface_remove_global — jordan-woyak
  • 4146045 Merge pull request #14796 from acts-1631/security/traversal-pending-timeout — JosJuice
  • 8c19346 Merge pull request #14621 from jordan-woyak/cached-blob-jthread — JosJuice
  • b869a2a Merge pull request #14793 from JoshuaVandaele/auto-off-warns — JosJuice
KytyPlus

v4.4

release
Release notes · 3 files

KytyPlus v4.4

Four KytyPS5 upstream syncs since v4.3, reconciled so that no KytyPlus feature was lost. This is the first release where the launcher actually starts games again.

Highlights

Cheats — remote catalog, Local/Remote dialog, .shn import, and a file picker Performance — reduced renderer synchronisation and allocation overhead DLC — add-on support plus mountable-content DLC with real content Astro Bot now boots — it previously aborted during shader compilation A large shader-accuracy batch from upstream

Cheats

Browse and import cheats from a remote catalog with per-title and per-version filtering; import to Local, tick the mods you want, Apply. .shn (ShenJS trainer XML) is now supported — converted automatically into the mods plan, so the emulator only ever sees one format. New Select file... button on the Local tab loads a cheat file from anywhere: it validates, converts, and installs it as _Patches<TITLE_ID>.json. .mc4 files are published encrypted upstream and are not supported.

Games and content

Add-on (DLC) support (#1519) and mountable-content DLC with real content (#1581). Trophy notifications localised via embedded JSON catalogs; toast duration configurable 5–10 s (#1538). snd0.at9 plays during the startup splash screen (#1545). NGS2 lock/unlock implemented; vectored writes for profile index saves; path-based truncate for replay files.

Performance

Reduced synchronisation and allocation overhead in the renderer. Fixed-refresh VRR status reporting and entitlement requests ported. Verified pattern-fill recognition added to the shader recompiler.

Shader and loader accuracy

Float inline constants read at the correct width on 16-bit and 64-bit operands (#1582, #1576); quiet-NaN payload bits kept out of the packed f16 min/max sNaN path (#1579); f32 clamp turns NaN into 0. DS_CMPST_RTN_B32 returning a 32-bit LDS compare-exchange (#1578); 64-bit buffer atomic add BUFFER_ATOMIC_ADD_X2; native half conversion for v_cvt_pkrtz_f16_f32 (GTA V) (#1520); front-face input format honoured; RDNA2 DLC coherence preserved for flat address loads. Loader keeps the caller's flags in TLS stubs (#1571) and preserves game output and log across LoadExec relaunches (#1480).

Stability fixes

Read the full notes →

Release notes · 2 files

OpenCDi v0.1.6 (Release Notes)

OpenCDi v0.1.6 brings major input responsiveness refinements, authentic sub-pixel coordinate tracking, fixes for audio/video stream synchronization on the Digital Video Cartridge (DVC), and enhanced disc compatibility.

?? Input & Controls Improvements

  • Authentic Steady Gamepad Speed: Replaced aggressive integer coordinate jumps with an authentic, steady speed of 2.5 pixels per frame.
  • Continuous f32 Sub-Pixel Accumulation: Eliminated coordinate snapping and fixed-position jumps in the standalone disc-less dashboard. Motion is now completely linear, smooth, and progressive.
  • Center-Anchored Resting Coordinates: Cursors start centered at (384, 280) on standalone boot, system Reset, and disc Eject.
  • Zero-Drift Position Hold: Upon releasing the D-pad, coordinates hold their exact position without snapping back or drifting.
  • Slave HLE In-Flight Packet Staging: Implemented staged buffer queuing for in-flight CH0 mouse/pad packets and authentic 3-byte C0 warp position decoding matching real 68HC05 microcontroller behavior.
  • Strict Mutual Exclusion: Gamepad D-pad/buttons and mouse inputs are strictly segregated to avoid packet collisions and contradictory coordinate streams.

?? DVC (Digital Video Cartridge / MPEG-1) Fixes

  • The 7th Guest Hallway Progression Fix: Resolved the hallway freeze post-ghost cutscene (avm_play: Still busy from last play $8000). Temporary audio FIFO buffer drains strictly assert hardware underflow (FMA_IRQ_UNF) rather than prematurely firing FMA_IRQ_EOI (End of Item), allowing the remaining 45 audio sectors to finish streaming down to sector 246955 (second EOR).
  • Independent Stream EOS Handling: Video sequence completion in on_vsync only asserts audio FMA_IRQ_EOI if audio does not have a dedicated FMA DMA channel (!self.fma_dma_seen).
  • Dynamic DVC Detection & Controls: DVC hardware is fitted by default when dvc/vmpega.rom is present and preserved across disc swaps; interactive toggle added to the Win32 menu and CLI (--no-dvc).

?? CD-ROM & Disc Compatibility

  • Multi-Track & Multi-File Video CD (White Book) Support: Added native support for multi-track and multi-file CUE/BIN images (e.g. Kilby Predicts and Gateway to the Mind).

Read the full notes →

Copperline

Copperline 1.0.1

v1.0.1 release
Release notes · 11 files

Copperline 1.0.1 is the first maintenance release for 1.0. Most of it fixes problems reported against 1.0.0: an AGA display fetch error, a blitter race on fast CPUs, warm reboots on the A3000 and A4000, the 68060 FPU at reset, the copperhf hard-disk driver, and a window-resize hang on Windows. Menu settings are now remembered between launches, and screenshots save the picture as you see it.

Before upgrading

  • Netplay peers must all run 1.0.1. Players and spectators need the same build.
  • Recreate RetroArch save states after updating the core. The core's states carry a build fingerprint that includes the release version. Desktop .clstate files still load: the save-state format has not changed, and a 1.0.0 state resumes byte-for-byte as it does in 1.0.0.
  • Settings changed from the menu are now saved. In 1.0.0 they lasted for the session. Now a change made from the menu, a hotkey or the status bar is written into your saved default configuration, which is created if you do not have one. Sessions started with --config, a ./copperline.toml or --factory leave their files alone, and scheduled headless runs never write. See settings the menu remembers.
  • The screenshot shortcuts have changed. Cmd+S / Alt+S and the status-bar camera now save the picture as it is displayed (see below). Native 1:1 screenshots have their own shortcut, Cmd+Option+S on macOS and Ctrl+Alt+S on Linux and Windows. The Video Settings -> Native Screenshot Button item is gone. [recording] native_screenshot_button is still accepted, so configurations load, but it is ignored. --native-screenshots still selects native captures for --screenshot-after and --expect-screenshot.
  • Native screenshots of interlaced screens are now full height. A 640x512 laced screen saves at 640x512, not 640x256. Expectation images made with --native-screenshots on an interlaced screen need re-capturing.
  • --mouse-to-after and --pen-after coordinates now match --screenshot-after pixels, as the documentation always said. 1.0.0 used the coordinates of the unframed field, so scripts tuned to that may need new targets. The control protocol's input.mouse_to and input.pen keep their capture.screenshot coordinates.

Read the full notes →

Saturday, October 17, 2026

Ymir

Ymir v0.4.0

v0.4.0 release
Release notes · 8 files

Ymir v0.4.0

Discord | Patreon | Compatibility list | Screenshots

SDL Renderer has been the backbone of graphics on Ymir... until now. Ymir now supports Direct3D 12 and Metal (with Vulkan to come in the future), which will enable implementation of shaders and resolution scaling down the line. Direct3D 12 also supports hardware-accelerated VDP rendering, offloading heavy graphics computations to your GPU for a significant performance boost with no accuracy compromises -- it's as accurate as the software renderer, save for undiscovered bugs. Other graphics backends will eventually support acceleration as well, hang tight!

The Virtua Gun has been promoted to a stable feature after numerous bug fixes and accuracy improvements that made it work flawlessly with most supported games. Known issues are listed in #787: only one game doesn't register shots, and three don't recognize reloads consistently.

Good news for old Mac owners: Ymir should now run on macOS 12 (Monterey)! The macOS build configuration was targeting the default version, which happened to be 15 for a while until GitHub decided to upgrade their build runners and push the default to 26. This prompted us to look into those builds and lower the minimum version to 12, which is the lowest supported version by the current runner.

Finally, as you've come to expect, every big release comes with dozens of polish passes, crash and bug fixes, accuracy improvements, performance boosts, and better compatibility. Ymir 0.4.0 is now compatible with 94.4% of the entire Saturn library, and can run up to 10% faster with SCSP threading compared to 0.3.3, or even more if you enable GPU-accelerated VDP1/VDP2 rendering.

[!IMPORTANT] Windows users: install the latest Microsoft Visual C++ Redistributable package (x86_64 installer, AArch64/ARM64 installer) before running the emulator. This is mandatory to avoid crashes on startup.

Read the full notes →

Dolphin

3 commits on 2026-10-17

38d619b commits
Show commits
  • 38d619b Merge pull request #14804 from JosJuice/jit-set-lazy-memory-region — JosJuice
  • 1cf8f6d Merge pull request #14397 from sepalani/tri-accept — JosJuice
  • 2282f5f Merge pull request #14936 from VampireFlower/breakpoint-gap-center — AdmiralCurtiss

Friday, October 16, 2026

Dolphin

3 commits on 2026-10-16

a4be0d2 commits
Show commits
  • a4be0d2 Merge pull request #14017 from jordan-woyak/fmt-locale-date-fix — Dentomologist
  • 5b6dd78 Debugger: Fix centering of disabled breakpoints — VampireFlower
  • f71b0a4 VideoCommon: remove global framebuffer manager from EFBInterface and instead pass it in — iwubcode
Eden Nightly

Eden Nightly - Oct 16 2026

v1792181975.e0d47f2790 nightly / pre-release
Release notes

Nightly build of commit e0d47f2790.

Changelog

  • [cmake] fix macOS compilation by forcing lz4 to be static (#4540) e0d47f2790
    • PR #4540 merged on 2026-10-16 by crueter
  • Fix Check Strings after 4523 (#4534) d8c6c59b67
    • PR #4534 merged on 2026-10-16 by PavelBARABANOV
  • [patcher, ro, settings] runtime tls patch (#4492) optimization and nuke toggle (#4502) (#4523) aaa0bcb9bf
    • PR #4523 merged on 2026-10-15 by xbzk
  • Revert "[hle] constexpr handler dispatch maps, introduce version gating (#4480)" (#4532) e255c20db4
    • PR #4532 merged on 2026-10-15 by PavelBARABANOV
  • [input_common/joycon] Enumerate SDL devices iff SDL signals change (#4486) 14da4482a4
    • PR #4486 merged on 2026-10-14 by lizzie
  • [input/sdl] nuke SDL_Vibration thread (#4299) fb51a12534
    • PR #4299 merged on 2026-10-14 by lizzie

Packages

Targets

Each build is optimized for a specific architecture and uses a specific compiler.

  • aarch64/arm64: For devices that use the armv8-a instruction set; e.g. Snapdragon X, all Android devices, and Apple Silicon Macs.
  • amd64: For devices that use the amd64 (aka x86_64) instruction set; this is exclusively used by Intel and AMD CPUs and is only found on desktops.
  • v3: For devices that use the x86_64-v3 instruction set or newer; this is found on Ryzen, Intel 4th Generation (Haswell), and newer.

PGO

PGO builds usually perform ~10-30% better than standard builds, and are thus generally recommended for all users.

Linux

Read the full notes →

Azahar

Azahar 2127.0 Alpha 3

2127.0-alpha3 nightly / pre-release
Release notes · 23 files

⚠️Important Alpha Information⚠️

As an alpha release, this build is not yet considered stable.

This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development.

If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release.


Azahar 2127.0 Alpha 3

All

  • Implemented emulation for the CSND module, allowing applets (e.g. the 3DS keyboard), 3GX plugins, and certain early homebrew applications to play audio. | @PabloMK7 #2680
  • Fixed an issue which could cause CIA content in a ROM Bundle to not be installed correctly if it was compressed into a .zcia file before being bundled. | @DevYukine #2679
  • When attempting to bind a button or hotkey to an already bound input, a dialog which asks whether you want to unbind the previously bound button or hotkey is displayed instead of just showing a failure message. | @DavidRGriswold #1838
  • Fixed several minor inaccuracies in the HLE GSP module, potentially fixing unknown edge cases in certain games. | @PabloMK7 #2678

Windows

  • Fixed a regression first seen in 2127.0 Alpha 1 which caused Azahar to hang indefinitely when changing the UI theme. | @OpenSauce04 #2682

Desktop

  • Added new hotkeys "Configure" and "Configure Current Application". | @crueter #2218

Technical

  • Fixed a build failure when using recent versions of zstd caused by a CMake target name conflict. | @rtiangha #2616
xemu

v0.8.137

release
Release notes · 18 files

Pull Requests

  • #3089 - meson: Bump sdl3 to release-3.4.18 (@xemu-robot)
  • #3090 - meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.363.0 (@xemu-robot)
  • #3069 - doc: Add scope and design philosophy (@abaire)
  • #3049 - meson: Bump glslang to 16.6.0 (@xemu-robot)
  • #3035 - nv2a: Fix rounding issue in timer scheduling (@abaire)
  • #3045 - docs: Add style exception for variable declaration location (@abaire)
  • #3042 - meson: Bump sdl3 to release-3.4.16 (@xemu-robot)
  • #3041 - meson: Bump nlohmann_json to v3.12.0 (@xemu-robot)
  • #3039 - meson: Track nlohmann_json with a git wrap (@mborgerson)
  • #3038 - meson: Track SDL3 with a git wrap (@mborgerson)
  • #3040 - docs: Drop watermark item in agent pre-submission checklist (@mborgerson)
  • #3031 - docs: Add instructions for autonomous agents (@abaire)
  • #3037 - docs: Add note on comment use (@abaire)
  • #3036 - ci: Run unit tests alongside build (@abaire)
  • #2972 - ui: Use DXGI to perform swapping on Windows (@abaire)
  • #3009 - ui: Log joystick devices that are not gamecontrollers, implement gamecontrollerdb_path config handling (@abaire)
  • #3030 - docs: Add top level contribution guidance (@abaire)
  • #2568 - nv2a: Implement PTIMER alarm interrupts (@abaire)
  • #3005 - apu: Disable DSP JIT by default for first release (@mborgerson)
  • #2986 - nv2a/gl: Clear PGRAPH register dirty bitmap when binding shader (@abaire)
  • #2963 - meson: Bump glslang to 16.5.0 (@xemu-robot)
  • #2960 - meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.357.0 (@xemu-robot)
  • #2874 - nv2a/vk: Fix blurry 2D/UI rendering at internal resolutions > 1x (@stianeklund)
  • #2932 - nv2a: Add driver version to shader cache validation. (@Reedzit)
  • #2945 - apu: Return sample count for NV_PAPU_XGSCNT (@Yuvi-App)
  • #2942 - meson: Bump glslang to 16.4.0 (@xemu-robot)
  • #2801 - apu: Add new DSP56300 emulator with JIT execution engine (@mborgerson)
  • #2645 - build: Fix MSYS2 Building (@oltolm)
  • #2895 - meson: Bump VulkanMemoryAllocator to v3.4.0 (@xemu-robot)

Issues Fixed

  • #3029 - Performance loss on Windows when port forwarding is enabled after #2568 was merged
  • #2790 - Performance regression between 0.8.133 and 0.8.134 releases caused by PR #2691. Related to vsync being enabled and influenced by display refresh rate, seems specific to AMD drivers on Windows.
  • #2983 - pgraph regs_dirty bitmap is never cleared in GL renderer
  • #2597 - Tighten FS shader cache validation
  • #579 - Ultra Bust A Move and the Outlaw golf have an audio bug which freezes the game

Read the full notes →

PS5PCEM

PS5PCEM 0.3.5

v0.3.5 release
Release notes · 7 files

PS5PCEM 0.3.5

This release collects the 58 development commits after 0.3.4, plus release packaging and installation fixes. It adds the first Linux packages, native controller feedback on Windows, major audio corrections, shared renderer optimizations and 15 newly documented titles.

Downloads

  • Windows x64: portable ZIP and per-user installer. The launcher, runner, extractor and installer carry SHA-256 Authenticode signatures and timestamps using the same Artur Strazewicz / PS5PCEM certificate as previous releases. The certificate is self-signed; Windows/SmartScreen can still warn.
  • Linux x64: .deb, .rpm, .pacman and .AppImage, containing the native GTK 3 launcher, game-run and pkgextractor. See the Linux installation guide.
  • SHA256SUMS.txt covers all six downloadable packages. Linux packages are not Authenticode-signed; that signature format applies to Windows executables.

Both builds target x86-64-v3 (AVX2/BMI2/FMA) and require a Vulkan 1.2 driver. Windows requires Windows 10 2004 or newer. Linux requires glibc 2.31+, Linux 5.11+ with FSGSBASE/Syscall User Dispatch, GTK 3, X11/XWayland and PulseAudio or PipeWire's PulseAudio service. The AppImage uses these system runtime libraries. Games, firmware, keys, saves and shader caches are not included.

Native Linux runtime and launchers

  • Native guest execution, FS/GS switching, signal-based fault containment, guest threads and cooperative fibers, low-address host stacks and a Syscall User Dispatch guard for guest syscall instructions.
  • X11 Vulkan presentation and keyboard input, including physical-key fallback with non-Latin layouts; PulseAudio output with stereo folding for 7.1 streams.
  • Case-insensitive guest-path resolution, host memory checks and PPM captures.
  • A native GTK 3 / Cairo / Pango launcher with the shared eight-language UI, library, settings, save browsing, PKG extraction and Vulkan diagnostics.
  • Both launchers now hold 48 games, offer grid/table views and library search, and check GitHub Releases for updates. Version displays read 0.3.5.
  • Installed Linux packages and AppImages use writable XDG settings/data directories. --version and --check-install support installation checks.

Linux remains experimental. The earlier WSL2/lavapipe bring-up reached the Jets 'n' Guns 2 mission screen; it is not a native-driver performance result.

Read the full notes →

Thursday, October 15, 2026

Release notes · 1 file

OpenCDi v0.1.3 — Initial Public Release

Welcome to the first public release of OpenCDi, an open-source Philips CD-i emulator written in Rust designed for accuracy, performance, and preservation.


Highlights & Architecture

  • CPU: Philips SCC68070 (68000/68010 instructions, on-chip DMA, UART, timers).
  • Video: Philips MCD-212 Display Controller:
    • Dual-plane rendering (Plane A & Plane B) with hardware backdrop.
    • Supported graphics modes: CLUT4, CLUT7, CLUT8, Run-Length (7/8-bit), DYUV, and RGB555.
    • Line-by-line ICA/DCA instruction lists execution.
  • Audio & Disc: CDIC controller with CD-DA and ADPCM Level A/B/C audio decoding; native CHD support.
  • DVC (Digital Video Cartridge / MPEG-1):
    • Integrated hardware MPEG-1 system demuxer (video & audio stream separation).
    • Video decoding and MCD-212 video compositing.
    • End-of-sequence drain and presentation timestamp synchronization.
  • Input & Peripherals: HLE 68HC05 Slave microcontroller supporting keyboard, mouse, and gamepads.

Verified Titles

  • Hotel Mario: Fully playable with in-game action, animations, and CD-i ADPCM sound.
  • Striker Pro: In-game gameplay, menus, and match audio.
  • Dragon's Lair (USA): Continuous attract mode and interactive gameplay with active MPEG FMV.
  • The 7th Guest: Boots, plays intro cutscenes, and advances through scenes.
  • Lost Eden: Boots with cutscenes and character dialogue.

Quick Start Guide

  1. Download and extract opencdi-v0.1.3-windows-x64.zip.
  2. Place the Philips CD-i BIOS (cdi220b.rom) and the DVC ROM (vmpega.rom) inside the bios/ folder (or next to opencdi.exe).
  3. Drag and drop any .chd CD-i game disc image directly onto opencdi.exe or launch Avvia_OpenCDi.bat.

Community & Contributions

OpenCDi is open-source under the MIT License. Feedback, game compatibility reports, and pull requests are warmly welcome!

Wednesday, October 14, 2026

Azahar

Azahar 2127.0 Alpha 2

2127.0-alpha2 nightly / pre-release
Release notes · 23 files

⚠️Important Alpha Information⚠️

As an alpha release, this build is not yet considered stable.

This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development.

If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release.


Azahar 2127.0 Alpha 2

All

  • Added support for a new ROM format: ROM Bundles (.bcxi, .bcci, .bcia). | @PabloMK7 #2369, #2673
    • ROM Bundles can store a base game and any necessary additional files, such as the game's updates, DLC, or any necessary system files (e.g. Mii data) within a single file. This makes it easier to manage and organize your game library, while also allowing for easier of use of game updates, DLC, and system files in libretro frontends (e.g. RetroArch) via .bcxi/.bcci files.
    • .bcxi/.bcci bundles allow content which would previously have to be installed via a CIA file, such as game updates and DLC, to be used alongside the base game without installing anything to the emulated 3DS.
    • .bcia files contain the content of multiple CIA files, allowing their collective content to be stored and installed via a single file.
    • ROM Bundles can be created using Tools -> Create ROM Bundle... on desktop platforms.
    • Creating ROM Bundles on Android is currently not possible, but bundles created on a desktop device can be run on any platform as long as Azahar's version is at least 2127.0 or later.
    • For more information, please read the PR description: #2369
  • Implemented additional optimizations for Azahar's JIT shader compiler. | @Wunkolo #2597
  • Check table_dirty before skipping proctex LUT upload. | @Dandandans #2627

Android

  • Turbo speed is now disabled when a game is started, matching the behaviour on desktop platforms. | @ygordreyer #2657
  • Closing a game which was opened from an Android home screen shortcut now closes Azahar. | @ygordreyer #2658
  • Fixed an issue where, when relaunching a currently running game from an Android home screen shortcut, Azahar would display a black screen. | @ygordreyer #2656
Release notes · 3 files

That was close wasn't it? I know you are not used to so close releases but we have a lot of new things to demonstrate so why not? This release is following the first official stable release of shadNet 0.1.0, so we have some online playability available (yes Bloodborne fans, online Bloodborne is now officially available). There are also a tons of fixes to different areas of emu , you can check the list below. The release is dedicated to our friend Stephen, who is taking a break from shadPS4 due of his studies. Stephen if you are reading this we already miss you ;/

Core

  • cpu_patches: Apply comprehensive SSE4a CPU patches on macOS
  • Shutdown NpHandler before restarting
  • cpu_patches: Enable static patching on Linux
  • cpu_patches: Patch (V)RCPPS and (V)RSQRTPS on Intel
  • Speed up game ID resolution
  • Anchor the FPS counter at startup and refactor counter movement check
  • address_space: Restore protections after splitting a mapped region on Windows
  • kernel: Implement POSIX file attribute and sync APIs
  • file_sys: Normalize guest paths and fix mount matching
  • Do not expand host mmap range during POSIX AddressSpace::Unmap
  • Advance the source pointer for each backing run in TryWriteBacking
  • Removed the signaling_info setting as it is no longer in use.
  • log SIGABRT signals on POSIX

Libraries

  • kernel/time: Implement monotonic real-time network clock
  • Camera code cleanup and fixes
  • ajm: Fix MP3 parser OOB and support Xing/VBRI headers
  • sysmodule : Fixed incorrect validateModuleId return.
  • Major Net rework. sceNet library has been rewritten with P2P support
  • gnmdriver: Implement sceGnmSetGsRingSizes and sceGnmSetupMipStatsReport
  • http: Redact credential headers in logs
  • http: Honor disable_https in HTTPS transport and private options
  • Implement private pthread barriers
  • Implement POSIX thread context, naming, file and process APIs
  • Fixes 33ms analog smoothing being accidentally applied to controller analog stick and triggers input
  • signaling-fix: always answer the offer
  • Implement sceGnmRequestFlipAndSubmitDone and sceGnmDrawIndirectCountMulti
  • Implement sceGnmComputeWaitSemaphore
  • signindialog: basic error returns
  • Added matching delay

Video Core

  • Renderer optimizations pt2 (texture cache edition)
  • Cover presentation waits and fragment texture reads
  • texture_cache: scan only the first page in FindImageFromRange
  • buffer_cache: allocate sparse backing with device address support

Read the full notes →

AnyPS5

v0.1.2

release
Release notes · 9 files

New Contributors

  • @Digote made their first contribution in https://github.com/boykopovar/AnyPS5/pull/100
  • @Qznad made their first contribution in https://github.com/boykopovar/AnyPS5/pull/146
  • @STL1te made their first contribution in https://github.com/boykopovar/AnyPS5/pull/153
  • @carman24r made their first contribution in https://github.com/boykopovar/AnyPS5/pull/158
  • @ljkx made their first contribution in https://github.com/boykopovar/AnyPS5/pull/185
  • @RomainROCH made their first contribution in https://github.com/boykopovar/AnyPS5/pull/190
  • @Praetorian0420 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/206
  • @SP4C3B4R-8 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/286
  • @DotDebian made their first contribution in https://github.com/boykopovar/AnyPS5/pull/355
  • @Phi1ow made their first contribution in https://github.com/boykopovar/AnyPS5/pull/554
  • @ThisIsAkill made their first contribution in https://github.com/boykopovar/AnyPS5/pull/482
  • @DiulioAires made their first contribution in https://github.com/boykopovar/AnyPS5/pull/583
  • @Erige005 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/617
  • @alpinevm made their first contribution in https://github.com/boykopovar/AnyPS5/pull/741
  • @Blizzeq made their first contribution in https://github.com/boykopovar/AnyPS5/pull/743
  • @merwie made their first contribution in https://github.com/boykopovar/AnyPS5/pull/705
  • @khasinski made their first contribution in https://github.com/boykopovar/AnyPS5/pull/638
  • @011010 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/767
  • @ebosido444-ai made their first contribution in https://github.com/boykopovar/AnyPS5/pull/811
  • @aryanrawatispro-ship-it made their first contribution in https://github.com/boykopovar/AnyPS5/pull/870
  • @Fishybeing made their first contribution in https://github.com/boykopovar/AnyPS5/pull/883
  • @ebarr24 made their first contribution in https://github.com/boykopovar/AnyPS5/pull/982
  • @meh7an made their first contribution in https://github.com/boykopovar/AnyPS5/pull/849
  • @slick-daddy made their first contribution in https://github.com/boykopovar/AnyPS5/pull/327
  • @Adin-bima made their first contribution in https://github.com/boykopovar/AnyPS5/pull/924
  • @ZekkJJ made their first contribution in https://github.com/boykopovar/AnyPS5/pull/1209
  • @kjhq made their first contribution in https://github.com/boykopovar/AnyPS5/pull/1092

Read the full notes →

KytyPlus

v4.3

release
Release notes · 3 files

KytyPlus v4.3 Release Notes

KytyPlus v4.3 collects launcher compatibility, Vulkan shader, and Windows path-handling fixes made since v4.1. These changes improve specific code paths and do not imply a broad increase in game compatibility.

What’s new

Vulkan layer-output shader compatibility

  • Layer-output shaders now use the core SPIR-V ShaderLayer capability enabled by the Vulkan feature set, rather than the unenabled SPV_EXT_shader_viewport_index_layer extension.
  • Layer-output shaders use SPIR-V 1.5 and include their live descriptor and push-constant variables in the entry-point interface. Shaders without layer output retain SPIR-V 1.3.
  • Added regression coverage for SPIR-V validation and Vulkan pipeline creation.

Launcher and CLI configuration compatibility

  • Legacy launcher configurations can disable FSR without failing because of inherited default output dimensions.
  • Explicit FSR output dimensions remain validated, and invalid or incomplete dimensions are rejected.
  • Fixed successful launcher process starts being reported with Qt’s misleading “Unknown error” text.
  • Added emulator CLI regressions for the discussion #15 argument combination and FSR option ordering/validation.

Windows Unicode game paths

  • Mounting and resolving game paths now consistently convert UTF-8 strings to native filesystem paths on Windows.
  • Windows file enumeration and directory operations preserve non-ASCII names, including paths containing characters such as an en dash.
  • Added regression coverage for Unicode mount paths, guest filenames, directory opens, and file reads.

Compatibility data

  • Updated Dead Cells (PPSA-15554) to Playable, last tested with v4.1.

Limitations

  • The shader change has focused validation and regression coverage; it is not a guarantee that every game or graphics driver is compatible.

Tuesday, October 13, 2026

Eden Nightly

Eden Nightly - Oct 13 2026

v1791929232.a594c8d60e nightly / pre-release
Release notes

Nightly build of commit a594c8d60e.

Changelog

  • [shader_recompiler, vulkan, qcom, tu] Provide handling to missing shader subgroups on QCOM (#4508) a594c8d60e
    • PR #4508 merged on 2026-10-14 by CamilleLaVey
  • [docs] revise AI policy (#4522) 6b3cb5772b
    • PR #4522 merged on 2026-10-13 by crueter
  • [hle] constexpr handler dispatch maps, introduce version gating (#4480) 218c6705d9
    • PR #4480 merged on 2026-10-13 by lizzie

Packages

Targets

Each build is optimized for a specific architecture and uses a specific compiler.

  • aarch64/arm64: For devices that use the armv8-a instruction set; e.g. Snapdragon X, all Android devices, and Apple Silicon Macs.
  • amd64: For devices that use the amd64 (aka x86_64) instruction set; this is exclusively used by Intel and AMD CPUs and is only found on desktops.
  • v3: For devices that use the x86_64-v3 instruction set or newer; this is found on Ryzen, Intel 4th Generation (Haswell), and newer.

PGO

PGO builds usually perform ~10-30% better than standard builds, and are thus generally recommended for all users.

Linux

Linux packages are distributed via AppImage. zsync files are provided for easier updating, such as via AM.

Build Type Standard PGO (Recommended) Notes
amd64 Standard AppImage (zsync) PGO AppImage (zsync)

Read the full notes →

DuckStation

v0.1-12083

release
Release notes · 14 files

Commits

  • 2781502e0 SPU: Streamline per-voice flag processing
  • 690ead7ee SPU: Vectorize Gaussian interpolation
  • 5a7a301a7 SPU: Consolidate capture buffer writes
  • a24350c47 SPU: Decode ADPCM nibbles in pairs
  • a4904189c VulkanDevice: Use timeline semaphores when available
  • ed6720bbf Tests: Fix core-tests building on Windows
  • 025ea24fc GPU/HW: Fix typo in CompilePipelines()
  • 88ccab2a2 Achievements: Fix some options potentially not live-updating
  • 16452a048 Achievements: Check for login request in LoadStateFromBuffer()
  • 3c141418a FullscreenUI: Fix extra uneven height in achievement notifications
  • 0910d4edc FullscreenUI: Reduce text size of small-mode category badges
  • 96268ab66 Qt: Remove empty widget text
  • 390c878f7 GameDB: Persona localizedName
  • e26fa6091 Update Italian translation (#3798)
  • 563c35513 TaskQueue: Add GetOutstandingTasks() and ExecuteOneTask()
  • efecb78db Threading: Add GetProcessorCount()
  • 0d2e66235 Core: Make TaskQueue thread count dynamic
  • 60b06c0e2 ObjectArchive: Use binary keys instead of strings
  • 3151c5256 ObjectArchive: Synchronize access internally
  • 79371c47a HTTPCache: Use object archive synchronization
  • 5420d699e GPUDevice: Use ObjectArchive for shader cache
  • 7951eba8a GPUDevice: Support looking up cached shaders and opaque keys
  • f541abb11 GPUDevice: Add LoadPipeline() for supported backends
  • 5ebeff9c2 GPU/HW: Use UIDs for shader generation
  • 7c239271f GPU/HW: Use UIDs as shader cache keys
  • 94e5f08f1 GPU/HW: Use multi-threaded shader compilation
  • 74a743a5e GPU/HW: Use multi-threaded pipeline compilation
  • 6fe06b99e VideoThread: Preserve command queue empty slot
  • 7c173d914 VideoThread: Enforce command producer ownership
  • 67d594312 VideoThread: Keep successful software fallback
  • e0519a899 VideoThread: Use video-owned fullscreen settings
  • 7131d9144 VideoThread: Destroy inline reconfigure commands
  • c54f16ae5 VideoThread: Snapshot fullscreen state for resize
  • 0cad5f505 VideoThread: Dispatch thread toggle failures safely
  • 8c6ff3bfc VideoThread: Propagate thread startup failure
  • b5f0fb9c3 FullscreenUI: Tweak separator style
  • c81a747ff Qt: Add multi-instruction selection to debugger
  • 5cc77ac18 Qt: Persist debugger window state
  • 9c335d9e0 Qt: Add icons to context menu
  • 0874ed65d Qt: Fix empty debugger toolbar window title
  • 5b056fc8d Qt: Fix icon missing on newly-added excluded paths
  • 024face27 Qt: Add context menu to game list exclusion list

Read the full notes →

Eden Nightly

Eden Nightly - Oct 12 2026

v1791849564.4dc69c06f7 nightly / pre-release
Release notes

Nightly build of commit 4dc69c06f7.

Changelog

  • [*] Remove Fix{Static,Small}VectorADL workaround for GCC 12 (#4386) 4dc69c06f7
    • PR #4386 merged on 2026-10-12 by lizzie
  • [dist, android] Update translations from Transifex for Oct 12 (#4527) 9580e54f2f
    • PR #4527 merged on 2026-10-12 by Eden CI
  • [vk] Return the corrections made for buffer update logic #3690 (#4499) 6352612425
    • PR #4499 merged on 2026-10-12 by John
  • revert [vulkan] Masquerade VkInfo as PUBGMobile + UE #4320 (#4520) fecc1b4ee3
    • PR #4520 merged on 2026-10-11 by PavelBARABANOV
  • [*] fix clangarm64 compilation (#4521) c746982201
    • PR #4521 merged on 2026-10-11 by crueter

Packages

Targets

Each build is optimized for a specific architecture and uses a specific compiler.

  • aarch64/arm64: For devices that use the armv8-a instruction set; e.g. Snapdragon X, all Android devices, and Apple Silicon Macs.
  • amd64: For devices that use the amd64 (aka x86_64) instruction set; this is exclusively used by Intel and AMD CPUs and is only found on desktops.
  • v3: For devices that use the x86_64-v3 instruction set or newer; this is found on Ryzen, Intel 4th Generation (Haswell), and newer.

PGO

PGO builds usually perform ~10-30% better than standard builds, and are thus generally recommended for all users.

Linux

Linux packages are distributed via AppImage. zsync files are provided for easier updating, such as via AM.

Build Type Standard PGO (Recommended) Notes

Read the full notes →

Monday, October 12, 2026

suyu

suyu v14.1.0

v14.1.0 release
Release notes · 12 files

suyu v14.1.0

This minor update fixes two graphics compatibility problems while retaining the safer defaults introduced in v14.0.1.

Graphics corrections

  • Fixed corrupted NVIDIA rendering with graphics pipeline libraries enabled. Fragment-output libraries now retain the full pipeline state when cached.
  • Fixed stretched character geometry in Tears of the Kingdom on macOS MoltenVK. Packed vertex weights use a supported three-component format when the unused fourth component would cross the vertex stride.

Graphics pipeline libraries, Fast GPU Time, async shader building and SPIR-V optimization remain off by default. Explicit user settings are preserved.

Re-export existing Static and Hybrid packages to receive the corrected host. Translated game code remains part of those exports; official downloads contain no games, keys or firmware.

Tested scope

MK8D 4.0.0 and TOTK 1.4.3 native Static opening replays completed on Linux RTX 3090 (NVIDIA 580.159.03), Windows Radeon RX 9070 XT and macOS Apple M5. The 6,001-frame MK8D and 12,001-frame TOTK checks used default settings and optional pipeline-library/Fast GPU settings. All Static cases exited normally with zero JIT transitions and zero unresolved imports; inspected gameplay captures showed coherent geometry, textures and HUDs.

Linux RTX 3090 checks verified the NVIDIA correction; Windows Radeon checks covered the same change as a regression test. The later Mac tests also verified the MoltenVK correction, including an ordinary JIT TOTK replay. The final Mac-only change also passed the Windows CLI/export-kit build. MoltenVK on the tested Mac lacks pipeline-library support and uses the normal fallback when that option is requested.

Later Mac MK8D race samples were around 60 FPS. Mac TOTK cave samples were around 16 FPS by default and 9–10 FPS with Fast GPU Time set to Medium. These are functional observations, not controlled benchmarks or speedup claims. Full playthroughs and other GPUs/drivers remain outside these checks.

Downloads

Windows, macOS arm64, Android arm64, Linux x86-64 tarball and Ubuntu 24.04 AppImage packages are provided, along with libretro cores and corresponding project, dependency and AppImage source archives.

Dolphin

2 commits on 2026-10-12

8d2ad1a commits
Show commits
  • 8d2ad1a Merge pull request #14931 from waltercool/feature/fix_libcpp_23 — jordan-woyak
  • e951de4 Fix build failure on libc++/clang 23 — waltercool

Sunday, October 11, 2026

suyu

suyu v14.0.1

v14.0.1 release
Release notes · 12 files

suyu v14.0.1

This update supersedes v0.0.14 with safer graphics defaults and complete graphics settings in the launcher. Releases now use major.minor.patch numbering.

Graphics fixes

  • Graphics pipeline libraries are now off by default and remain available as an experimental option.
  • Fast GPU Time is now off by default. Its checkbox now actually controls GPU timing.
  • Graphics → Advanced now exposes the previously hidden graphics hacks and Vulkan extension options.
  • Added descriptive labels and complete choices for dynamic state, sample shading, GPU timing, and texture unswizzling.
  • The Advanced page scrolls on smaller windows. Settings can be saved globally or overridden per game.

Async shader building and SPIR-V optimization remain off by default. Normal disk and driver shader caches remain enabled. Explicit user opt-ins are preserved; profiles using the application defaults adopt the new defaults.

Re-export existing Static and Hybrid packages to receive the corrected embedded host. Updating the launcher alone does not update those packages.

Downloads

Windows, macOS, Android, Linux tarball, and Linux AppImage downloads are provided, along with libretro cores and corresponding sources. The AppImage targets Ubuntu 24.04 x86-64.

chmod +x suyu-linux-x86_64.AppImage
./suyu-linux-x86_64.AppImage

Without FUSE:

./suyu-linux-x86_64.AppImage --appimage-extract
./squashfs-root/AppRun

Testing

Native tests verify the actual Qt controls, INI save/reload, per-game overrides, and restoration of global settings. GPU timing tests verify that disabling Fast GPU Time preserves normal ticks while explicit opt-ins retain their existing behavior.

Windows Static opening-scene playtests passed for Mario Kart 8 Deluxe, Super Mario Odyssey, Tears of the Kingdom, and Xenoblade Chronicles 3 with pipeline libraries off. These checks covered rendering, input response, and clean shutdown on an AMD Radeon RX 9070 XT; they were not full playthroughs or performance benchmarks.

These changes do not establish the cause of every reported graphics issue; compatibility can still depend on the game and GPU driver.

erings

v1.0.0

release
Release notes · 5 files

Features

  • GPU Rendering
    • Metal (macOS)
    • DX12 (Windows)
    • Vulkan (Linux
  • Internal resolution upscaling (1x, 2x, 4x, 8x, 16x)

Fixes

  • Performance improvements around rendering
  • Colors have been corrected
  • Minor rendering fixes

Changes

  • macOS now enables game mode
  • Saves from previous versions are not compatible

Writeup and summary

Announcement. Includes overview of how rendering was implemented and performance metrics.

Dolphin

2 commits on 2026-10-11

178ec51 commits
Show commits
  • 178ec51 VideoCommon: Use GPR units more in TexDecoder_DecodeImpl_CMPR — JosJuice
  • 6103e4f VideoCommon: Add TextureDecoder_ARM64.cpp — JosJuice

Saturday, October 10, 2026

Dolphin

3 commits on 2026-10-10

d57e268 commits
Show commits
  • d57e268 UnitTests: Add test for TextureDecoder — JosJuice
  • e2ad093 Merge pull request #14656 from SuperSamus/mario-party-gameini — JosJuice
  • fbab471 VideoCommon: Rename TexDecoder_DecodeTexel width parameter — JosJuice
Azahar

Azahar 2127.0 Alpha 1

2127.0-alpha1 nightly / pre-release
Release notes · 23 files

⚠️Important Alpha Information⚠️

As an alpha release, this build is not yet considered stable.

This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release. Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development.

If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release.


[!NOTE] To allow public testing of the new interpreter, which allows fantastic performance on iPhones all the way back to the iPhone XS with no JIT, we plan to distribute all of our 2127.0 prereleases on RetroArch with 2-3 days of delay as a one-off exception to our typical release scheduling. We hope our iOS users look forward to testing out the new version and experiencing the improved performance it brings.

[!NOTE] This release invalidates any existing generated shader cache, so performance may temporarily be impared after updating. Performance will improve again after playing for a while.


Azahar 2127.0-alpha1 Changelog

License

  • Azahar's license has been changed from GPLv2+ to GPLv3+. All downstream projects exposed to Azahar's source code must ensure that they follow the license terms and correctly update any license metadata as necessary. | @OpenSauce04 #2626 #2635

All

  • Implemented a significantly faster new interpreter for JIT-less environments, named FastInterp, which replaces the old DynCom interpreter. | @warmenhoven #2376
    • This new interpreter allows greatly improved performance on iOS and tvOS devices, allowing devices as old as the iPhone XS to play games, even with playback speeds of over 200%.
  • Fixed inaccurate color blending behaviour in the Vulkan renderer, fixing an issue in Shin Megami Tensei IV where a black box would appear around enemies when killed. | @quickstraw #2427
  • Corrected misuses of linear filtering in the video core where nearest neighbour should be used. | @OpenSauce04 #2554
    • Fixes texture rendering issues in Minecraft: New Nintendo 3DS Edition, and likely other games as well.
  • Implemented a previously missing audio delay/echo effect in the HLE DSP implementation. | @PabloMK7 #2473
    • Restores previously missing echo effects to many games, such as New Super Mario Bros. 2, when using HLE audio.

Read the full notes →

suyu

suyu v0.0.14

v0.0.14 release
Release notes · 12 files

Superseded by suyu v14.0.1, which disables experimental graphics pipeline libraries by default and fixes graphics settings. Re-export existing Static and Hybrid packages with the new version.

suyu v0.0.14

This release fixes startup and export-related crashes and adds a Linux AppImage.

Fixes

  • Fixed a startup crash caused by motion callbacks running before initialization finished.
  • Fixed a crash when closing suyu after a Source export or while the game list was loading.
  • Fixed Source exports for game titles containing spaces, Unicode, or special characters.
  • Corrected the version displayed by release builds.

Re-export existing Static and Hybrid packages. Updating suyu alone does not update the emulator embedded in those packages.

Linux AppImage

The new suyu-linux-x86_64.AppImage supports Ubuntu 24.04 x86-64. The existing Linux tarball remains available.

chmod +x suyu-linux-x86_64.AppImage
./suyu-linux-x86_64.AppImage

To use the command frontend:

./suyu-linux-x86_64.AppImage --suyu-cmd --help

Without FUSE, extract and launch it:

./suyu-linux-x86_64.AppImage --appimage-extract
./squashfs-root/AppRun

Corresponding sources are provided in suyu-v0.0.14-appimage-sources.tar.gz. Licenses and notices are included in the AppImage. The project and dependency source archives are also available with the release.

Testing

All platform builds and final package checks passed. The AppImage also passed extraction, command-help, and offscreen GUI startup checks.

Windows Static playtests confirmed rendering, input response, clean exits, and zero JIT fallback in these opening gameplay areas:

Game Version Tested area Average gameplay FPS
Mario Kart 8 Deluxe 4.0.0 Mario Kart Stadium opening race 60.00
Super Mario Odyssey 1.3.0 Cap Kingdom: running, jumping, and landing 59.46
Tears of the Kingdom 1.4.3 Beneath Hyrule Castle cave 29.90
Xenoblade Chronicles 3 1.0.0 Opening combat and Everblight Plain 29.72

These checks cover the listed opening areas, not full playthroughs or performance comparisons. FPS averages are sampled gameplay results; startup and loading are excluded, and shader compilation can still cause stutters.

Copperline

Copperline 1.0.0

v1.0.0 release
Release notes · 11 files

Copperline 1.0.0 is the first stable release. It follows two weeks of testing of 1.0.0-rc.1 and is the 23rd release since the source went public on 14 June.

This release adds Smart framing and native 1:1 screenshots, more control over where and how the window opens, VHD hard-disk images, a fix for AGA sprites that use scan-doubling, and a Check for updates button that only contacts GitHub when you press it.

Copperline 1.0 at a glance

  • Machines: A1000, A500, A500+, A600, A1200, A3000, A4000, CDTV and CD32, with OCS, ECS and AGA chipsets and 68000 to 68060 CPUs, FPUs and MMUs.
  • Accuracy: the CPU and custom chips run on one colour-clock timeline, with the chip bus shared out cycle by cycle. Timing is checked against a real A1200, A4000 and CD32, and 45 test programs are compared pixel for pixel on every change.
  • Ready to run: the open AROS ROM is bundled, as are ROMs for the A2091, A4091 and IDE boards, the CD32 FMV module and the HRTMon freezer. WHDLoad packages and Amiga programs boot directly.
  • Media and expansion: floppy images including IPF and SCP, real drives through a Greaseweazle, IDE and SCSI hard disks, CDs, host folders, RTG graphics cards, Ethernet, bsdsocket.library without a TCP/IP stack, and built-in MT-32 (with your own ROMs) and General MIDI synthesizers.
  • Playing: save states, rewind, run-ahead, CRT shaders and a 1084 monitor front, gamepads, and rollback netplay for up to four players with up to eight spectators.
  • Developing: a debugger beside the live display with reverse stepping, a frame analyzer, GDB, VS Code source debugging, profiling, a control protocol and an MCP server.
  • Everywhere: macOS, Windows and Linux builds, a browser version and a RetroArch core.

The manual covers all of it.

Before upgrading

  • macOS 14.2 or newer is required, and the app now says so. Copperline has needed macOS 14.2 since 0.16.0 because of the Core Audio functions it uses, but the app declared 11.0, so older systems launched it and it crashed. macOS now refuses to open it with the standard "requires a newer version of macOS" message. Homebrew requires Sonoma.
  • Netplay peers must all run 1.0.0. Players and spectators need the same build.

Read the full notes →

Friday, October 09, 2026

Dolphin

4 commits on 2026-10-09

1acbcac commits
Show commits
  • 1acbcac DiscIO/CachedBlob: Minor cleanup by replacing std::thread with std::jthread. — jordan-woyak
  • 0f56e58 CMakeLists: Add -fexperimental-library to allow use of std::jthread with libc++ 18. — jordan-woyak
  • 5bcd55e CMakeLists: Bump version requirements to allow use of std::jthread. — jordan-woyak
  • cbac65d Core: Movie and State: Add 'L' option to fmt format string to actually use the current locale. — jordan-woyak
suyu

suyu v0.0.13

v0.0.13 release
Release notes · 10 files

suyu v0.0.13

Faster Vulkan pipeline setup, smaller game exports that run from your own game file, a new optional portable export type, and clearer key and firmware setup.

Faster Vulkan pipeline setup

On supported Vulkan drivers, suyu now reuses compiled graphics pipeline parts and links a new pipeline quickly when it is first needed. This reduces long waits caused by graphics pipeline creation. Suyu builds a fully optimized version in the background after the first use.

The change is enabled only when the driver reports fast graphics pipeline library support. Other devices keep the previous path automatically; this includes the tested macOS MoltenVK build. Android also keeps the previous path by default. If a supported driver has a rendering problem, turn off Use graphics pipeline libraries in the Vulkan settings.

This improves pipeline waits; loading transitions can still pause for other reasons.

Game exports run from your game file

Exports no longer copy the game's files. An export records the game file you selected and opens it at every launch with the keys installed in suyu, the same way suyu itself plays it. A JIT export is now tens of megabytes instead of the size of the game. If the game file has moved, the export says so and names the path it expected; export the game again from its new location.

Exports are built in a temporary folder, checked, and only then moved into place. An existing export is never silently replaced.

Portable exports (optional)

Package type → Portable copies your game file, its installed update and its installed DLC into the export unchanged, sealed to the console your keys come from. The export then runs without the original file. On first launch on a PC without keys it asks for your key files and installs them for that user account, as Install Decryption Keys does; later launches start directly. Keys from a different console are refused. Keys and firmware are never copied into an export.

Portable needs an sd_seed entry in your keys. The export dialog shows whether it is present, along with your keys, firmware, game file, update and DLC.

Keys and installed content

  • Launching a game without keys shows a prompt with Install Decryption Keys… instead of failing. An export started with keys that don't match the game says so and names the keys folder.
  • suyu reads keys only from the key files you install, and keeps them in memory.

Read the full notes →

Thursday, October 08, 2026

Eden Nightly

Eden Nightly - Oct 08 2026

v1791499301.67bada77f8 nightly / pre-release
Release notes

Nightly build of commit 67bada77f8.

Changelog

  • [video_core] Skip fragment shaders with known issues on non-NVIDIA drivers (#4503) 67bada77f8
    • PR #4503 merged on 2026-10-08 by MaranBr
  • [android, renderer_vulkan] Сhange default settings (#4509) 3cdd2ce141
    • PR #4509 merged on 2026-10-08 by PavelBARABANOV

Packages

Targets

Each build is optimized for a specific architecture and uses a specific compiler.

  • aarch64/arm64: For devices that use the armv8-a instruction set; e.g. Snapdragon X, all Android devices, and Apple Silicon Macs.
  • amd64: For devices that use the amd64 (aka x86_64) instruction set; this is exclusively used by Intel and AMD CPUs and is only found on desktops.
  • v3: For devices that use the x86_64-v3 instruction set or newer; this is found on Ryzen, Intel 4th Generation (Haswell), and newer.

PGO

PGO builds usually perform ~10-30% better than standard builds, and are thus generally recommended for all users.

Linux

Linux packages are distributed via AppImage. zsync files are provided for easier updating, such as via AM.

Build Type Standard PGO (Recommended) Notes
amd64 Standard AppImage (zsync) PGO AppImage (zsync)

Read the full notes →

PS5PCEM

PS5PCEM 0.3.4

v0.3.4 release
Release notes · 3 files

PS5PCEM 0.3.4

This release fixes a launcher regression that prevented games from starting in packaged installations. Updating both the launcher and runner is recommended. It also adds working font rendering, fixes Jurassic Park's font-atlas startup, implements MemoryPool and AMPR counters, and expands RDNA2 shader support.

These are the changes since 0.3.3, covering the October 7–9 development commits. The portable ZIP and per-user installer include the updated launcher, runner and PKG extractor. All three applications and the installer carry timestamped SHA-256 Authenticode signatures using the same Artur Strazewicz / PS5PCEM certificate as the previous release.

Important launcher fix

The launcher could pass its own executable path as the runner's working directory because a shortened Windows path lacked its terminating zero. Windows rejected CreateProcessW with ERROR_DIRECTORY before the game started. The development zig-out\bin layout masked the defect, while ordinary portable and installed layouts exposed it. The directory is now correctly terminated.

If Windows refuses to create the runner process, the launcher now displays Windows' explanation, the numeric error code and advice for the relevant failure. The messages cover application-control policy, security-software blocking, access errors and damaged executables, in all eight launcher languages. The status line also retains the error number.

Fonts and Jurassic Park

  • Font HLE now owns real FreeType faces and provides glyph metrics, rasterization, clipping, scaling, slant and kerning, with bounded caches. An embedded Noto Sans fallback and dependency license notices are included.
  • Valid characters absent from the font use its .notdef glyph. This fixes Jurassic Park Classic Games Collection failing on U+007F while building its Latin-1/ImGui atlas, which terminated CarbonMainThread and left the remaining threads waiting before normal GPU submissions.
  • Two October 8 development launches passed the former failure. The first level rendered and the map overlay responded to keyboard input. This is a startup regression fix for an already listed game, not a new full-playthrough verification. Font writing-line APIs remain incomplete.

Jurassic Park — first level at the park gates after the font fix, October 8. This is an unedited development capture, not a fresh FPS measurement of the packaged release.

Read the full notes →

Azahar

Azahar 2126.2

2126.2 release
Release notes · 25 files

This a minor release for the 2126 branch which primarily addresses a reported security advisory. It also includes several newly backported improvements and fixes from the master branch.

Users are advised to update as soon as is convenient.


Azahar 2126.2 Changelog

All

  • Addressed an oversight which allowed specially-crafted CIA files to execute arbitrary code in the host environment when locally installed by a user. | @PabloMK7 #2648
    • Addresses the following GHSA report: https://github.com/azahar-emu/azahar/security/advisories/GHSA-h74v-5mw8-qg8r
  • Fixed an issue where the xBRZ texture filter would be applied incorrectly when using the Vulkan renderer, resulting in an incorrect appearance. | @OpenSauce04 #2647
  • Handling of large HTTP downloads within emulated 3DS applications has been improved, improving memory efficiency and stability. | @PabloMK7 #2515
    • Fixes downloading large games from the eShop.
  • Added a new 3GX loader flag allow_homebrew_load, which allows loading 3GX plugins for homebrew apps if the plugin supports it. | @PabloMK7 #2649

Desktop

  • Various improvements to GDB and RPC servers, fixing certain issues and improving functionality. | @PabloMK7 #2631, #2640, #2633
    • For additional info, see individual PR descriptions.
    • Script developers will need to update the RPC client as this is a breaking change.

Android

  • Fixed a crash which could occur if the gpu_drivers directory contained a subdirectory. | @ygordreyer #2592

Technical

  • Creating a copy of the kernel shared and config pages using svcMapProcessMemoryEx is now possible.
    • This is a technical accuracy change. Little to no end-user impact.
SharpEmu

SharpEmu v0.0.5-nexus-release.2

v0.0.5-nexus-release.2 release
Release notes · 3 files

Automated SharpEmu v0.0.5-nexus-release.2 build for commit 47d4c07.

Changes since v0.0.5-nexus

  • [SpirvTranslator] Shader fixes (#1019) (d489122)
  • [readme] update screenshot (8903e37)
  • [DeS] Fixes for page faults and stack bounds issues in the emulator and audio fixes (#1021) (ec0198f)
  • [VideoOut] Keep guests on SDR output under Auto HDR on macOS (#1020) (cb42e84)
  • Revert "[DeS] Fixes for page faults and stack bounds issues in the emulator a…" (#1022) (57e0da2)
  • Page fixes (#1023) (0163750)
  • [SRT] Compile shader resource plans in the background (#1028) (41a1912)
  • [GPU] Report mip statistics for sampled textures so streamed textures reach full detail (#1029) (9e99769)
  • [readme] update screenshot (22bbcb1)
  • [Logging] Skip "tbb_thead" without LogThreadMode (5965b07)
  • [readme] added warning for not official sites, donations etc. (d6c4778)
  • [readme] re-order (83abe47)
  • Astro playroom shaders (#1030) (a17aaca)
  • Unity fixes 1016p1 (#1043) (2df6f5b)
  • [readme] New screenshots (ac86084)

Read the full notes →

Dolphin

3 commits on 2026-10-08

baa05e3 commits
Show commits
  • baa05e3 HW/Wiimote: Speaker logic accuracy fixes, comments, and code cleanups. — jordan-woyak
  • e6f3ae1 Merge pull request #14925 from TellowKrinkle/FixEventUB — jordan-woyak
  • 270560f Qt: Avoid using casting to wrong type of event — TellowKrinkle
dosbox-staging

0.84.0-alpha-5854b

dev-latest nightly / pre-release
Release notes · 4 files

Automated development build — updated 2026-11-02 14:18 UTC from commit 5854b64c8

[!WARNING] These are the automatically generated release notes of the latest development snapshot build! This is not a stable release; things might blow up! 💣 🔥 💀

You can download the latest official stable release from our website.

Full PR list of game compatibility improvements

  • Fix Frontier: First Encounters crash on non-x86 platforms (#4892)
  • Improve CHOP rounding for near-integer FPU results (#5149) [backport]
  • Improve PC speaker impulse model (#4906)

Full PR list of graphics-related changes

  • Add vesa_custom_resolution setting (#4985)
  • Add wrap_modeN shader pragma (#4901)
  • Clear BIOS cursor type in EGA/VGA graphics modes (#4959) [backport]
  • Deinterlacer & image capture fixes (#4969) [backport]
  • Externalise hardcoded cga_colors palettes (#4976)
  • Fix auto integer scaling (#4902) [backport]
  • Fix text-mode horizontal pel panning direction (#5075)
  • Only lock/unlock SDL surface when it is not already in that state (#4970) [backport]
  • Only read back rendered captures after the capture path is allocated (#5081) [backport]
  • Rebuild the EGA pixel buffer when entering EGA mode (#5121)
  • Remove large static framebuffer arrays from the executable (#5140) [backport]
  • Resend the whole DAC palette when entering VGA mode (#5122)

Read the full notes →

Wednesday, October 07, 2026

ruzu

Ruzu v0.1.1-rc5

v0.1.1-rc5 release
Release notes · 5 files

**This release candidate improves shader error handling, Windows build support, and diagnostics for freezes and black screens.

This is a pre-release for testing before v0.1.1. Feedback and reproducible bug reports are welcome. It includes the improvements from rc1 through rc4.

What’s new since rc4

  • Shader stability: unsupported shader instructions now produce an error that the Vulkan pipeline compiler can handle, rather than terminating the GPU worker. This improves error recovery but does not add support for those instructions.
  • Graphics compatibility: aligned constant-buffer and texture validation with Eden and corrected how constant-buffer values are recorded for shader caching.
  • Windows memory handling: aligned unsupported memory-protection handling with Eden, avoiding an unconditional panic.
  • Windows builds: improved detection of existing Visual Studio installations and installation of missing C++ tools. Runtime DLLs are now copied alongside the build binaries, and a vcpkg compatibility fix was added.
  • Troubleshooting: added a PowerShell script to capture diagnostic memory dumps when Ruzu freezes or displays a black screen. It downloads and verifies Microsoft ProcDump automatically; no compiler or debugger installation is required. Dumps remain local and may contain sensitive data, so share them privately.

Known limitations

Unsupported shader instructions may still cause missing graphics or prevent a scene from rendering. This release does not resolve every freeze or black-screen issue.

Multi-program game compatibility remains experimental.

Downloads

On Windows, choose the installer or extract the standalone ZIP.

Platform Download
Windows — Installer Ruzu-Windows-v0.1.1-rc5-x64-msvc-installer.exe
Windows — Standalone Ruzu-Windows-v0.1.1-rc5-x64-msvc.zip
macOS — Apple Silicon Ruzu-macOS-v0.1.1-rc5-arm64-clang.zip
Generic linux Ruzu-Linux-v0.1.1-rc5-x86_64.AppImage

Read the full notes →

Dolphin

5 commits on 2026-10-07

6665716 commits
Show commits
  • 6665716 Android: Trigger netplay game digest check — tom-pratt
  • 58967fd Merge pull request #14896 from jordan-woyak/netplay-gcadapter-fix — JosJuice
  • 584bee0 Merge pull request #14911 from acts-1631/netplay-save-banner-validation — JosJuice
  • 9b4d5a5 Merge pull request #14912 from acts-1631/savestate-fifo-pointer-validation — JosJuice
  • 370585a Merge pull request #14835 from JoshuaVandaele/vulkan-over-gl — JosJuice

Tuesday, October 06, 2026

Dolphin

3 commits on 2026-10-06

1ab733d commits
Show commits
  • 1ab733d Merge pull request #14836 from iwubcode/dolphin_texture_refactor_1 — iwubcode
  • ad087f3 Merge pull request #14840 from iwubcode/dolphin_texture_refactor_3 — iwubcode
  • 68c3fb5 Merge pull request #14908 from iwubcode/vertex_manager_remove_custom_shaders — iwubcode