Citra: Difference between revisions

Forks: Removing my statement ", or if games tend to crash in Azahar" since I figured out the issue with Azahar on my AYN Thor: There was something wrong with certain files (I don't know why) in my Azahar's NAND folder. After doing a clean reinstallation (and copying my backup SDMC saves to NAND and none of the homebrew stuff), Azahar works fine for me now and I haven't encountered any crashes since then (so far).
Line 104: Line 104:
}}
}}


;Azahar: A merger of the PabloMK7 and Lime3DS Citra forks by the same developers, meant to merge added features of both to make a definitive emulator. Certain changes were made out of legal considerations, such as ending support for encrypted games, renaming the .3ds file format to its official file extension, .cci, and removing the ability to download system files directly from Nintendo's CDN, which has been replaced by the Artic Setup Tool: a homebrew application that copies system files from a real 3DS unit to Azahar. Cryptographic keys are now included in the emulator directly.<ref>{{cite web |last= |first=PabloMK7 |date=December 12, 2024 |title=Game Loading on Azahar: What's Changing |url=https://azahar-emu.org/blog/game-loading-changes/ |website=azahar-emu.org |location= |publisher= |access-date=January 25, 2025}}</ref> Azahar also includes new features not present in other Citra forks, such as the ability to download owned games from the Nintendo eShop, a new compression file format called Z3DS with a built-in converter,<ref>{{cite web |last= |first=PabloMK7 |date=August 1, 2025 |title=Support for compressed 3DS backups is here! How to free up space in your 3DS game library. |url= https://azahar-emu.org/blog/compressed-backups/ |website=azahar-emu.org |location= |publisher= |access-date=September 25, 2025}}</ref> an optional "Disable Right Eye Rendering" hack which can improve performance up to 50% when used in 2D, and other quality-of-life upgrades over Citra. A [https://github.com/azahar-emu/azahar/pull/1215 Libretro core] has been released on March 3, 2026 during [https://github.com/azahar-emu/azahar/releases v2105.0 Alpha 4]'s release.
;Azahar: A merger of the PabloMK7 and Lime3DS Citra forks by the same developers, meant to merge the added features of both to make a definitive emulator. Certain changes were made out of legal considerations, such as ending support for encrypted games, renaming the .3ds file format to its official file extension, .cci, and removing the ability to download system files directly from Nintendo's CDN, which has been replaced by the Artic Setup Tool: a homebrew application that copies system files from a real 3DS unit to Azahar. Cryptographic keys are now included in the emulator directly.<ref>{{cite web |last= |first=PabloMK7 |date=December 12, 2024 |title=Game Loading on Azahar: What's Changing |url=https://azahar-emu.org/blog/game-loading-changes/ |website=azahar-emu.org |location= |publisher= |access-date=January 25, 2025}}</ref> Azahar also includes new features not present in other Citra forks, such as the ability to download owned games from the Nintendo eShop, a new compression file format called Z3DS with a built-in converter,<ref>{{cite web |last= |first=PabloMK7 |date=August 1, 2025 |title=Support for compressed 3DS backups is here! How to free up space in your 3DS game library. |url= https://azahar-emu.org/blog/compressed-backups/ |website=azahar-emu.org |location= |publisher= |access-date=September 25, 2025}}</ref> an optional "Disable Right Eye Rendering" hack which can improve performance up to 50% when used in 2D, and other quality-of-life upgrades over Citra. A [https://github.com/azahar-emu/azahar/pull/1215 Libretro core] has been released on March 3, 2026 during [https://github.com/azahar-emu/azahar/releases v2105.0 Alpha 4]'s release.


;Borked3DS: A rebrand and continuation of the Bravely Offline Citra fork. The developers consider it to be an "experimental" or "sandbox" fork that may be unstable at times. It has all of the latest features from PabloMK7's Citra fork, most features from Lime3DS, and some hacks and features from Mandarine. It also has its own unique features, such as feature parity in the Android version, UI improvements for desktop and Android, and support for the Skylanders IR portal on desktop. It is not very active anymore, so users should use Azahar unless any Borked3DS-specific features are needed.
;Borked3DS: A rebrand and continuation of the Bravely Offline Citra fork. The developers consider it to be an "experimental" or "sandbox" fork that may be unstable at times. It has all of the latest features from PabloMK7's Citra fork, most features from Lime3DS, and some hacks and features from Mandarine. It also has its own unique features, such as feature parity in the Android version, UI improvements for desktop and Android, and support for the Skylanders IR portal on desktop. It is not very active anymore, so users should use Azahar unless any Borked3DS-specific features are needed.


;PabloMK7 fork: A Citra fork written in C++ and initially created to add online play,<ref>https://twitter.com/Pablomf6/status/1719705943028449372</ref> but continued to receive new updates and other new features following the end of support for upstream Citra. PabloMK7 was a contributor of Citra, and the repository has also seen work from other active Citra contributors such as GPUCode, who was among the most active contributors before the repository was deleted. Being a fork of Citra, the emulator emulates a subset of 3DS hardware and therefore is useful for running/debugging homebrew applications; it is also able to run many commercial games. Some of these do not run in a playable state. On May 5, 2024, PabloMK7 announced an upcoming feature known as Artic Base,<ref>https://twitter.com/Pablomf6/status/1787246255002853480</ref> released on May 12, 2024.<ref>https://github.com/PabloMK7/ArticBaseServer</ref> Artic Base is a 3DS homebrew app that can stream game data from the 3DS system to an instance of Citra over the local network, allowing users to play their own games on Citra without having to dump them. Artic Base can also sync save data between the 3DS and Citra. Development of the fork ceased on October 29, 2024, pending a merger with Lime3DS (which had also ceased development). The resulting Citra fork would later come to be known as Azahar.<ref name="azahar">https://azahar-emu.org</ref>
;PabloMK7 fork: A Citra fork written in C++ and initially created to add online play,<ref>https://twitter.com/Pablomf6/status/1719705943028449372</ref> but continued to receive new updates and other new features following the end of support for upstream Citra. PabloMK7 was a contributor of Citra, and the repository has also seen work from other active Citra contributors, such as GPUCode, who was among the most active contributors before the repository was deleted. Being a fork of Citra, the emulator emulates a subset of 3DS hardware and, therefore, is useful for running/debugging homebrew applications; it is also able to run many commercial games. Some of these do not run in a playable state. On May 5, 2024, PabloMK7 announced an upcoming feature known as Artic Base,<ref>https://twitter.com/Pablomf6/status/1787246255002853480</ref> released on May 12, 2024.<ref>https://github.com/PabloMK7/ArticBaseServer</ref> Artic Base is a 3DS homebrew app that can stream game data from the 3DS system to an instance of Citra over the local network, allowing users to play their own games on Citra without having to dump them. Artic Base can also sync save data between the 3DS and Citra. Development of the fork ceased on October 29, 2024, pending a merger with Lime3DS (which had also ceased development). The resulting Citra fork would later come to be known as Azahar.<ref name="azahar">https://azahar-emu.org</ref>


;Lime3DS: A Citra fork. The main goal of the project was to act as a revival of Citra.<ref>https://github.com/Lime3DS#lime3ds-is-a-project-which-aims-to-revive-citra-the-most-popular-open-source-nintendo-3ds-emulator</ref> Much like its predecessor, Lime3DS is mainly written in C++. Development for Lime3DS began on the same day as Citra's closure, March 4, 2024. Unlike some other forks appearing at this time, the developers for Lime3DS intended to separate their branding from that of Citra and create a separate successor. The emulator had been steadily updated since then, boasting high compatibility and stability for many 3DS titles. Development ceased in November 2024, pending a merger with the PabloMK7 Citra fork (which had also ceased development). The resulting Citra fork would later come to be known as Azahar.<ref name="azahar"></ref>
;Lime3DS: A Citra fork. The main goal of the project was to act as a revival of Citra.<ref>https://github.com/Lime3DS#lime3ds-is-a-project-which-aims-to-revive-citra-the-most-popular-open-source-nintendo-3ds-emulator</ref> Much like its predecessor, Lime3DS is mainly written in C++. Development for Lime3DS began on the same day as Citra's closure, March 4, 2024. Unlike some other forks appearing at this time, the developers for Lime3DS intended to separate their branding from that of Citra and create a separate successor. The emulator had been steadily updated since then, boasting high compatibility and stability for many 3DS titles. Development ceased in November 2024, pending a merger with the PabloMK7 Citra fork (which had also ceased development). The resulting Citra fork would later come to be known as Azahar.<ref name="azahar"></ref>
Line 116: Line 116:
;Mandarine: A Citra fork. It was originally named "Citra-Enhanced." Development ceased temporarily in March 2024 due to the [[Yuzu#Lawsuit|stoppage of Citra development]]. Afterward, the project changed its name to Lemonade<ref>https://old.reddit.com/r/EmulationOnAndroid/comments/1bbos29/citraenhanced_is_going_to_be_continued_and/</ref> and shifted its focus to the Android platform while planning to add new [[Nintendo_3DS_emulators#Hardware_features|features]] and [[Nintendo_3DS_emulators#Enhancements|enhancements]]. However, due to critique stemming from Lemonade's developers alleged stealing of code from other forks, violation of Citra's GPLv2 license, and berating of developers of other forks,<ref>https://web.archive.org/web/20240411140255/https://twitter.com/Pablomf6/status/1778376166098825515</ref> much of the team has since abandoned the project.<ref>https://github.com/Lemonade-emu/Lemonade/pull/2/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R16</ref> The fork was thereafter renamed back to Citra-Enhanced, before then renaming again to Mandarine after an alleged repository hijack attempt.<ref>https://github.com/mandarine3ds/mandarine/commit/ad06b079df3641e1f4086278ef93a65c204d245c#contribution</ref>
;Mandarine: A Citra fork. It was originally named "Citra-Enhanced." Development ceased temporarily in March 2024 due to the [[Yuzu#Lawsuit|stoppage of Citra development]]. Afterward, the project changed its name to Lemonade<ref>https://old.reddit.com/r/EmulationOnAndroid/comments/1bbos29/citraenhanced_is_going_to_be_continued_and/</ref> and shifted its focus to the Android platform while planning to add new [[Nintendo_3DS_emulators#Hardware_features|features]] and [[Nintendo_3DS_emulators#Enhancements|enhancements]]. However, due to critique stemming from Lemonade's developers alleged stealing of code from other forks, violation of Citra's GPLv2 license, and berating of developers of other forks,<ref>https://web.archive.org/web/20240411140255/https://twitter.com/Pablomf6/status/1778376166098825515</ref> much of the team has since abandoned the project.<ref>https://github.com/Lemonade-emu/Lemonade/pull/2/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R16</ref> The fork was thereafter renamed back to Citra-Enhanced, before then renaming again to Mandarine after an alleged repository hijack attempt.<ref>https://github.com/mandarine3ds/mandarine/commit/ad06b079df3641e1f4086278ef93a65c204d245c#contribution</ref>


;Citra MMJ: '''Citra MMJ''' is a Citra fork for Android written by weihuoya. Compared to the more recent Azahar merger and the previous forks on Android, and depending on chipset used in the Android device, Citra MMJ may offer better performance and compatibility especially with Mali GPU devices or other mid-end chipsets that may be too slow for Azahar, or if games tend to crash in Azahar. Citra MMJ also has some features that Azahar and previous forks for Android didn't have, such as per-game settings and dual-screen support for 2-screen Android handhelds and external displays (Azahar also has dual-screen support since v2123), but it does not yet support zstandard compressed games that Azahar introduced in v2123. Also note that not all of the code distributed in Citra MMJ binaries is included in the source code repository on GitHub, meaning there is less transparency for users who want to know what code is being run on their systems and less openness for external developers who may wish to contribute. This may also violate the emulator's GPLv2 license, which stipulates that source code must be available to anyone who can obtain a binary.
;Citra MMJ: '''Citra MMJ''' is a Citra fork for Android written by weihuoya. Compared to the more recent Azahar merger and the previous forks on Android, and depending on chipset used in the Android device, Citra MMJ may offer better performance and compatibility, especially with Mali GPU devices or other mid-end chipsets that may be too slow for Azahar. Citra MMJ also has some features that Azahar and previous forks for Android didn't have, such as per-game settings and dual-screen support for 2-screen Android handhelds and external displays (Azahar also has dual-screen support since v2123), but it does not yet support zstandard-compressed games that Azahar introduced in v2123. Also note that not all of the code distributed in Citra MMJ binaries is included in the source code repository on GitHub, meaning there is less transparency for users who want to know what code is being run on their systems and less openness for external developers who may wish to contribute. This may also violate the emulator's GPLv2 license, which stipulates that source code must be available to anyone who can obtain a binary.


== References ==
== References ==