melonDS-android v0.7.0.rc3 is now available with major Vulkan stability improvements, high-resolution 3D on both DS screens, per-ROM settings, and a large RetroAchievements bug-fix pass.
Main Focus of this Release:
This RC focuses on stabilizing the custom Vulkan renderer and fixing the RetroAchievements integration.
Vulkan is now the recommended renderer for high internal resolution rendering, especially for games that use 3D on both DS screens. Unlike OpenGL, Vulkan can now render high-resolution 3D correctly on both the top and bottom screens when games switch or share 3D output between them, or in specific games like Golden Sun.
Example:
Top Screen on The Legend of Zelda: Spirit Tracks Intro:
OpenGL Internal Resolution 8x:
Vulkan Internal Resolution 8x:
Bottom Screen on Golden Sun Dark Dawn battle:
OpenGL Internal Resolution 8x:
Vulkan Internal Resolution 8x:
Top Screen in Pokémon HeartGold without video hacks:
OpenGL Internal Resolution 1x:
Vulkan Internal resolution 1x:
Bottom Screen: Pokémon Ranger: Shadows of Almia
OpenGL Internal Resolution 8x:
Vulkan Internal Resolution 8x:
RetroAchievements also received a large bug-fix pass. Achievement unlocks, score submissions, leaderboards, session handling, offline behavior, and achievement list handling should now be much more reliable.
Please test RetroAchievements heavily in this RC:
- Unlock achievements
- Submit leaderboard scores
- Test Softcore behavior
- Test offline and reconnect flows
- Report anything that still behaves incorrectly
New Features:
-
Per-ROM settings:
- Each ROM can now have its own configuration.
- You can customize video, controls, filters, microphone behavior, and other settings per game.
- Internal resolution can now be adjusted per ROM, so you no longer need to constantly change the global configuration when one game works well at high resolution and another one does not.
-
In-game per-ROM settings menu:
- You can quickly change ROM-specific settings while the game is running.
- This makes testing internal resolution, filters, controls, and compatibility options much faster.
-
New ROM list screen:
- Added grid/list views.
- Added favorites.
- Added filters.
- Improved search.
- Added faster access to recently played games.
-
New emulation speed options:
- 1.0x
- 0.75x
- 0.5x
- 0.25x
-
Optional internal configuration backup:
- Added support for saving an internal copy of the configuration as an optional file.
- This can help recover settings, favorites, and customizations.
-
RetroArch shader support for Vulkan:
- Added support for RetroArch
.slangpshaders when using Vulkan.
- Added support for RetroArch
Vulkan Renderer Improvements:
-
Vulkan is now stable enough to be the recommended renderer.
- Vulkan now provides the best visual quality path for this fork.
- It is especially recommended for high internal resolution rendering.
-
High-resolution 3D now works on both DS screens.
- This is one of the most important improvements in RC3.
- Games that render 3D on the top and bottom screens can now benefit from internal resolution scaling in Vulkan.
- This is something OpenGL cannot currently provide in the same way.
-
The accelerated Vulkan pipeline was improved.
- The previous Vulkan Compute backend was removed.
- The old “Simple Pipeline” toggle was removed.
- Vulkan now uses a simpler and more stable accelerated path without exposing unstable backend choices to the user.
-
Better Vulkan frame presentation:
- Improved frame stability.
- Reduced stutter.
- Improved behavior in heavy 3D scenes.
- Improved behavior with high internal resolutions.
- Improved stability when 3D alternates between the top and bottom screens.
-
Major Vulkan visual fixes:
- Fixed many visual bugs related to Vulkan rendering.
- Fixed high internal resolution rendering issues.
- Fixed incorrect top/bottom screen mixing in several cases.
- Fixed flickering and black screen issues.
- Fixed corrupted textures in 3D scenes.
- Fixed 2D artifacts that appeared at certain Vulkan resolutions.
- Fixed visual issues in Pokémon Ranger: Shadows of Almia.
- Fixed many other Vulkan-related visual bugs.
OpenGL Renderer:
-
OpenGL was restored closer to upstream behavior.
- The OpenGL path is now more aligned with the original upstream renderer.
- This improves compatibility and keeps OpenGL useful as a fallback renderer.
-
OpenGL remains a compatibility option.
- Vulkan is recommended for high-resolution rendering and best visual quality.
- OpenGL is still available for devices or games where compatibility is preferred.
-
Legacy OpenGL msha filter support was removed.
- This was done to improve compatibility and keep behavior more consistent.
RetroAchievements:
This RC includes a large RetroAchievements bug-fix pass.
RetroAchievements should now be much more reliable, but I need help testing it across more games and accounts.
Please test:
- Unlocking achievements
- Submitting leaderboard scores
- Softcore mode
- Offline behavior
- Reconnect behavior
- Session expiration
- Games with empty achievement sets
- Username validation
- Achievement list loading
RetroAchievements fixes and improvements:
- Improved RetroAchievements events.
- Improved RetroAchievements notifications.
- Improved session and token expiration handling.
- Fixed multiple leaderboard issues.
- Improved username validation.
- Fixed achievement list behavior when a game set contains no achievements.
- Improved offline Softcore behavior.
- Improved reliability when submitting progress, unlocks, and scores.
Other Improvements:
- Better fast-forward behavior with lower latency and fewer jumps.
- Saving savestates should no longer leave emulation running at reduced FPS after the save finishes.
- More stable audio with fewer crackles and dropouts.
- Better screenshots for savestates, now taking captures only when needed.
- Better controller navigation in the ROM list.
- Better handling of external displays.
- Better screen recording behavior.
- Better layout handling on devices with cutouts or notches.
- Safer configuration writes to reduce the risk of data loss.
- Better recovery when ROM cache or configuration files become corrupted.
Bug Fixes:
- Fixed flickering in several games.
- Fixed black screen issues in several cases.
- Fixed incorrect mixing between top and bottom DS screens.
- Fixed Vulkan visual problems at high internal resolutions.
- Fixed visual artifacts in 2D elements when using Vulkan.
- Fixed corrupted textures in 3D scenes.
- Fixed Pokémon Ranger: Shadows of Almia visual issues.
- Fixed cheats that could not be selected.
- Fixed crashes when launching compressed ROMs if extraction fails.
- Fixed crashes when the real path of a URI cannot be resolved.
- Fixed a microphone-related crash.
- Improved recovery from corrupted ROM cache data.
- Improved recovery from corrupted configuration files.
- Removed the old Vulkan Compute backend.
- Removed the old “Simple Pipeline” toggle.
- Removed old OpenGL msha filter support.
Upstream Changes:
Several upstream changes from @rafaelvcaetano were integrated into this release.
Integrated upstream commits:
496cdc64feff05fa00279eaf245f14d31f7fa2140d9ddfdd73c55f6cacc042551e1d01a4d7183b4cb29ced5526c9e259db11661fd5f7adee001c03b7c93f341d610c47b7d0d8f6c75926b959ad16373c97417b974a97f06504c9fbde7c2055279961fcad7a026940008939cd038b5246e8996211950d2631d2f4066225de68352c9129b70af714ff3bf6a553cb35ae8f5477eec8f5c5a109225c1c980a52268301e656576c069a01da56469b9670e77502dea9e2
Notes:
- Vulkan is now the recommended renderer for the best visual quality and high internal resolution.
- OpenGL is still available as a compatibility renderer.
- Some options depend on the device and will only appear if the hardware supports them.
- RetroArch
.slangpshader support is available through Vulkan. - Per-ROM settings are recommended when testing games with different internal resolution requirements.
Testing Needed:
Please help test RC3 before the final 0.7.0 release.
The most important things to test are:
- Vulkan rendering in 3D games
- High internal resolution on both DS screens
- Games that move or display 3D between the top and bottom screens
- Pokémon Ranger: Shadows of Almia
- RetroAchievements unlocks
- RetroAchievements leaderboard score submissions
- Per-ROM internal resolution settings
- Savestates
- Fast-forward
- Audio stability
- OpenGL compatibility
When reporting bugs, please include:
- Game name
- Renderer used: Vulkan or OpenGL
- Internal resolution
- Device model
- Android version
- Whether RetroAchievements was enabled
- Screenshot or video if it is a visual issue
- A comparison against Software renderer if possible
Support & Early Access
Thank you to everyone helping test the Release Candidate builds.
Your reports are what make it possible to stabilize Vulkan, improve RetroAchievements, and prepare this release for the final 0.7.0 version.
Patreon supporters get early access builds and help guide testing before public releases.
Thank you for supporting the project and helping improve melonDS Android.