Skip to content

Citra Canary

Citra Canary emulates Nintendo 3DS. It reads 2 files, none of them required: it starts games without them.

About this profile
Detail Value
Type libretro
Classification Community fork
Source https://github.com/libretro/citra
Upstream https://github.com/citra-emu/citra
Version canary-82-6-g5401990, 6 commits after tag canary-82
Revision libretro/citra@5401990a9be4, branch canary
Profiled 2026-03-23
Profile YAML, JSON
Cores citra_canary
Systems Nintendo 3DS
Technical notes

Canary branch of libretro/citra. Older codebase than master branch (citra core). Missing boot9.bin, sector0x96.bin, seeddb.bin support present in master. Seed crypto unimplemented (src/core/file_sys/ncch_container.cpp:169). Upstream citra-emu/citra taken down March 2024 (Nintendo lawsuit). Mirror: https://github.com/citra-mirror/citra

The buildbot builds citra_canary from the canary branch of libretro/citra (libretro-super recipes/windows/cores-windows-x64_seh-noccache).

Under the default option citra_use_libretro_save_path the core points the root and user directories at {save_dir}/Citra ({system_dir}/Citra without a save directory), but GetUserPath fills sysdata/ on its first call, before that, and the UserDir case never moves it. aes_keys.txt and shared_font.bin are read from the host's Citra data directory: user/sysdata/ beside the working directory when ./user exists, else $XDG_DATA_HOME/citra-emu/sysdata/ (Linux) or user/sysdata/ beside the executable, else %APPDATA%/Citra/sysdata/ (Windows). Neither the system nor the save directory of the frontend. ref: src/citra_libretro/citra_libretro.cpp:295-316, src/common/file_util.cpp:674-736, src/common/common_paths.h:16-38

The core reports library_name "Citra Canary". ref: src/citra_libretro/environment.cpp:131

Embedded open-source replacements for shared font, country list, bad word list. ref: src/core/file_sys/archive_ncch.cpp:142-147

firmware_count absent in .info (= 0).

2 files: 0 required, 2 optional. 1 has an HLE fallback.

In this collection: 2 in repo and 0 missing.

aes_keys.txt optional in repo

  • Path: sysdata/aes_keys.txt
  • Read from: the emulator's data directory, not the BIOS directory
  • System: Nintendo 3DS
  • AES encryption keys for decrypting 3DS content
Source

shared_font.bin optional in repo HLE fallback

  • Path: sysdata/shared_font.bin
  • Read from: the emulator's data directory, not the BIOS directory
  • System: Nintendo 3DS
  • system shared font, falls back to embedded open-source replacement
.