- Citra does not need any of these folders so there is currently no value in dumping them. This directory can contain two files. Sharedfont.bin: this was a legacy system font data dumped from old versions of 3dsutils and is no longer supported. If the user does not have shared font installed, Citra will use the open source font.
- Open the Control Panel. Double-click the Fonts folder. Return to the folder containing the font you want to install. Select the font file and drag it to the Fonts folder. Drop the font file anywhere in the main area of the folder window. Wait until the font is installed. Close the folders. The font is now available to use on your computer.
- Enter custom sample text to change the font previews below. Font Size 24pt 26pt 28pt 32pt 36pt 40pt 44pt 48pt 54pt 60pt 66pt 72pt 80pt 88pt 96pt 106pt 116pt 128pt 142pt 158pt 178pt 198pt 218pt 240pt. Permalink to these settings. Permalink: Press Ctrl+C/Cmd+C to copy and Esc to close this dialog.
Open the file you want to embed fonts in. On the application ( PowerPoint or Word) menu, select Preferences. In the dialog box, under Output and Sharing, select Save. Under Font Embedding, select Embed fonts in the file. When you save the file, the fonts used in it will be embedded in the file. Recommendations for embedding fonts. Tried that, but there's no Citra folder at all in /Users//Library/. The only Citra folder I have is the one in Applications. Edit: ok found it, it was a hidden folders issue.
The below wiki article is based on user submitted content.
Please verify all hyperlinks and terminal commands below!
About Citra
What is Citra?
Citra is a work-in-progress Nintendo 3DS emulator started in early 2013. Citra can currently emulate, with varying degrees of success, a wide variety of different homebrew applications and commercial software.
What is Citra’s License?
Citra is an open-source project, licensed under the GPLv2 (or any later version). Refer to the license document for more information.
Who made Citra?
Citra has an active team of open-source developers. Over 150 people have worked hard on the project since its founding in 2014! The list of contributors can be found on GitHub.
Note: Citra is not affiliated with Nintendo in any way.
Where does the name come from?
The name is derived from CTR, which is part of the model number of the original 3DS.
Running games in Citra
When launching a game, I get a “Could not Determine System Mode” or “Failed to Decrypt” error. I want to run backups of retail titles that I own, how can I do that?
Citra does not natively run dumps of games that have not been decrypted properly (unless you have dumped your own system keys). This requires a physical 3DS and the game you own.Refer to:
Can Citra run Pokémon games?
All Pokémon games now work properly. Pokémon X/Y now runs properly with HLE audio as well as LLE audio. Linux users building from source need to take a look at Building for Linux for building with the AAC audio decoder.Some Pokémon games might require System Archives dump in order to be able to prevent some issues.
Can Citra run [Insert retail game name here]?
Citra can, ostensibly, “play” many different games now and more will become playable as development progress further. Some games/apps, however, will not load at all – only showing a black screen. Others, might only show the title screen and then freeze or crash.
See our Game Compatibility List for more info. You can also helps us improve the Game Compatibility List by doing testing and reviewing the game.
Note that many games also require certain files to be dumped from a 3DS console. See below for information about files that can be dumped from a 3DS console and used by Citra:
You can expect many games to run slowly, though and to exhibit some gameplay and graphical glitches.
If you’re interested in 3DS emulation as an experiment, you may gain something out of trying Citra, but if you’re simply looking to play games then stick to your 3DS handheld.
Does Citra support WiFi, network connectivity or online play?
Yes, Citra supports networked local WiFi, but does not support connecting to Nintendo’s servers.
Are you planning to make an Android version?
Yes. It has been official released and can be downloaded via https://play.google.com/store/apps/details?id=org.citra.citra_emu
Does Citra have controller support?
Yes, you can configure your controller directly through the GUI.
Can I expect Citra to play [GAME] at full-speed?
Citra can run most games at variable speed, depending on your hardware configuration.However, not all games are created equally and therefore some games will run at full speed while others might suffer from slow emulation. You may also experience some slowdowns.
Note: The speed of [GAME] will depend on the single-core performance of your processor. Refer to your CPU benchmark in this graph. If it’s below score of 1,800 the [GAME] might not be playable at decent speeds.
Also, it has been reported that using the integrated Intel GPU on laptops has shown major performance increased in emulation speed. Only some games will benefit from it. This also applies for other emulators as well. Feel free to test both integrated and dedicated GPU to see which one gives you the best performance.
[GAME] runs way too fast, how can I slow down the emulation?
Recent versions have a framerate limiter built-in. It can be toggled in the configuration, reachable through the Menu (citra-qt): “Emulation” > “Configure…” > “General” > “Limit Framerate”.
I saw a YouTube video about [GAME], why doesn’t it work on the nightly build?
Alternative custom branches may have not been merged into master. We only support nightly builds based on the master branch.Unofficial builds are not supported. There may be other branches that are planned to be merged, but must go through vetting first to ensure they are good contributions to the project long term.
Where can I download games to use with Citra?
Short answer: You don’t. Buy games and dump them with a Nintendo 3DS.
Long answer: Downloading commercial games is illegal and thus strongly frowned upon by the Citra developers. To prevent legal issues, this includes gray areas like downloading games which you purchased earlier. You don’t necessarily need to own a 3DS yourself, as you can buy game cartridges and dump them with a friend’s console. On the other hand, copying a friend’s game dump is considered illegal. Please note that any mention or discussion of piracy on our forums or Discord channels will result in being banned from our community.
For guidance on how to dump games for use with Citra, please refer to:
System requirements and common issues
Which platforms does Citra support?
We’re pleased to say that Citra works on all three major desktop OSes!
Citra is actively tested and supported on various 64-bit version of Windows (7 and up), Linux and macOS 10.13 High Sierra or higher. Other platforms may work, but aren’t tested by developers. In far future, mobile platforms may be targeted as well.We have no plans to support 32-bit operating system officially.
What kind of specification do I need to run Citra?
The only hard requirements for the official version of Citra is a graphics chip that supports at least OpenGL 3.3 and a 64-bit OS running on a standard PC, but you definitely want a processor with the highest possible performance per core.
When I try to start any game, Citra immediately crashes!
It is very likely that this issue is caused by your GPU or drivers not supporting OpenGL 3.3. Try updating to the latest drivers if possible, and verify that either your driver’s control panel or a tool like GPU Caps Viewer reports that you can use at least OpenGL 3.3. If updating drivers doesn’t help, you’ll need to upgrade your GPU or wait until we remove this limitation from the software renderer. (The hardware renderer will never support lower OpenGL versions.)
Also read the previous question / answer for a software implementation of OpenGL
Citra complains about missing DLLs.
First, if you’ve downloaded any DLL files from the Internet and placed them in the Citra or a system folder, remove them first, they will not solve your problem and may cause system instability. Then download and install the x64 variant (vc_redist.x64.exe) of Visual C++ Redistributable for Visual Studio 2017 from Microsoft. If that doesn’t help, ensure you have also extracted the DLL files that come included with the Citra builds and that they are in the same directory as the executable.
A message box pops up saying the application was was unable to start correctly 0xc000007b
.
See above about missing DLLs.
Citra complains about “Entry Point Not Found”
If you have Windows 10 N or KN (released in Europe and Korea respectively) it released missing the media foundation tools. To resolve this, you will need to install the Windows Media Feature Pack for your specific version of Windows N (you will be required to select your specific version. Hit the Windows key and R to open the ‘run’ box, and type winver into it to reach a box showing you your precise version of windows.) and install it before running Citra.
Citra’s log file doesn’t have enough information.
You may have a log filter configured. To reset it, go to Emulation in the menu bar, and then Configure. Then, in the Debug tab, in the Logging group, reset the Global Log Filter to *:Info
.
My game is crashing, but my Citra log file is empty.
You may be clearing your log file on accident. This sequence of steps will result in your log file being overwritten:
- Open Citra.
- Play your game until it crashes, closing Citra.
- Open Citra again.
- Open the log directory from Citra’s configuration window.
Since Citra was launched again in step 3, a new log was created. The correct sequence to follow is:
- Open Citra.
- Open the log directory from Citra’s configuration window.
- Play your game until it crashes, closing Citra.
Now, without opening Citra again, you should have the correct log file.
I’ve dumped my game but when I load it, Citra crashes/prints a bunch of gibberish to the console!
Games need to be decrypted on a 3DS before being usable in Citra. This is a technical limitation and it is unlikely that it can be removed in the foreseeable future. To decrypt your games, you will need to have a 3DS system with boot9strap installed and follow one of the following guides:
What should I do if I get an error saying something like GetConfigInfoBlock: Config block 0xXXXXX with flags X and size X was not found
?
Sometimes a game will freeze and you’ll get an error which looks like this in the log, usually followed by a “Fatal Error”:
In this case, try deleting the file at user/nand/data/00000000000000000000000000000000/sysdata/00010017/00000000/config
and running the latest version of Citra. If this does not work, then note the config block number (0xA0001
in the example) and file a bug report.
How can I fix the API ERROR 1282 OPENGL
error? I can’t figure out what is causing this to happen!
This is the result of third-party application that uses overlays which might conflict with Citra.The console will print this error log:
So far only MSI Afterburner is being reported to have conflicts with Citra, therefore it is advisable to close it before launching Citra.
Where is the folder for the emulated SD card?
The folder for the emulated SD card is named sdmc
and can be found in Citra’s User Directory.
Particle effects or text display as a jumble of triangles.
You are using an older build. Download the latest nightly build as the issue has been resolved.
Old answer: In certain games, animated particle effects (such as smoke, fire, trails, etc.) or text may not render properly, showing up instead as a jumbled mess of triangles, sometimes covering large parts of the screen. This is caused by a missing feature in our GPU support (Geometry Shaders) which is used by games to render these kind of effects.
Example of games that suffer from this:
- Pokemon OR/AS - Missing attack animations.
- Fire Emblem: Awakening
- Ace Combat: Assault Horizon Legacy
Networking Support
What is this?
Citra’s networking support emulates the 3DS’ local wifi. On a real 3DS, this allows you to play games with people next to you. With Citra’s implementation of this feature, you can play with other people on Citra anywhere. This is not an implementation of connecting to Nintendo’s servers over wifi, nor is it an implementation of download play.
Why don’t I have this feature?
You are using an old version of Citra.
What’s the difference between public and unlisted rooms?
When you make a public room, Citra connects to the Citra Web Service, authenticates yourself using your token and username, and sends the room details. Then, the Citra Web Service will add your room to the public room listing, so when people go in the Public Game Lobby, they will see the room. Something important to note about a public room is that the Citra Web Service only hosts room listings, and not the room itself. The room will still be hosted on your computer.
When you make an unlisted room, Citra opens a room for any incoming connections, without connecting to the Citra Web Services. For other people to join the room, they will need to enter your IP manually, since they’re not going through the Public Game Browser listing.
How do I join a public room?
To join a public room, follow these steps:1. Go to Multiplayer
in the menu bar, and click Browse Public Game Lobby
.2. Set your nickname in the top left.3. Double click on a room in the Public Room Browser dialog to join it.4. Double click on a game in the Citra main window to start it.
How do I join a unlisted room?
To join a unlisted room, follow these steps:1. Go to Multiplayer
in the menu bar, and click Direct Connect to Room
.2. Enter the IP and port of the host you’re connecting to, your nickname, and password of the room if applicable.3. Click connect to join the room.
How do I make a public room?
To make a public room, follow these steps:1. If you and the people you are playing with are on different wifi networks, setup port forwarding in your router settings.2. Go to Multiplayer
in the menu bar, and click Create Room
.3. Enter the name of your room to be shown in the public listing and chat window, your preferred nickname, the game that will be played, an optional password if you need it, and the max number of players that can join the room. Unless you know you need it, you shouldn’t have to touch the port number.4. Click Host Room
to create the room.
How do I make an unlisted room?
To make an unlisted room, follow these steps:1. If you and the people you are playing with are on different wifi networks, setup port forwarding in your router settings.2. Go to Multiplayer
in the menu bar, and click Create Room
.3. Enter the name of your room to be shown in the chat window, your preferred nickname, the game that will be played, an optional password if you need it, and the max number of players that can join the room. Unless you know you need it, you shouldn’t have to touch the port number.4. At the bottom, set the room type combo box to Unlisted
.5. Click Host Room
to create the room.
Development and contributions
How can I develop or contribute to the project?
If you’re interested in contributing, fork the project here in GitHub, and then create a Pull Request when you’re ready to submit your contribution. Unless your change is trivial, however, it is strongly recommended that you join our development channel (#citra-dev @ Freenode) to coordinate with the developers beforehand. Make sure to review our coding guidelines and ensure your changes follow them. If you’re looking for ideas on things to work on, try looking around our issue tracker. Some issues are tagged with the E-easy label, which means they’re smaller tasks that should be easier to get into.
I’d like to be a beta tester, how can I help?
If you try some games and run into issues like graphical glitches, freezes and especially regressions from previous versions, you can try reporting them in our issue tracker, accompanied by logs from the emulator if possible. Do not report an issue if a game simply fails to boot entirely.
Non-official builds are faster, have more features and run more games. Why don’t you work with the people who create those?
Most non-official builds are just a collection of different features currently being worked on by Citra contributors from the community.These features are not part of the official version (yet) because they are either broken-by-design and would possibly hinder development soon or because they are still work in progress.Also, each change will go through a review process. Features found in non-official versions are often in the review phase already and will be included in official versions about a month or two later.
If you are the author of a non-official build make sure you still follow the license of Citra.
I think what you guys are doing is awesome! I am not a developer, but still want to support the project. What can I do?
That’s awesome! Such support is what motivates us to keep working! Stick around and keep motivating our work!
If you’re interested in donating, we would gladly accept used hardware, games for testing, or money for development/infrastructure costs. Please see our donations page for more information, or join our IRC channel (#citra @ Freenode) or Discord server and contact a developer.
The below wiki article is based on user submitted content.
Please verify all hyperlinks and terminal commands below!
Note: although separate in the title, the shared fonts are part of the system archives now. The title was made when they were separate, and is kept unchanged to avoid breaking wiki links. By following the guide below you do get the shared fonts as well.
How to dump System Archives
At this time, Citra can run many games without needing to do any special work on a physical 3DS. However, some games do require files dumped from a 3DS in order to function properly. This tutorial will teach you how to dump the system archives (alongside the config savegame), which are critical for some games, such as Pokemon, to work. These files are copyrighted and are not allowed to be shared, so don’t ask for them on the forum. If you do not own a 3DS to dump the files from, you are out of luck.
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. Note that you’ll still need a hacked 3DS with GodMode9 to obtain your keys so that threeSD can decrypt the data on your SD card.
3dsutils
Required tools
- A 3DS with Homebrew Launcher access
- The 3dsutils homebrew app (Click here for a non-official version)*
- An SD card reader or a way to wirelessly transfer files between the 3DS console and a computer
*There is no official precompiled version of this app, but a non-official build is provided for convenience. Alternatively, you can install devkitPro and compile it yourself from the 3dsutils source code.
Instructions
- Run 3dsutils via the homebrew launcher.
- Press A when prompted to begin. The system archives will be dumped. Wait for the process to finish, then press A when prompted to be taken back to the homebrew launcher.
- There will now be a
3dsutils
folder at the root of the 3DS’s SD card. Inside that folder is a foldernand
. Transfer the foldernand
to the User Directory. The folder will merge with the existingnand
folder contained therein. If prompted to overwrite any files, say yes.