The team behind Azahar has released the release candidate for the upcoming version 2123.

The newly released release candidate adds new features and optimizations, but the key addition amongst them all is added support for dual screen Android set ups. Most DS and 3DS emulators for Android are designed with single-screen devices in mind. Now, with the rise of multi-screen handhelds, support is expanding into the retro gaming space.

Azahar Beginnings

Azahar is the result of merging two different 3DS emulators: a Citra fork made by PabloMK7 to address issues specific to Mario Kart 7, and Lime3DS, a project created after the discontinuation of the mainline Citra 3DS emulator.

The upcoming Retroid Pocket Dual Screen add-on on a black Buy the Retroid Pocket 5

This update introduces dual-screen support for Android devices, a feature gaining significant traction in modern handhelds. Devices like the ONEXSUGAR Indiegogo, AYANEO Pocket DS Indiegogo, and the soon-to-ship Buy the Retroid Dual Screen Add-on stand out by offering dual-screen emulation with ease. To see a full list of changes, check the changelog below:

Azahar 2123 Release Candidate 1 and 2

This is a release candidate build, meant for testing before a stable release. Please report any issues on GitHub.

Changelog (All changes since 2122)

All
  • Added ROM compression functionality. Supported formats: .zcia, .zcci, .z3dsx, .zcxi. You can compress ROMs via Tools > Compress ROM File… on desktop. (#1208, #1249)
  • Fixed a memory leak in the AAC decoder. (#1167)
  • Fixed issue where refresh rates below ~60 Hz caused slower emulation when vsync was enabled. (#1193, #1248)
  • Stored Vulkan pipeline caches separately per application instead of a shared cache. (#1118)
  • Fixed LCD color fill bug causing black or garbage screens. (#1198)
  • OpenGL renderer now logs shader link failures instead of crashing. (#1200)
  • Removed deprecated links inherited from Citra. (#1250)
Android
  • Added secondary screen support for wired and wireless displays (e.g., Chromecast, Miracast). Disabled by default; enable via Settings > Layout > Secondary Display Screen Layout. (#617)
  • Fixed recognition issues for new compressed ROM formats. (#1287)
  • Fixed file metadata icons for .3dsx and .z3dsx. (#1249)
  • Added button sliding behavior configuration in Overlay Options. (#884)
  • Implemented play time tracking. (#813)
  • Fixed a visual stuttering issue introduced in 2123-rc1 which affected the emulator UI while using the OpenGL renderer. | @OpenSauce04 #1294
  • Fixed an issue where the new button sliding feature wouldn’t work correctly if the joystick or dpad were held down before a button was pressed. | @OpenSauce04 #1296
  • Restructured touch input code to correctly handle multitouch inputs, resulting in improved multitouch support for the on-screen controller overlay. | @OpenSauce04 #1296
macOS
  • Fixed Artic Controller issue. (#1263)
  • Fixed low power mode causing 50% speed when vsync enabled. (#1193, #1262)
  • Added separate x86_64 and ARM64 binaries. (#1138)
Desktop / UI
  • Fixed horizontal centering in fullscreen layouts (single-window & separate-window). (#1211)
  • When using a prerelease build, users are now directed to download the update from the Azahar GitHub releases page rather than the Azahar website. | @OpenSauce04 #1295
    • The Azahar website doesn’t list prereleases, so this may have caused some confusion with users. This could have resulted in users unintentionally downgrading to the latest stable release.
Windows
  • Minor installer tweaks. (#1234)
Technical / Build
  • Fixed GSP stop flag. (#1199)
  • Corrected IRQ request register behavior. (#1216)
  • Fixed GCC 13+ compile failure. (#1221)
  • Added CMake option USE_SYSTEM_SPIRV_HEADERS. (#1281, #1284)
  • Fixed build error with USE_SYSTEM_GLSLANG option. (#1281, #1284)
  • Replaced deprecated Boost class. (#1126)
  • Upgraded Vulkan dependencies to match SDK 14.313.0. (#1225)
  • Fixed SDL frontend compile error. Frontend remains disabled by default. (#1190)
  • Installer tweaks and improved Qt detection via CMake. (#1165)
  • Upgraded Android Gradle Plugin to 8.11.1. (#1256)

These devices are not solely limited to DS and 3DS emulation. The second screen can function as a secondary display much like those used in desktop setups. Users can load any content on the second screen while dedicating the first screen to gaming.

This can include walkthrough videos, music controls, or even movies and TV shows. Having access to a second screen, especially on modern and more powerful systems, can open up a world of possibilities that were once only imagined in dreams.

Dual Screen Emulation for Dual Screen Handhelds

For 3DS and DS emulators like Azahar, the most practical use is displaying one of the console’s screens on each display. This setup creates one of the most immersive and comfortable experiences for enjoying the libraries of both handheld systems.

Anbernic RG477M First Impressions - melonDS Dual Screen - Mario Kart - 2

RG447M playing Mario Kart DS by utilizing MelonDS’ new dual screen feature.

Although Azahar has been a work in progress since its announcement, it benefits from building on two already established and well-performing emulators. Before merging, Lime3DS and PabloMK7’s fork were among the most recommended Android emulators for portable 3DS gaming. Now, the combined project offers new features that make it more compelling than ever.

Azahar Emulator

What did you think of this article? Let us know in the comments below, and chat with us in our Discord!

This page may contain affiliate links, by purchasing something through a link, Retro Handhelds may earn a small commission on the sale at no additional cost to you.