v5.7
Release notes · 3 files
Full Changelog: https://github.com/Coder787-source/KytyPlus/compare/v5.6...v5.7
- KytyPlus-v5.7-Linux-x86_64.tar.gz 104.8 MB
- KytyPlus-v5.7-macOS-x86_64.zip 126.3 MB
- KytyPlus-v5.7-Windows-x64.zip 57.1 MB
Coder787-source/KytyPlus
15 tracked updates · latest 6 days ago
Full Changelog: https://github.com/Coder787-source/KytyPlus/compare/v5.6...v5.7
Full Changelog: https://github.com/Coder787-source/KytyPlus/compare/v5.5...v5.6
Full Changelog: https://github.com/Coder787-source/KytyPlus/compare/v5.4...v5.5
Full Changelog: https://github.com/Coder787-source/KytyPlus/compare/v5.1...v5.4
Full Changelog: https://github.com/Coder787-source/KytyPlus/compare/KytyPlus-2026-10-26-636bc95...KytyPlus-2026-10-26-e560633
Full Changelog: https://github.com/Coder787-source/KytyPlus/compare/v5.1...KytyPlus-2026-10-26-636bc95
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.
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.vkQueueSubmit variant of it is not
addressed by this release, and the eviction here has not been run against Demon's Souls - no
copy of it is installed here, so the next report from that title is the real test.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.
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.KYTY_NAPS_TRACE=1 additionally reports the outer filesystem's flags, including whether a
package is encrypted, and the layout header's table sizes..ffpfsc images do not use this code path at all, so neither is affected either
way.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.
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.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.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.
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.An Apple Silicon Mac could not create a Vulkan device at all, so no game could start. That gate is gone.
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.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.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.Games can now be launched straight out of a .zar archive, and a class of shader-descriptor
aborts no longer kills the game.
.zar) loading, without extractionarchive!/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..zar. Formats that need the
helper are now tested separately from formats that merely launch..zar with no eboot.bin says so instead of failing later as an unclear missing-file
error..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.Astro Bot now boots, and controllers work properly in the launcher again.
--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.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
The launcher launches games again. Seven flags it emits (--hdr, --hide-cursor, --tessellation, --network-connected, --sync-raw-image-buffers, --trophy-notifications, --skip-notice-screen) were not parsed, so every start exited immediately on unknown option while the launcher still reported success. Astro Bot (PPSA21567) boots past its TileBasedLighting compute shader: unbound SRT descriptor reads are now zeroed instead of faulting. Restored five network entry points and the Usbd / WebBrowserDialog export tables, which had silently stopped registering. macOS builds again — the floating-point std::from_chars overload is unavailable below macOS 26, so argument parsing uses a validated strtof path. Restored KernelHandleReservedRangeAccessViolation and repaired merged CMake configuration and Linux SDL dependencies.
Build and CI
Test executables are no longer compiled or run in CI, which removes a large slice of every job. shadPS4 is bundled from the latest upstream prebuilt release rather than compiled from source.
Known issues
Astro Bot reaches its splash screen but then stalls on a guest thread wait, so it is not playable yet. .mc4 cheats unsupported. Upstream's --amd-cpu instruction patching is not wired into the KytyPlus loader path.
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.
ShaderLayer capability enabled by the Vulkan feature set, rather than the unenabled SPV_EXT_shader_viewport_index_layer extension.PPSA-15554) to Playable, last tested with v4.1.