Wikis

Citra Legacy Builds

As the Citra team is working on modernizing the emulator, with features such as a higher OpenGL requirement on PC and upgrading our Qt interface to Qt6, we have sadly had to drop support for some older hardware and older operating system versions. This page is an archive of all the older builds you may need to use to use Citra. Thank you to Citra staff member TGP17 for compiling the Linux AppImages for us to use here!

Continue Reading

Citra Web Service

Citra Web Tokens Citra web tokens are unique identifiers that allow your personal Citra installation to be able to log in to Citra’s Web Services, without having to save your email and password. Logging in to your Web Services account allows you to provide more detailed statistics with telemetry, among other things. Getting A Token If you haven’t done so already, register on the Citra Community Forums. Log in to your forum’s account.

Continue Reading

Common Issues

Building for all platforms If you have encountered such an error: /path/to/citra/externals/ does not contain a CMakeLists.txt file., while configuring in CMake, it means you forgot to add --recursive when git clone. You can fix it by the following commands to obtain all submodules: git submodule init git submodule update --recursive Building for Windows For running Citra builds, make sure to have Qt5Core.dll, Qt5Gui.dll, Qt5OpenGL.dll, Qt5Widgets.dll, Qt5Multimedia.dll, Qt5Network.dll and SDL2.dll in either the application directory or in the system PATH.

Continue Reading

Compatibility List

Compatibility List We’ve just released an official Game Compatibility List, and you can check it out here. If a game is listed as being compatible with Citra but you are having trouble with it, please refer to the FAQ before posting to the support forum. Additional Files Some games require some files to be dumped from a 3DS console and integrated into Citra in order to work. Below are known games requiring files.

Continue Reading

Contributing

Reporting Issues The issue tracker is not a support forum. Unless you can provide precise technical information regarding an issue, you should not post in it. If you need support, first read the FAQ and then either visit our IRC or Discord channel, our forum or ask in a general emulation forum such as /r/emulation. If you post support questions, generic messages to the developers or vague reports without technical details, they will be closed and locked.

Continue Reading

CPU

Citra contains two CPU cores: an interpreter and a JIT core. The interpreter is an ARM interpreter called “dyncom”, which was originally taken from a project called SkyEye, and then modified to support the ARMv6 instruction set that the 3DS uses. Dyncom originally supported ARM7 (ARMv5) and partial ARMv6 only. We added in the remaining ARMv6 media instructions and other fixes ourselves to get 3DS emulation as far as it is.

Continue Reading

Default Keyboard Bindings

C Prefix: C-Stick D Prefix: D-Pad For reference

Continue Reading

Developer Information

A very incomplete overview of useful information to get started with 3DS development. Please add anything that’s missing :) 3DS Hardware/Software 3DBrew is probably the best resource for the 3DS hardware/software internals ARM11 MPCore Reference Manual ARM946E-S ™ Reference Manual Homebrew A list of a variety of homebrew applications and demos can be found on 3DBrew at Homebrew Applications. They can be used for testing Citra if you have no means of dumping and decrypting commercial games.

Continue Reading

Dumping Config Savegame from a 3DS Console

How to dump the Config Savegame By default, Citra creates a dummy config file representing a 3DS console’s config savegame, which is sufficient to play most games without any work by the user or any files dumped from a real console. However, a dump of a real config savegame from a physical 3DS is required if an error similar to below is encountered while using Citra: Service.CFG core/hle/service/cfg/cfg.cpp:GetConfigInfoBlock:197: Config block 0xB0001 with flags 2 and size 2048 was not found This tutorial will cover how to dump the config savegame (alongside its system archives and the shared fonts) from a 3DS console, but note that this file is copyrighted and not allowed to be shared, so don’t ask for it on the forum.

Continue Reading

Dumping Extra Data from a 3DS Console

How to Transfer 3DS Extra Data to Citra In addition to save data, some games and system applications use extra data. Game extra data is stored on the SD card and can be extracted and used by Citra. threeSD threeSD is a tool written to help import data from your 3DS for Citra more conveniently. Refer to threeSD Quickstart Guide for importing your installed titles, updates, DLCs, save data, extra data, system files, etc.

Continue Reading