A major Vulkan performance upgrade, new shader pipeline support, requested features, and broader device compatibility improvements.
New Features:
-
New Simple Vulkan Pipeline Path
Added a new simple Vulkan pipeline path focused on significantly improving performance for the Vulkan renderer profile.To use it:
- select Vulkan as the renderer
- go to Video Settings
- make sure Use simple pipeline is enabled
This mode is much more efficient and should provide a major performance improvement for Vulkan on many devices.
It still has some remaining bugs that are being worked on, and the goal for RC3 is to bring it closer to parity with the more complex compute-based Vulkan path.
-
librashader Support for Vulkan / RetroArch Shader Presets
Added support for librashader on Vulkan.This allows Vulkan to move away from the old
.mshashader format and instead use RetroArch shader presets (.slangp).Recommended setup:
- download and extract slang-shaders
- in settings, set RetroArch shader root to the extracted slang-shaders folder
- make sure that folder contains the full shader directory structure such as:
anamorphicborderhandheld- and the other shader folders
- then use Relative
.slangppath inside the selected shader root to browse to and select the shader preset you want
If you need to create new presets, it is recommended to do so using RetroArch or by editing the preset files manually.
-
Slot-2 Analog Input Support
Added support for Slot-2 analog input for games such as Super Mario 64 DS using the patched ROM workflow described here: PATCHES.mdTo use it:
- patch the ROM according to its region
- map the Slot-2 analog axes in input settings
- select Analog Input as the Slot-2 device in the per-game settings
-
Automatic Save/Load State Management
Added an option to configure automatic save/load state management.Load state behavior remains restricted when RetroAchievements Hardcore Mode is active.
-
Save File Extension Selection
Added support to choose the save file extension format as.savor.srm. -
Duplicate Layout / Save As New
Added the option to duplicate layouts or save them as new while editing a layout. -
Double Tap Layout Position Adjustment Popup
Added support for double tapping a layout component to open a popup that allows adjusting the X/Y position of buttons.
Vulkan Fixes & Compatibility:
-
Fixed crash on Snapdragon 865
Resolved a Vulkan-related crash affecting Snapdragon 865 devices. -
AndroidHardwareBuffer Extensions Made Optional
Vulkan no longer requires AndroidHardwareBuffer extensions unconditionally, improving compatibility across more devices. -
Fallbacks for Timeline Semaphores and Dynamic Indexing
Added Vulkan fallbacks for:- timeline semaphores
- dynamic indexing
This improves compatibility for devices that do not fully support the originally expected Vulkan feature set.
-
Additional Vulkan Performance Improvements
More Vulkan-side fixes and adjustments were also made to improve rendering performance and broaden compatibility.
Upstream Changes @rafaelvcaetano:
- RetroAchievements improvements
- Localization and string updates
- Screenshot pipeline improvements
- Performance and input/device behavior improvements
- ROM launch validation and file handling improvements
Testing Focus:
This release candidate is mainly focused on validating:
- the new simple Vulkan pipeline performance and stability
- comparison between the simple Vulkan path and the compute Vulkan path
- librashader support and
.slangppreset loading on Vulkan - Vulkan compatibility on a wider range of Android devices
- stability after the Snapdragon 865 crash fix
- Slot-2 analog input behavior with patched ROMs
- automatic save/load state behavior
- save format selection between
.savand.srm - layout duplication and save-as-new behavior
- double tap X/Y adjustment popup behavior
If you test this build, reports with:
- device model
- GPU / SoC
- game tested
- whether Vulkan works correctly
- whether performance improved or regressed
- whether the simple Vulkan path works correctly
- whether shader preset loading through
.slangpworks correctly - whether Slot-2 analog input behaves correctly
- whether the new layout tools behave correctly
would be especially helpful.
Known Issues Still Planned for RC3:
While RC2 addresses several Vulkan compatibility issues and adds major requested features, a few reported issues are still being tracked for follow-up in RC3:
-
Vulkan Internal Resolution / Upscaling Issues
There are still reported cases where Vulkan does not upscale correctly, especially affecting the top screen presentation path. -
Custom Layout Background Orientation
In some cases, custom layouts may still show the background image flipped incorrectly. -
RetroAchievements Sync / State Inconsistencies
Some RetroAchievements-related issues still need follow-up, including cases where achievements appear locked after boot and cases where already unlocked achievements can trigger duplicate unlock or desync-related behavior. -
Simple Vulkan Pipeline Remaining Bugs
The new simple Vulkan path already provides a major performance improvement, but some remaining bugs are still being worked on to bring it closer to the compute path in overall correctness and behavior.
RetroAchievements Follow-Up:
After this release candidate, I will open a new discussion thread and start initial follow-up work on some of the currently reported RetroAchievements issues, including:
- login failures that still happen intermittently
- Encore Mode behavior that in some cases appears to stay enabled incorrectly
This will be an initial pass, but it should help organize reports and guide the next fixes.
Support & Early Access
If you want to support development, early testing, and feature work like Vulkan, RetroAchievements improvements, shader support, and requested platform features, please consider joining Patreon.
Thank you to everyone helping test these release candidates and sending detailed reports.