# shadPS4 v.0.12.0 — shadps4 v0.12.0 - codename fire-square - Product: shadPS4 (https://whatsnew.fyi/product/shadps4) - Vendor: shadPS4 - Date: 2025-10-31 - Version: v.0.12.0 - Original notes: https://github.com/shadps4-emu/shadPS4/releases/tag/v.0.12.0 - Permalink: https://whatsnew.fyi/product/shadps4/releases/v.0.12.0 - Labels: Platforms: Desktop What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Physical backing for flexible and pooled memory allocation - **added** — Memory: Implement sceKernelMemoryPoolGetBlockStats - **added** — Allow overlapping direct memory mappings - **added** — Kernel.Fs: Device file cleanup and /dev/rng implementation - **added** — Net: Epoll support - **added** — avplayer: implemented AddSourceEx, SetAvSyncMode, Pause and Resume - **added** — Implemented sceSystemServiceLoadExec - **added** — Implemented sceNpTrophyGetGameIcon - **added** — Make sys_modules folder configurable - **added** — Add configurable extra memory - **added** — Add CLI argument to launch the emulator with global config or with default settings - **added** — IPC: commands for volume adjustment, input parsing, fsr, gamepad select - **changed** — Refactor direct memory handling - **changed** — avplayer: do not start the video multiple times - **changed** — ajm: handle ParseRiffHeader flag - **changed** — avplayer: remove maximum audio delay - **changed** — Handle mixed samples attachments - **changed** — Better handling of image copies with DmaData - **changed** — Move HDR swapchain configuration to present thread - **changed** — buffer_cache: Bring back CPU path - **fixed** — Memory code cleanup and further direct memory fixes - **fixed** — Handle various edge cases related to executable permissions - **fixed** — Lock linker mutex in RelocateAnyImports - **fixed** — Fix alignment for mmap - **fixed** — Fix return for running out of flexible memory - **fixed** — Fix NoOverwrite flag behavior in MapMemory - **fixed** — Read-only file mmap fix - **fixed** — avplayer: fix play request state handling - **fixed** — Fixing missing png extraction from trophy files - **fixed** — audioout: Do not wait for data within timer - **fixed** — Use correct trophy folder for games with multiple trophy lists - **fixed** — NpManager: Implement more request-related behavior - **fixed** — NpAuth: Improved stubs - **fixed** — Ime fixes - **fixed** — Fixes scePlayGoDialog status stub - **fixed** — Fix some image copy and buffer offset validation errors - **fixed** — image: Improve enforcement of image copy layer rules - **fixed** — image_info: Fix guest size calculation for linear render targets - **fixed** — Implement fallback path for missing shaderFloat16support - **fixed** — Fix: V_MUL_I32_I24 | V_MUL_U32_U24 - **deprecated** — Qt builds will be removed starting from version 0.12.1, shadPS4 will be cli only - **changed** — Update Qt to 6.9.3 - **changed** — Increase address space limits and rework Windows address space initialization - **changed** — amdgpu: Split liverpool registers and cleanup - **changed** — Make UpdatePlayTime not depend on Qt Happy halloween ppl! It is a special day today and what more special than having a brand new shadps4 release . Although it was announced that it Qt builds were gonna removed from 0.12.0 , we decided to release it for one last time . Starting from 0.12.1 , shadPS4 will be cli only , but we already have launchers for you ready , check the download section of the site. Enough talking here is the latest shadPS4 version and it's changes Core ==== physical backing for flexible and pooled memory allocation Refactor direct memory handling Memory: Implement sceKernelMemoryPoolGetBlockStats Allow overlapping direct memory mappings Memory code cleanup and further direct memory fixes Handle various edge cases related to executable permissions. Kernel.Fs: Device file cleanup and /dev/rng implementation Lock linker mutex in RelocateAnyImports Increase address space limits and rework Windows address space initialization Fix alignment for mmap Fix return for running out of flexible memory Fix NoOverwrite flag behavior in MapMemory Read-only file mmap fix Libraries ========= Net: Epoll support avplayer: implemented AddSourceEx, SetAvSyncMode, Pause and Resume avplayer: do not start the video multiple times ajm: handle ParseRiffHeader flag avplayer: fix play request state handling Implemented sceSystemServiceLoadExec Fixing missing png extraction from trophy files Implemented sceNpTrophyGetGameIcon audioout: Do not wait for data within timer. avplayer: remove maximum audio delay Use correct trophy folder for games with multiple trophy lists NpManager: Implement more request-related behavior NpAuth: Improved stubs Ime fixes Fixes scePlayGoDialog status stub Video Core ========== Handle mixed samples attachments Better handling of image copies with DmaData Fix some image copy and buffer offset validation errors. image: Improve enforcement of image copy layer rules Move HDR swapchain configuration to present thread. buffer_cache: Bring back CPU path image_info: Fix guest size calculation for linear render targets amdgpu: Split liverpool registers and cleanup Shader recompiler ================= Implement fallback path for missing shaderFloat16support Fix: V_MUL_I32_I24 | V_MUL_U32_U24 GUI === Make UpdatePlayTime not depend on Qt Make sys_modules folder configurable Add configurable extra memory Update Qt to 6.9.3 Add CLI argument to launch the emulator with global config or with default settings IPC: commands for volume adjustment, input parsing, fsr, gamepad select Add informative update message for Qt build deprecation