A Nintendo DS and DSi emulator for Android, built on top of melonDS and the melonDS Android port by rafaelvcaetano.
WatermelonDS is a fork that keeps up with upstream while adding RetroAchievements (including offline play), a Vulkan renderer, RetroArch shader presets and full external display support, wrapped in its own visual identity.
What WatermelonDS adds
Everything from the upstream Android port, plus:
RetroAchievements
Achievements, leaderboards and Hardcore mode, with a shared card style for the in-game popups
Your profile and score are shown on load and in the settings screen
Offline play: unlocks earned without a connection are stored and submitted later. Two providers are available the one built into WatermelonDS, or RAOfflineProxy if you prefer to run it yourself. Note that RAOfflineProxy does not support Hardcore mode
Achievements can be disabled without logging out, and sessions start even for games that have no achievement set
Renderers
Software, OpenGL, Vulkan and compute renderers, with internal resolution scaling
Vulkan gained a fastpath presentation profile, optimized texture uploads and dynamic scissor clipping
RetroArch shader presets on every renderer, through librashader
Adrenotools driver support on the gitHub flavor, for custom Adreno drivers
External displays
Play on a second screen (TV, dock, devices such as the Odin 2), with the touch screen still usable on the handheld
Per-ROM external screen and layout settings, screen rotation, backgrounds, video filtering and aspect ratio control
Achievements are shown on the external display while you browse your ROM list
Library and layouts
DSiWare titles in the ROM list, box art on the "continue" shelf, and custom ROM names
Layout editor with screen transparency, aspect ratio options and separate centering controls
Settings backup and restore (requires a restart to apply), with internal and external layouts backed up separately
Alternate input bindings and a hold-to-fast-forward button
The core is kept in sync with melonDS 1.0 and later upstream changes.
Missing Features
Local Multiplayer
DSi SD card support
Customizable button skins
Performance
Performance is solid on 64 bit devices with thread rendering and JIT enabled, and should run at full speed on flagship devices. Performance on older devices, specially 32 bit devices, is very poor due to the lack of JIT support.