Azahar 2126.0, an open-source 3DS emulator based on Citra, has been released. It features improvements to GPU emulation and timing, fixing several game issues, but includes a minor known frame pacing issue in the Windows MXE build, which will be resolved in update 2126.1. Major changes include revamped GDB functionality, improved file handling, and new settings for multiplayer and audio options. The release offers a smoother experience but warns of potential bugs due to extensive updates. Users should be aware that system files from version 2126 and newer aren’t compatible with older versions.
(HEY YOU!! We hope you enjoy! We try not to run ads. So basically, this is a very expensive hobby running this site. Please consider joining us for updates, forums, and more. Network w/ us to make some cash or friends while retro gaming, and you can win some free retro games for posting. Okay, carry on ๐)
Azahar 2126.0 has been released. This is an open-source 3DS emulator project based on Citra.
Azahar changelog:
Notice of Known Issues
There is a minor issue in the new MXE build for Windows where frame pacing might be slightly inconsistent. A potential solution has been implemented but needs further testing. This fix will be part of the 2126.1 update.
The majority of users probably wonโt notice this issue, so using the MXE build is still recommended.
The MXE build will replace the MSYS2 build in version 2127.0.
Thank you for your understanding.
Changelog for Azahar 2126.0
Overall
Enhanced GPU interrupt queue & GPU timing emulation. This feature is experimental and disabled by default. It can be toggled in the graphics settings: “Simulate 3DS GPU timings.” | @PabloMK7 #2095, #2145
This enhancement increases emulation accuracy by closely mimicking real hardware behavior.
This update is known to resolve GPU timing issues in Luigi’s Mansion 2: Dark Moon, making it playable without the “delay render thread” option, and likely affects numerous other games as well.
Additionally, it addresses a problem in Super Mario 3D Land that prevented users from loading a save file after completing the game.
This significant change behind the scenes may inadvertently introduce new issues because of its wide scope. Please report any issues caused by this new behavior.
Games that utilize dynamic FPS and do not reach 60 FPS on real hardware will not reach 60 FPS on Azahar with this feature activated.
The PR description provides a detailed technical explanation of the changes.
Completely restructured GDB functionality, with many debugging improvements and new features. | @PabloMK7 #2086
For more details regarding this change, please refer to the PR description.
Refined the handling of filesystem access for special files (like Z3DS files) in anticipation of changes in Azahar 2127. | @PabloMK7 #2352
Fixes issues with compressed 3DSX files (.z3dsx) that failed to load correctly.
No visible changes should be expected since this is an internal reorganization. If issues arise, please submit a bug report.
NOTE: Due to changes in how system files are stored, system files created on Azahar 2126 or later will not be compatible with older Azahar versions. In contrast, system files established on versions prior to Azahar 2126 will have backward compatibility for the foreseeable future.
Further details regarding the necessity of this change can be found in the pull request.
Corrected an issue where screenshots taken by Azahar could exhibit swapped color channels on certain platforms and system configurations. | @mal-cap #2170
Introduced a new setting to skip presenting duplicate frames, which is enabled by default. | @KojoZero #1867
This enhancement ensures that frame generation software operates correctly with Azahar.
Added an option that enables users to toggle whether the emulated 3DS system detects headphones as being plugged in. | @PabloMK7 #2099
Very few games have altered behavior when using wired headphones. For instance, plugging in headphones while playing Super Mario 3D Land may slightly change the audio playback.
In multiplayer rooms, users’ usernames are now directly sourced from the username configured in the System tab of Azahar’s settings, rather than being a separate option.
Resolved a crash that could occur when an application submits a vertex array with an invalid base address. | @PabloMK7 #2299
Known to rectify a crash in the credits of Mario & Luigi: Superstar Saga. This may also fix other issues.
Enhanced the readability and user-friendliness of error messages related to rom loading. | @PabloMK7 #2097
LG2/EX2 subroutine functions are now emitted for shaders only when necessary, rather than for all shaders, optimizing memory usage. | @Wunkolo #2046
Fixed an issue that caused certain older homebrew software to hang on a black screen during startup. | @Masamune3210 #2143
Migrated many non-English translations to simplified language codes for more consistent detection of system languages. | @OpenSauce04 #2152
Corrected an issue with disabled cubemap texture units, known issues in Brain Age: Concentration Training have been addressed. | @Wunkolo #2159
Modified the unimplemented gas stub behavior for the Vulkan renderer to fix a known graphical issue in the Monster Hunter series. | @RedBlackAka #2165
Corrected a typo in a settings log message. | @72374 #2076
Resolved a potential integer overflow issue related to custom Luma3DS mapping + optimized implementation. | @0x48kirenh #2202
Implemented APT:MapProgramIdForDebug. | @PabloMK7 #2224
Fixed APT communication handling between applications. | @DaniElectra #2225
This corrects an issue in the Miiverse posting applet.
Fixed the behavior of HTTPC:GetRequestState when the request still has pending post data. | @PabloMK7 #2234
This resolves an issue where the Miiverse applet was unable to upload posts due to improper behavior.
Added an API allowing applications to register and unregister URL replacements. Pretendo Network Nimbus now uses this to submit rules for URL replacement. | @PabloMK7 #2234
Fixed a crash caused by color fill when using the Vulkan Renderer. | @capito27 #2241
Disabled PICA debug functionality across all platforms, making it a configurable option. | @PabloMK7 #2254
Fixed an issue concerning fill surface downloading, which could lead to graphical bugs in specific cases. | @PabloMK7 #2270
Implemented APT::GetAppletProgramInfo. | @PabloMK7 #2272
This is known to be utilized by Miiverse but likely has other applications.
Enhanced the accuracy of emulated CPU timings, fixing potential timing-related bugs. | @ApfelTeeSaft #2262
Known to fix a softlock issue in Lego City Undercover: The Chase Begins, and may tackle other issues as well.
Rectified a problem that could corrupt the suspended application framebuffer in some cases, which prevented posting images to Miiverse, now resolved. | @PabloMK7 #2272
Improvements to the accuracy of the GSP service, resolving issues tied to suspending applications, Miiverse posting, and Donkey Kong Country Returns. | @PabloMK7 #2273
Likely addresses various other unknown issues.
Updated URLs previously linked to archived Citra webpage to redirect to the Azahar wiki instead. | @RedBlackAka #1881
In multiplayer rooms, users can now choose “No Preference” as the preferred game option. | @PabloMK7 #2296
Fixed an auto-mapping issue with some controllers. | @DavidRGriswold #2317
Various minor adjustments related to analog input. | @DavidRGriswold #2348
Android
Introduced multiplayer room functionality. | Kleidis, @rtiangha, @Gamer64ytb, @weihuoya, @PabloMK7 #830
This update includes most multiplayer features found in the desktop version of Azahar.
Public room browsing, creation of private rooms, joining private rooms, and chat functions have been enabled.
Public room creation and certain UI features like room descriptions or currently playing applications are yet to be implemented.
This feature does NOT support communication with actual consoles or direct connections between nearby Android devices.
Android devices must be on the same WiFi network to play together (or use the Android built-in hotspot or WiFi sharing options).
Public room browsing is feasible if the user provides an unofficial web API URL in the new network settings. Official public rooms are still not a feature of Azahar.
On devices utilizing ANGLE for OpenGL rendering, the Vulkan renderer is forcibly enabled due to significant visual defects with the OpenGL renderer when using ANGLE. | @OpenSauce04 #2197
To check if your device is affected, verify the renderer selection option in Azahar’s settings; it will be greyed out with a message related to ANGLE if using an ANGLE-enabled device.
Most devices should not experience issues, but starting from Android 17โs release, ANGLE will be enabled by default for all newly released devices (not necessarily for devices updating from previous versions).
Fixed an issue where accessing files in the Download directory (e.g., CIA files) could intermittently fail after certain actions. | @OpenSauce04 #2385
Added a new “Combo Button” to the on-screen controller overlay that presses multiple buttons simultaneously when activated. @ADAS2024 #1244 #2266
The buttons triggered through the Combo Button can be customized in the settings.
This button is hidden by default and must be activated in the overlay options.
Various enhancements and new features concerning secondary screen functionality. | @DavidRGriswold #1385
Resolved several issues regarding the “Adjust Scale” menu. | @OpenSauce04 #2256
Android (vanilla)
Introduced an in-app toggleable update checker that activates when Azahar starts, functioning similarly to the desktop version. | @OpenSauce04 #2265
Desktop
Implemented a CLI (command line interface) to handle Azahar’s compression features via the new -c and -x options. | @OpenSauce04 #2084
Refer to azahar –help for further details.
Numerous enhancements to controller integration with Azahar’s desktop frontend, incorporating controller hotkeys. | @DavidRGriswold #1717
Addressed some hotkeys that were malfunctioning while utilizing the Separate Windows screen layout. | @DavidRGriswold #1967
Once an app, update, or DLC is uninstalled, the game list will now refresh accordingly. | @andrey545454 #2237
Updated the “Open Azahar Folder” menubar option to include “NAND Folder” and “SDMC Folder” variants. | @PabloMK7 #2279
Corrected an issue with the Outer Right Camera setting incorrectly reading its value from the Inner Camera Flip setting. | @PabloMK7 #2303
Resolved an issue pertaining to clearing bindings for hotkeys connected to controllers. | @DavidRGriswold #2325
Slight modifications to the tooltip for the “Disable Right Eye Rendering” setting for better understanding. | @72374 #2284
Windows
Introduced the new “MXE” build variant, previously mentioned in an announcement on our Discord server. | @OpenSauce04 #2044
This new variant will succeed the deprecated MSYS2 variant, which will be removed in the 2127.0 update as noted above.
Users will transition from MSYS2 to MXE without any difficulty, alleviating concerns for those currently using MSYS2.
For additional information about this build, please refer to the prior announcement post.
Rectified a long-standing issue whereby Azahar’s system language detection could be incorrect, leading to unexpected language displays in the UI. | @exertustfm #1558
Default messages in the user interface supplied by upstream Qt (OK, Cancel, etc.) are now translated for most languages. | @OpenSauce04 #2153
The following languages remain untranslated due to unavailability of translations in upstream Qt:
Greek, Indonesian, Norwegian Bokmรฅl, Lithuanian, Romanian, Vietnamese
macOS
Resolved an issue where SDMC filenames containing Unicode characters could appear corrupted in emulated applications. | @RigleGit #2079
Addressed various minor issues associated with MoltenVK/Metal. | @sergeymild #2149
Linux
Fixed an issue where analog inputs on specific controllers could be improperly centered. | @DavidRGriswold #2328
This resolves the problem on the Steam Deck where the L and R triggers were stuck pressed. It may also fix issues with other controllers.
Docker
Distributing an ARM64 Docker image binary now. | @OpenSauce04 #2151
Technical
The USE_DISCORD_PRESENCE CMake option has been renamed to ENABLE_DISCORD_RPC. Downstream users and maintainers should make adjustments accordingly. | @OpenSauce04 #2216
The ENABLE_QT_TRANSLATION CMake option is enabled by default now, including qt6-tools-dev or its equivalent as a required build dependency for the Qt frontend if not previously activated. | @OpenSauce04 #2206
Resolved linker warning issues related to the minimum macOS version with Discord RPC enabled. | @OpenSauce04 #2216
This issue has persisted for a long time, but hasn’t caused any actual problems. This adjustment is for technical accuracy.
Fixed a compilation failure that could occur when a system MoltenVK installation was present, even if not in use. | @crueter #2183
Resolved a compilation error encountered in debug mode. | @Wunkolo #2132
Addressed an issue that prevented the azahar-room Dockerfile from building with Podman. | @OpenSauce04 #2151
Added debug scopes for the OpenGL renderer rasterizer and texture runtime. | @Wunkolo #2133
Performed extensive formatting cleanup of the Kotlin codebase and introduced new formatting/style enforcement in CI via ktlint. | @OpenSauce04 #2204
Fixed issues with building using OpenAL on OpenBSD. | @OpenSauce04 #2058
Corrected a problem that hindered generating translation source files in modern build environments due to an outdated qt_add_lupdate call. | @OpenSauce04 #2071
Updated NDK and AGP versions to more recent releases. | @OpenSauce04 #2068
Resolved a compilation issue while building with MSYS2 due to changes in upstream packages. | @PabloMK7 #2236
Fixed a possible build error caused by a missing include. | @asyync1024 #2232
Resolved a build failure experienced when attempting to compile the libretro core with MSVC due to a malformed switch case. | @XenuIsWatching #2267
Updated the NDK used for building the Android libretro core to r27d. | @cscd98 #2298
Changed internal references from azahar_libretro to citra_libretro, adhering to pre-existing project conventions. | @OpenSauce04 #2304
The names of compiled library files remain unchanged: azahar_libretro.*.
Azahar’s build process now recognizes the new environment variable CITRA_USE_TAG_AS_VERSION, which sets the Azahar version string based on: git describe –tags –dirty when defined. | @OpenSauce04 #2302
Download: Azahar 2126.0 x64
Download: Azahar 2126.0 Android
Source: Here
Retro Replay Retro Replay gaming reviews, news, emulation, geek stuff and more!