This release brings major GPU rendering and memory allocation optimizations, tailored especially for Vulkan and ARM Mali GPUs globally, alongside clean vector touch controls and fully functional sub-native resolution scaling options.
🚀 Setup Wizard: Fast(Mali)/Unsafe Defaults
- Preset Button Updated: The Setup Wizard preset button label is changed from
Fast/Unsafe DefaultstoFast(Mali)/Unsafe Defaults, clearly indicating the Mali configuration while leaving the original description text and settings reset actions intact. - Pre-Selected by Default: On fresh installs, the Setup Wizard defaults to
Fast(Mali)/Unsafe Defaultsvia patchedclasses.dex. - Default Renderer to Vulkan: Completing the Setup Wizard writes Vulkan (
14) as the default backend instead of falling back to OpenGL (12). - Unsafe Preset Cycle Skip Fix: Patched
NativeLibrary.setDefaultSettingsinlibemucore.soso the Fast/Unsafe preset keepsEECycleSkip = 0(Normal) instead of2. This eliminates animation jitter, desync, and black screens across all games while retaining the 25% CPU boost from mild underclocking (EECycleRate = -1).
⚡ GPU & Vulkan Rendering Optimizations
1. Light Lag & Bloom Elimination (Minimum Blending Accuracy)
- Problem: When looking at light sources (sun glare, lens flares, streetlamps, bloom, coronas), games stack 30+ layered transparent blend passes in TBDR tile memory, causing frame rates to collapse from 60 to 15 FPS on Mali GPUs.
- Fix: Configured default Minimum Blending Accuracy (
accurate_blending_unit = "0"). Transparency math is computed in a single fast pass with zero tile thrashing.
2. In-Memory Texture Render Cache (Full Hash Cache)
- Feature: Enabled Full Texture Preloading (
texture_preloading = "2"). Decoded host textures (VkImage) remain resident in device RAM across frames, avoiding redundant re-rendering and texture-swap stutter.
3. Hardware Download Mode (HWDownloadMode = "1" - Disable Readbacks)
- Eliminates synchronous
vkCmdCopyImageToBufferGPU pipeline freezes during light occlusion checks.
4. Game-Specific Glitch & Stability Fixes
Black (All Regional Versions):
- SPS (Spiky Polygons Syndrome) Fix: Enforced
vuClampMode: 3(Extra) across all regional releases of Black (SLUS-21376,SLES-53886,SLES-54030,SLPM-66354,SLAJ-25078,SLKA-25372), completely eliminating vertex explosion and polygon tearing. - Light Strips & Sky Texture Fix: Preserved
autoFlush: 1,roundSprite: 1, andmipmap: 2to fix vertical light strips and lighting misalignment. - Lighting Preservation: Added
minimumBlendingLevel: 2so building and wall lighting render properly under global Minimum Blending.
Downhill Domination (SCUS-97177, SLES-52202):
- Sun & Lens Flare Removal: Embedded the community post-processing patch (
patch=1,EE,0029DBA5,byte,0) inGameIndex.yamlfor both default and CRC5AE01D98, completely disabling blinding sun glare and lens flares. Also disabledautoFlush(autoFlush: 0) for smooth 60 FPS gameplay.
Tales of the Abyss (SCAJ-20163, SLUS-21386):
- Disabled forced
autoFlush: 1stalls to eliminate TBDR tile flush overhead.
5. Unclamped Resolution Scalers (0.05x, 0.1x, 0.25x, 0.5x) in C++ Engine
- Patched the assembly in
libemucore.so(fmov s0, s1) to eliminate the hardcoded 0.5f clamp, activating true sub-0.5x rendering:0.05x Native (~24p): 1/20 native resolution0.1x Native (~48p): 1/10 native resolution0.25x Native (~120p): 1/4 native resolution0.5x Native (~240p): 1/2 native resolution
6. Vulkan-First Backend & Threaded Presentation
- Bypasses Mali's high-overhead OpenGL ES compiler and utilizes direct Vulkan command buffers.
- Decouples
vkQueuePresentKHRswapchain presentation calls into a dedicated presentation thread, eliminating frame-pacing micro-stutter. - Bypasses Mali dual-source blending bottlenecks via
DisableDualSourceBlend. - Conserves tile memory bandwidth via
SkipDuplicateFrames.
🧠 Core & CPU Allocation Enhancements (Mali / MediaTek / Exynos)
- Multi-Threaded VU1 (
EmuCore/Speedhacks/vuThread="true"):- Offloads Vector Unit 1 calculations to a separate CPU thread, unlocking 20%–50% throughput improvements on 8-core mobile processors.
- Performance Cores Affinity (
EmuCore/AffinityControlMode="7"):- Automatically pins emulation worker threads (EE, GS, VU1) to the high-performance Big cores (Cortex-A7x / Cortex-X) instead of letting the Android scheduler throttle threads onto power-saving Cortex-A55 Little cores.
- Fast CDVD (
EmuCore/Speedhacks/fastCDVD="true"):- Bypasses virtual disc seek delay.
🎨 Asset & Stability Fixes
- Purged Custom Controller PNGs: Completely stripped all custom PNG controller button overlays.
- Restored 34 Clean Vector XML Buttons: Injected the original AetherSX2 vector XML drawables (
ic_controller_*.xml). - Crash Prevention: Rebuilt using resource-ID preserving methods with no scrambled
resources.arsctable, guaranteeing clean launch without force-closing.