Skip to content

Releases: azahar-emu/azahar

Azahar 2125.0 Alpha 4

03 Mar 19:30

Choose a tag to compare

Azahar 2125.0 Alpha 4 Pre-release
Pre-release

⚠️Important Alpha Information⚠️

As an alpha release, this build is not yet considered stable.

This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release.
Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development.

If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release.


Azahar 2125.0-alpha4 Changelog

2125.0 Alpha 4 is an amendment to Alpha 3 which addresses an issue which caused the Android build to crash when launched (#1810). It is otherwise identical to Alpha 3.

As 2125.0 Alpha 3 has been removed due the the issue, Alpha 3's changelog has been copied below ver-batim:


Azahar 2125.0-alpha3 Changelog

libretro

  • Azahar is now available as libretro/RetroArch cores for various OS platforms. | @warmenhoven #1215 + other PRs
    • Below is a list of platforms with available cores in this initial release:
      • Linux (x86_64)
      • Windows (x86_64)
      • macOS (arm64)
      • macOS (x86_64)
      • Android (arm64)
      • iOS
      • tvOS
    • Other platforms and architectures may be added in subsequent releases.
    • It's important to note that, due to restrictions around the use of JIT compilation on the App Store, the iOS and tvOS have JIT forcefully disabled by default* on those platforms. Disabling JIT has a big impact on performance, so emulation speed may be below 100% on devices other than those which have been released relatively recently.
    • When 2125.0 is fully released, the Azahar core will be available via the RetroArch core downloader and as a built-in core on iOS and tvOS.

All

  • Greatly reduced CPU usage of Azahar while using Artic Base. | @keynote #1789
  • Shader and pipeline compilation tasks are now handled by separate workers, improving parallelism and slightly reducing shader compilation stutter. | @PabloMK7 #1802
  • Fixed an issue with the previously introduced Vulkan shader disk cache where transferring the cache between devices could cause graphical issues. | @PabloMK7 #1770
  • Fixed unnecessary file IO spam while reading from Vulkan shader disk cache. | @PabloMK7 #1774
  • Very minor optimization for log message filtering, effective when a large number of LOG_DEBUG messages are produced in a short time-frame. | @PabloMK7 #1773
  • Added HLE implementation for Download Play (DLP) client. | @lannoene #1741
    • The DLP LLE module is no longer required to connect to Download Play sessions.
    • The LLE module is still required in order to host Download Play sessions.
  • Implemented new "Integer Scaling" option. @DavidRGriswold #1400
  • Added a new "Layouts to Cycle" setting, which allows users to select which layouts are cycled by the Cycle Layout/Toggle Layout hotkey. | @DavidRGriswold #1430
  • Apply the selected texture filter to color surfaces, not just texture surfaces. | @PabloMK7 #1784
  • Major refactor of configuration backend for all platforms, improving maintainability | @OpenSauce04 #1762
    • This change is primarily a developer-facing one, but does somewhat affect end-users on Android by having the default config.ini file be dynamically generated and validated, meaning that keys which were missing in the default config file are now present. | @OpenSauce04 #1762

Android

  • Added a new "Hotkey Enable" button bind. This button can be used in button combinations to activate hotkeys. | #1464
    • See the linked PR for a more detailed explanation.
  • Added new "Auto-Map Controller" button which functions similarly to its desktop equivalent. | @RJNY #1769
  • The drawer menu now always uses the layout appropriate for the current device orientation. | @DavidRGriswold #1473

macOS

  • Fixed a possible UI freeze during game list population. | @TeamPuzel #1785

Windows

  • Explicitly tell AMD drivers to use the dedicated GPU by default if an integrated GPU is available. | @RedBlackAka #1783

Technical

  • Intel macOS binaries are now built using macOS 26 + Xcode 26. | @OpenSauce04 #1803
  • Refactor and fix a resource leak in the Vulkan texture runtime. | @PabloMK7 #1790
    • This change is for correctness, and has no real effect on end-users.

Azahar 2125.0 Alpha 2

21 Feb 23:33

Choose a tag to compare

Azahar 2125.0 Alpha 2 Pre-release
Pre-release

⚠️Important Alpha Information⚠️

As an alpha release, this build is not yet considered stable.

This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release.
Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development.

If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release.


This changelog is relative to the prior 2125.0-alpha1 changelog. You can view that changelog here.


Azahar 2125.0-alpha2 Changelog

All

  • Re-added texture filtering functionality while using the Vulkan renderer. | @jbm11208 #1675
    • This feature was previously added in version 2124, but was subsequently removed in 2124.2 due to stability issues.
    • This iteration should address the issues present in the previous implementation.

Desktop

  • Fixed an issue which could cause Azahar to crash when resetting all settings to their default value. | @ChaseParate #1751
  • Removed all code relating to the old SDL2 frontend. | @OpenSauce04 #1756
    • This is not to be confused with the SDL2 functionality present in the Qt frontend.
      This exclusively refers to the SDL2 emulation frontend, which has been disabled at build time by default for ages.

Technical

Azahar 2125.0 Alpha 1

17 Feb 15:07

Choose a tag to compare

Azahar 2125.0 Alpha 1 Pre-release
Pre-release

⚠️Important Alpha Information⚠️

As an alpha release, this build is not yet considered stable.

This prerelease is intended for users to test upcoming features, allowing the community to provide feedback before they are distributed in a stable release.
Users interested in testing bleeding-edge software are encouraged to test out this build to help us catch any issues we may have missed during development.

If you are unwilling to tolerate potential issues, it may be better to wait for the next stable release.


This changelog doesn't reflect the final intended featureset of the 2125.0 update.

Many features are still in development, and for this reason, several planned changes are not yet present in this pre-release.

You can view our roadmap at https://github.com/azahar-emu/azahar/milestones.


Azahar 2125.0-alpha1 Changelog

All

  • Implemented a disk shader cache for the Vulkan renderer in the form of .vkch files. | @PabloMK7 #1725 #1748
    • These files keep track of compiled shaders so that there is no need to recompile them on subsequent application launches, which removes all stutter caused by shader compilation after the first playthrough of the application.
    • Cache files can also be copied between your own devices to benefit from the reduced stutter.
  • Fixed an issue where, if a game with no cheats had its cheat list viewed or the game was launched, the cheats list for the previously loaded game would be erroneously used. | @Fs00 #1640
  • Minor fixes to local play for Luigi's Mansion 1 and Download Play applications. | @lannoene #1690
  • Minor optimization applied to the Vulkan renderer which slightly reduces its memory usage. | @PabloMK7 #1710

Desktop

  • Fixed a rare issue where the emulator could attempt to pre-load custom textures even when they were disabled, resulting in a crash. | @coolguy1842 #1629
  • Fixed an issue where a small subset of setting tooltips wouldn't have any automatic line breaks as intended. | @OpenSauce04 #1718
  • Added new "Enable display refresh rate detection" debug setting. | @OpenSauce04 #1726
    • This setting is enabled by default, and disabling it prevents Azahar from attempting to detect the display's refresh rate when choosing its preferred Vulkan presentation mode. Disabling this setting can result in emulation slowdowns with certain displays, so it's recommended to leave it enabled unless you know what you're doing.

Windows

  • Fixed an issue where certain characters in an application name could become corrupted when creating a desktop shortcut. | @RedBlackAka

Technical

  • If certain features are disabled at compile-time in the desktop build, code related to those features is now more aggressively excluded. | @RedBlackAka #1630
  • Detection of CPUs using the FMA4 extension has been disabled, as this extension is not used by Azahar. | @RedBlackAka #1746
  • Added NATVIS to BitField class, allowing for better debugging in Visual Studio. | @PabloMK7 #1731

Azahar 2124.3

29 Jan 13:35

Choose a tag to compare

This update re-enables support for the .3ds extension, which was previously removed in Azahar's initial release.

We previously made this change as a clear motion to distance ourselves from the mass piracy that lead to the closure of Yuzu and Citra, however, we have now determined that this change is causing more harm than good.

We've noticed that the removal of the .3ds extension has caused unnecessary fragmentation in the 3DS emulation community. This led to the creation of dubiously safe forks, to which a portion of the Azahar userbase migrated. These forks used unsafe deployment practices, presented licensing concerns, and confused users as to whether the forks were part of the upstream Azahar project. These circumstances created an unhealthy open-source development environment, and we don't believe that this is in the best interest of the 3DS emulation scene.

Given that the removal of the .3ds extension was originally an act of project philosophy rather than a technical change, we don't want this decision to overshadow the very real leaps which have been made in Azahar over the last year. Because of this, we have decided that it's for the best of everyone that we revert the change.

It is important to note that support for encrypted ROMs is still disabled; This will not change for the foreseeable future. Unlike the .3ds extension, which is a matter of project philosophy, encrypted ROMs still present actual legal challenges that we do not want to take on.

We have decided to publish this change in its own Azahar release to avoid the change overshadowing additions made in the future 2125 update.

We hope that this change will help to bring the 3DS emulation community closer together.


Azahar 2124.3 Changelog

All

Azahar 2124.2

25 Jan 02:25

Choose a tag to compare

Similarly to 2124.1, this minor release focuses on fixing high-priority bugs and issues.

Additionally, it introduces a new "Update Channel" feature on desktop builds, allowing you to receive in-app notifications for pre-release builds such as betas and release candidates, even when running a stable release. We are releasing this feature in the hope that it will encourage more users to try the prereleases, experiencing the new features early and helping us to polish the final release by reporting issues we may have missed.


Azahar 2124.2 Changelog

Desktop

  • Introduced a new Update Channel feature | @OpenSauce04 #1659
    • This feature can be accessed from the General section of the settings menu under a new "Updates" subsection.
    • The available channels are "Stable" and "Prerelease".
    • When using pre-release builds, update notifications will still be received for newer pre-releases regardless of the setting value to allow important fixes to be distributed. As such, this new feature primarily applies to the stable build.
  • Added a note to the "Enable async presentation" setting indicating that it adds 1 frame of input lag. | @Immersion95 #1669
  • The Vulkan texture filtering functionality, which was introduced in 2124, has been temporarily disabled due to unforeseen stability issues. | @PabloMK7 #1678
    • This feature is planned to be re-enabled in the 2125 update following additional polishing and another round of public testing. Apologies for any inconvenience.

MacOS

  • Fixed an issue where, when using an Application Directory, Azahar may hang or have a flickering user interface after launching. | @OpenSauce04 #1665

All

  • Fixed an issue where plugins that were intended to run for all title IDs instead didn't run at all. | @OpenSauce04 #1679
    • This notably fixes an issue where the Nimbus plugin required to play Animal Crossing: New Leaf online failed to load properly.
  • Updated SDL to version 2.32.10. | @OpenSauce04 #1680
    • This notably fixes an issue where connecting/disconnecting a controller during emulation on macOS would cause the emulator to crash.
  • Fixed an issue where, when launching from the HOME menu, applications which required forced accurate multiplication wouldn't have it activated. | @PabloMK7 #1671
  • Fixed an issue where, when loading a save state, accurate multiplication would be automatically and erroneously disabled until emulation was restarted. | @PabloMK7 #1671
  • Fixed an issue where game graphics could momentarily appear broken after loading a save state. | @PabloMK7 #1672
  • Fixed an issue where custom textures would be disabled after loading a save state until emulation was restarted. | @PabloMK7 #1672
  • Mario & Luigi: Paper Jam now has forced accurate multiplication, improving compatibility. | @PabloMK7 #1671

Android

  • Fixed an issue where, on many setups, the VSync setting could appear to be disabled, but was actually enabled. | @OpenSauce04 #1658
    • This was addressed by properly disabling the VSync setting in these configurations, matching the setting's prior appearance.
  • Fixed an issue where the Retroid Pocket screen attachment could function incorrectly on the Odin 2. | @DavidRGriswold #1667
  • The circle pad/c-stick binding UI has been updated to be more clearly understandable. | @DavidRGriswold #1676

Technical

  • CMake now explicitly searches for Qt6::GuiPrivate before linking with it, improving build compatibility in certain environments. | @marcin-serwin #1657

Azahar 2124.1

20 Jan 10:28

Choose a tag to compare

This minor release addresses high-priority issues which were discovered since the previous update.

Users, especially those using version 2124, are advised to update whenever it is convenient to do so.


Azahar 2124.1 Changelog

All

  • Fixed a regression introduced in 2124 where, while using the Vulkan renderer, certain textures or graphical effects would have an incorrect appearance. | @jbm11208 #1634

Android

  • Fixed a long-standing issue where, on certain Android flavours or devices, the Azahar app could instantly crash when opened. | @OpenSauce04 #1646

MacOS

  • Fixed a regression introduced in 2124 where the Azahar application could immediately hang after launching on macOS 26 Tahoe. | @PabloMK7 #1649

Technical

  • Fixed an issue where, when building locally, build information may sometimes not be generated correctly. | @OpenSauce04 #1652
  • Upgraded bundled Qt to 6.9.3. | @OpenSauce04 #1650
  • Removed a leftover file from the long-decommissioned Citra installer. | @OpenSauce04 #1651

Azahar 2124

15 Jan 12:49

Choose a tag to compare

It's been a while since the last major update, and we've been working hard during that time to bring many improvements to the emulator.
In fact, by a decent margin, this is Azahar's largest update ever!

Please take a look at the changelog below to see what we've been working on and learn about the new features which are available.


As previously announced and explained in an announcement on our Discord server, this release increases the minimum Android version from Android 9 to Android 10.

Devices running Android 9 will no longer be able to update beyond Azahar 2123.4.1.

See the announcement post for additional information.


Azahar 2124 Changelog

All

  • Implemented emulated cartridge insertion functionality. | @PabloMK7 #1304
    • This causes the cartridge to appear inserted on the emulated HOME menu, and otherwise act as an inserted cartridge would on real hardware.
  • Implemented texture filtering while using the Vulkan renderer. | @jbm11208 #1116, @jbm11208 #1513, @PabloMK7 #1561
  • Added support for secondary screen opacity while using the Vulkan renderer. | Briar @OpenSauce04 #1255
  • Improved HLE NWM support. | @lannoene #1375
    • This enables multiplayer functionality with use of the LLE DLP module in several new games, including Luigi's Mansion, Luigi's Mansion: Dark Moon, and Mario Kart 7.
  • Implemented HLE DSP sleep and wakeup functionality. | @PabloMK7 #1529
    • This fixes an issue where games could have bugged sound when opened from the HOME menu.
  • Added new SMDH region free patch setting which is enabled by default. | @PabloMK7 #1541
    • This functions similarly to the region free patch from Luma3DS.
  • Improved memory mode handling, allowing extended memory games to be launched from the HOME menu. | @PabloMK7 #1534, @PabloMK7 #1560
  • Improved plugin memory management, allowing launching applications with plugins from the HOME menu. | @PabloMK7 #1554
  • Changed unimplemented GAS mode behaviour, fixing visual issues in the Monster Hunter games when a blur effect is used.
  • Fixed garbled HOME menu graphics when suspending an application. | @PabloMK7 #1518
  • Fixed a long-standing issue where microphone input could sound slowed-down or stuttery. | @PabloMK7 #1610
  • Various improvements to stereoscopic 3D settings and functionality. | @DavidRGriswold #1212
  • Implemented AM:CancelImportProgram, allowing emulated CIA installations to be cancelled mid-way. | @PabloMK7 #1535
  • Improved implementation of MemorySystem::GetPhysicalPointer, resulting in a very minor performance improvement. | @PabloMK7 #1587
  • Moved the plugin framebuffer address ownership from the plg:ldr service to the memory system, resulting in a very minor performance improvement. | @PabloMK7 #1572
  • Fixed a possible crash in the Vulkan renderer caused by malformed geometry shaders. | @PabloMK7 #1585
  • Switch to using xxHash instead of CityHash64 and improve ShaderSetup hashing behaviour, resulting in a minor performance improvement. | @PabloMK7 #1592
  • Implemented game-specific fixes for broken geometry shaders in the following SEGA 3D Classics titles: Thunder Blade, After Burner, Power Drift.
  • The play_time.bin file has now been moved from the log directory to the sysdata directory. | @OpenSauce04 #1310

Android

  • Increased minimum Android version to Android 10. | @OpenSauce04 #1368
  • Added support for compressing and decompression ROM files. | @ne-kle @PabloMK7 #1458
  • Implemented background color, second screen opacity, and audio emulation settings from the desktop build. | marsia @rtiangha @OpenSauce04 #1254
  • Fixed an issue where Discord could break secondary screen detection on dual-screen devices. | @DavidRGriswold #1455
  • Added "Hide 3DS Images from Android" setting. | marsia @OpenSauce04 #1254
    • This prevents images related to Azahar from showing up in the Android gallery.
  • VSync is now disabled by default on Android due to reasons explained here. | @DavidRGriswold #1456
    • This results in a noticeable reduction in input latency with little to no effect on the visual appearance of games.
    • This change applies retroactively to existing configurations; VSync will be automatically disabled after updating if it was previously enabled.
  • Fixed an issue where resetting input bindings to their default value wouldn't actually clear the binding. | @DavidRGriswold #1463
  • Fixed a bug where the secondary screen opacity setting was being applied in layouts other than the custom layout. | @DavidRGriswold #1496
  • Fixed an issue where certain external gamepads would have inverted axis controls. | @DavidRGriswold #1483
    • Affected gamepads will have to be re-bound after updating the emulator.
  • The emulator UI's refresh rate is no longer limited 60hz on phones with a higher set refresh rate. | @ne-kle
    • During emulation, the display refresh rate is still limited to 60hz to preserve battery life.
  • Fixed the Toggle Controls menu having flickering on the bottom edge and having misaligned list clickboxes on certain Android devices. | @OpenSauce04 #1598
  • Fixed a bug where the screen size could be detected incorrectly. | @DavidRGriswold #1495

Desktop

Docker

  • Added new Docker image download option to release files. | @OpenSauce04 #1493
    • This docker image contains the azahar-room executable, allowing local multiplayer rooms to be hosted.

Technical

  • ARM macOS binaries are now built using macOS 26 runners. | @OpenSauce04 #1412
  • Added new game launch stress testing functionality to the desktop build behind the new ENABLE_DEVELOPER_OPTIONS CMake option. | @OpenSauce04 #1442
  • Various minor internal improvements to the Android performance overlay. | @OpenSauce04 #1367
  • Fixed build failure on unix-like operating systems introduced by Qt 6.10.0. | @OpenSauce04 #1441
  • Moved DSP memory ownership to the memory subsystem. | @PabloMK7 #1520
  • Updated dynarmic to the latest version. | @PabloMK7 #1569

Azahar 2124 Release Candidate 2

11 Jan 21:51

Choose a tag to compare

Pre-release

⚠️Important Release Candidate Information⚠️

This is a release candidate. Please expand this drop-down to read more about what this means before installing.
As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate.

Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.

If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release.

Users are advised to back up their Azahar user data directory before using a pre-release build.

This changelog is relative to 2124-rc1.
For a complete list of the changes in the upcoming 2124 update, please see the 2124-rc1 changelog.


Azahar 2124-rc2 Changelog

All

  • Fixed a regression introduced in 2124-rc1 where pre-existing custom textures wouldn't load correctly. | @PabloMK7 #1609
  • Fixed a long-standing issue where microphone input could sound slowed-down or stuttery. | @PabloMK7 #1610

Docker

  • For Docker images produced by our CI/CD pipeline, the image tag is now set to either the relevant git tag or the current commit's hash. | @OpenSauce04 #1611
    • In 2124-rc1, the image tag was always latest. From now on, all image releases will use this new naming scheme.
    • As an example, the tag for this release will be 2124-rc2.

Azahar 2124 Release Candidate 1

11 Jan 01:19

Choose a tag to compare

Pre-release

⚠️Important Release Candidate Information⚠️

This is a release candidate. Please expand this drop-down to read more about what this means before installing.
As a release candidate, this build is not yet considered a stable release, but is instead a build which could be promoted to a stable release if it is sufficiently tested with no major issues being discovered. Ideally, the release candidate period will last for 7 days, however if major issues are discovered, this will be extended to allow for additional testing with a corrected release candidate.

Despite its status as a pre-release build, users are encouraged to test this version to help us catch any newly introduced issues before the build is promoted to a full release. If you do observe such issues, please report them to us on GitHub so we can evaluate them.

If you are unwilling to tolerate potential minor issues, you may be better off waiting until a release candidate is promoted to a full release.

Users are advised to back up their Azahar user data directory before using a pre-release build.

It's been a while since the last major update, and we've been working hard during that time to bring many improvements to the emulator.
In fact, by a decent margin, this is Azahar's largest update ever!

Please take a look at the changelog below to see what we've been working on and learn about the new features which are available.


As previously announced and explained in an announcement on our Discord server, this release increases the minimum Android version from Android 9 to Android 10.

Devices running Android 9 will no longer be able to update beyond Azahar 2123.4.1.

See the announcement post for additional information.


Azahar 2124-rc1 Changelog

All

  • Implemented emulated cartridge insertion functionality. | @PabloMK7 #1304
    • This causes the cartridge to appear inserted on the emulated HOME menu, and otherwise act as an inserted cartridge would on real hardware.
  • Implemented texture filtering while using the Vulkan renderer. | @jbm11208 #1116, @jbm11208 #1513, @PabloMK7 #1561
  • Added support for secondary screen opacity while using the Vulkan renderer. | Briar @OpenSauce04 #1255
  • Improved HLE NWM support. | @lannoene #1375
    • This enables multiplayer functionality with use of the LLE DLP module in several new games, including Luigi's Mansion, Luigi's Mansion: Dark Moon, and Mario Kart 7.
  • Implemented HLE DSP sleep and wakeup functionality. | @PabloMK7 #1529
    • This fixes an issue where games could have bugged sound when opened from the HOME menu.
  • Added new SMDH region free patch setting which is enabled by default. | @PabloMK7 #1541
    • This functions similarly to the region free patch from Luma3DS.
  • Improved memory mode handling, allowing extended memory games to be launched from the HOME menu. | @PabloMK7 #1534, @PabloMK7 #1560
  • Improved plugin memory management, allowing launching applications with plugins from the HOME menu. | @PabloMK7 #1554
  • Changed unimplemented GAS mode behaviour, fixing visual issues in the Monster Hunter games when a blur effect is used.
  • Fixed garbled HOME menu graphics when suspending an application. | @PabloMK7 #1518
  • Various improvements to stereoscopic 3D settings and functionality. | @DavidRGriswold #1212
  • Implemented AM:CancelImportProgram, allowing emulated CIA installations to be cancelled mid-way. | @PabloMK7 #1535
  • Improved implementation of MemorySystem::GetPhysicalPointer, resulting in a very minor performance improvement. | @PabloMK7 #1587
  • Moved the plugin framebuffer address ownership from the plg:ldr service to the memory system, resulting in a very minor performance improvement. | @PabloMK7 #1572
  • Fixed a possible crash in the Vulkan renderer caused by malformed geometry shaders. | @PabloMK7 #1585
  • Switch to using xxHash instead of CityHash64 and improve ShaderSetup hashing behaviour, resulting in a minor performance improvement. | @PabloMK7 #1592
  • Implemented game-specific fixes for broken geometry shaders in the following SEGA 3D Classics titles: Thunder Blade, After Burner, Power Drift.
  • The play_time.bin file has now been moved from the log directory to the sysdata directory. | @OpenSauce04 #1310

Android

  • Increased minimum Android version to Android 10. | @OpenSauce04 #1368
  • Added support for compressing and decompression ROM files. | @ne-kle @PabloMK7 #1458
  • Implemented background color, second screen opacity, and audio emulation settings from the desktop build. | marsia @rtiangha @OpenSauce04 #1254
  • Fixed an issue where Discord could break secondary screen detection on dual-screen devices. | @DavidRGriswold #1455
  • Added "Hide 3DS Images from Android" setting. | marsia @OpenSauce04 #1254
    • This prevents images related to Azahar from showing up in the Android gallery.
  • VSync is now disabled by default on Android due to reasons explained here. | @DavidRGriswold #1456
    • This results in a noticeable reduction in input latency with little to no effect on the visual appearance of games.
    • This change applies retroactively to existing configurations; VSync will be automatically disabled after updating if it was previously enabled.
  • Fixed an issue where resetting input bindings to their default value wouldn't actually clear the binding. | @DavidRGriswold #1463
  • Fixed a bug where the secondary screen opacity setting was being applied in layouts other than the custom layout. | @DavidRGriswold #1496
  • Fixed an issue where certain external gamepads would have inverted axis controls. | @DavidRGriswold #1483
    • Affected gamepads will have to be re-bound after updating the emulator.
  • The emulator UI's refresh rate is no longer limited 60hz on phones with a higher set refresh rate. | @ne-kle
    • During emulation, the display refresh rate is still limited to 60hz to preserve battery life.
  • Fixed the Toggle Controls menu having flickering on the bottom edge and having misaligned list clickboxes on certain Android devices. | @OpenSauce04 #1598
  • Fixed a bug where the screen size could be detected incorrectly. | @DavidRGriswold #1495

Desktop

  • Implemented batch compression and decompression functionality. | @PabloMK7 #1503
  • Improved consistency of capitalization and colon usage in the UI. | @RedBlackAka @OpenSauce04 #1306
  • Prevented refreshing game directory while emulation is powered on, avoiding a race condition. | @PabloMK7 #1553

Docker

  • Added new Docker image download option to release files. | @OpenSauce04 #1493
    • This docker image contains the azahar-room executable, allowing local multiplayer rooms to be hosted.

Technical

  • ARM macOS binaries are now built using macOS 26 runners. | @OpenSauce04 #1412
  • Added new game launch stress testing functionality to the desktop build behind the new ENABLE_DEVELOPER_OPTIONS CMake option. | @OpenSauce04 #1442
  • Various minor internal improvements to the Android performance overlay. | @OpenSauce04 #1367
  • Fixed build failure on unix-like operating systems introduced by Qt 6.10.0. | @OpenSauce04 #1441
  • Moved DSP memory ownership to the memory subsystem. | @PabloMK7 #1520
  • Updated dynarmic to the latest version. | @PabloMK7 #1569

Azahar 2123.4.1

09 Jan 01:01

Choose a tag to compare

Azahar 2123.4.1 is a hotfix for the previously released 2123.4 update.
It fixes a previously uncaught regression in the Android build.
This issue could cause the emulator to crash when selecting a user directory on an SD card or other external storage device.

To see a full list of the important changes included in the 2123.4 update, see the 2123.4 changelog.