
Citra
» see citra-emu.org as it lived, on the wayback machine
~ the obit ~
Citra began in April 2014 as an open source project to run Nintendo 3DS software on a computer. The 3DS is an awkward machine to reproduce. It has two screens of different sizes and a graphics pipeline that was already unusual when the hardware shipped in 2011. The work took years and most of it was invisible, the kind of progress that reads as a compatibility list gaining rows.
By the end it did more than reproduce the console. Audio landed in 2016 and a JIT compiler that same September, networking in November 2017, New 3DS compatibility and save states in April 2020. A month after that an Android build arrived for phones with a Snapdragon 835 or better, which meant the handheld could be emulated on another handheld. Games rendered above the resolution the original hardware could reach, so the emulator was in the strange position of being the better way to see a game Nintendo had shipped nine years earlier.
Nintendo never sued Citra. The complaint filed on 26 February 2024 in Rhode Island was about yuzu, the Switch emulator the same people had started in 2018, and the Tears of the Kingdom copies that circulated before release. Seven days later Tropic Haze settled for $2.4 million and agreed to stop work on any project involving Nintendo's copyrighted properties. That sentence was broad enough to reach a ten-year-old 3DS project, so on 4 March the repository went private and the Discord closed the same afternoon.
3DS emulation was not my category. By 2014 I was thirty and the handhelds I would have wanted running on a desktop were two console generations older than the one Citra was built for. I read the shutdown notice the way most people did, as a legal story about a different emulator that happened to take this one with it.
~ the rap sheet ~
| Born | April 2014, as an open source 3DS emulator |
|---|---|
| Peak | New 3DS support and save states in 2020, Home Menu booting by March 2023 |
| Killed | 4 March 2024 |
| Lifespan | just under ten years |
| Made by | an open source team, incorporated later as Tropic Haze LLC |
| Killed by | a settlement about a different emulator |
~ what it took to build ~
The measure of an emulator is not whether it starts a game but whether it starts all of them without a per-title hack. Citra spent a decade closing that gap. Save states came late because they require the emulator to serialize a machine state it did not fully understand yet. Booting the console's own Home Menu in March 2023 was the sign that the thing being emulated was no longer just a cartridge reader, it was the whole system including the parts nobody plays.
Experimental Vulkan support arrived in September 2023, six months before the end. That is the detail that makes the shutdown read oddly. Nothing about the project was winding down. It was in the middle of a graphics backend transition when the legal event happened somewhere else entirely.
~ the settlement ~
The legal shape here is worth being precise about. No court found anything about Citra and no filing ever named it. What happened is that a private agreement between a company and a limited liability company contained a clause about future projects, and the clause was written wide because that is what a party with leverage asks for. The developers signed it in a week rather than fight a case that would have cost more than the settlement.
What that produced is a ten-year public work being switched off by a contract it could not read. Every user who had a build kept it, because software on a disk does not care about injunctions, but the place where the next version would have come from stopped existing on a Monday.
~ what survived it ~
Citra was licensed under the GPL, which means the code was already everywhere and could not be recalled. Forks appeared within days. Lime3DS and a fork maintained by PabloMK7 both continued from the last public commit, then merged their efforts into a project called Azahar rather than compete over a userbase neither of them was selling anything to.
So the practical outcome of the settlement was that 3DS emulation carried on under names Nintendo had never heard of, run by people who had signed nothing. The license was the part that could not be settled. That is the difference between killing an organization and killing a piece of software, and it is the only reason this grave has a sequel.
~ leave a rose ~
an anonymous tribute. one rose per visitor per day.
@}-->-- ... roses left here
~ leave a wreath ~
a rose fades by morning. a wreath stays on this grave for good, with your name on it.
from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.
» one email a week: new graves and the anniversaries of the dead. subscribe
other software: WSO2 Mashup Server, Apollo for Reddit, Panels (MKBHD), Connectix Virtual Game Station
also died in the 2020s: Accord's Library, Submarino, Apollo for Reddit
~ leave a note ~
visitors before you have left these graveside notes. anonymous welcome.