Frequently Asked Questions

What is Mikage?

Mikage is a Nintendo 3DS emulator made to replicate an authentic console experience on PC and Android. Mikage is an early stage of development, but it fully emulates the HOME Menu and can play many commercial games already.

The project is led by neobrain, known in the emulation community for his work on emulators like Dolphin, PPSSPP, or Citra. He started Mikage in 2016 to mix up the 3DS emulation scene once more, since progress of other projects was stagnating.

Development of Mikage can be supported on Patreon.

What games are supported?

Mikage's emulator core is continuously in development, but it's already able to play a good number of commercial titles in addition to many homebrew applications. Check our Twitter and YouTube pages for some examples.

In 2018, Mikage was announced a very early state to give the community a chance to follow its development and progress. Since then, compatibility and performance have rapidly improved, and further improvements are anticipated in the future. In the future, we hope any game you throw at Mikage will work more likely than not.

This goal notwithstanding, do note that bringing up individual games can be tremendously time-consuming. We kindly ask people to be mindful about this when casually requesting support for specific games on social media.

How fast does Mikage run?

We strongly believe emulation at full speed is an elementary part of preserving the 3DS faithfully. Thanks to sophisticated optimization techniques, Mikage allows for realtime gameplay in many titles nowadays.

Performance used to be much slower when we initially announced Mikage, as is common for early-state emulators. Even then it was actually a luxury problem: Mikage has been able to run commercial games since the day it was announced and if it weren't for this impressive initial level of emulation accuracy, no one would even ask about performance.

Ever since that base level of compatibility was established, our focus has gradually shifted towards optimization. Mikage now ships a custom ARM64 JIT compiler for fast CPU emulation, and a Vulkan renderer for GPU accelerated 3D rendering.

What hardware is required?

Mikage will support a broad range of hardware. Since we expect the minimum requirements to change as optimization work is still ongoing, we will announce hardware requirements along with Mikage's public release.

As a point of reference, our testing hardware is capable of running many popular games at full frame rate. We do however ask users to have reasonable expectations when it comes to hardware support.

Where can I get Mikage?

Mikage is not currently available for download. See the next question for details on the release timeframe.

Note that any downloads you might find online claiming to be Mikage builds are most likely malware, or at best hopelessly outdated. No builds have left our computers since 2020.

In a previous iteration of our Patreon campaign, early alpha builds were given to supporters. Sadly this trust-based system was abused by a few black sheep, so we could not reasonably continue this testing phase.

When will Mikage be released?

Mikage's release date will be shared at a later point in the future. We prioritize a polished and user-friendly release over throwing out unfinished builds as early as possible.

This is particularly important for a complex undertaking as development of a 3DS emulator: There is an internal timeline with various intermediate milestones we continuously work towards, but we prefer to have the liberty of taking extra time for polish over rushing a deadline we preliminary announced.

What makes Mikage special?

Mikage is built upon a clear vision: To create a fast, pleasant-to-use emulator that captures the entire 3DS experience with an authentic "it just works" approach.

There already exist a number of other 3DS emulators. Here's what distinguishes Mikage from them:

  • Better optimized: We use the Vulkan graphics API for rendering since it's better suited for the pecularities of both modern desktop graphics cards and of mobile hardware than the legacy system OpenGL. Furthermore, an ARM64 JIT is in the works for fullspeed CPU emulation
  • Capture the entire 3DS experience: We go beyond game emulation - just think about all the other things that happen when you turn on your 3DS! Mikage supports applets like the Mii Maker as well as the Home Menu itself, and it provides replacements for them where it aids integration with the PC/Android platform running the emulator
  • Do it well, and do it right: Instead of throwing together a large number of novel but unfinished features, we take our time to deliver well-thought-out and polished functionality that "feels right" as a whole. Details will be announced once we ship these features to our users. Stay tuned!

The bottom line is: Better performance, fewer emulation bugs, and a system closer to a proper 3DS. Turn on and enjoy!

Will Mikage support feature XYZ?

Yes! I mean, no... err, maybe?

The answer isn't always clear-cut: Some features require extensive research to be done before we can even think on how to integrate them into an emulator in a user-friendly way. Just because something is cool to emulate doesn't always mean it's practical, especially when it hurts performance a lot or when it's so cumbersome to set up that few would use it in practice.

This research often leads to useful insights, one of which might simply be "it can't be done". Instead of announcing support early and letting people down, it's better to explore what can be done first and build our vision around that.

Finally, we just don't like producing hot air by announcing uncompleted work. We prefer implementing features and letting the results speak for themselves over making empty promises.

Why not improve existing emulators instead?

Mikage's author is one of the original creators of Citra. You can trust there are good reasons for him to start over from scratch!

In fact, due to the initial focus on Android, a lot of components had to be written from scratch anyway, since no other 3DS emulator had built a Vulkan renderer or a ARM64 JIT. We also found a lot of unused potential though: Early Citra development took a lot of shortcuts that we felt are unnecessary and leave a lot of unused potential. For instance, supporting system module emulation required several months of dedicated work in Citra, whereas Mikage supports this since its earliest days!

Citra's open development approach is a double-edged sword: On the one hand it embraces new ideas and features; but due to the lack of general direction, many of these features lack the usability and quality you'd expect from a polished emulator. It doesn't help that external factors like unofficial third party builds have disrupted the development process and draw away developer attention from the things that matter.

The bottom line is that existing emulators just weren't the right fit. Mikage has a clear vision towards performant and polished 3DS preservation, and a fresh start is the most effective option to get there.

Will Mikage be open-source?

Yes! Currently Mikage's source code is kept private, but we will release the source code bit-by-bit after the official app release. We strongly believe in the benefits of open-source software and want the knowledge that went into Mikage to be available to everyone.

This delayed source release is the middle ground we feel is best to achieve Mikage's goals. Our past work on open-source emulators like Dolphin has shown that development in the open just doesn't yield the desired benefits in the early stages but often comes with some rather unnecessary distractions. For similar reasons we may opt not to release 100% of the source code required to build binaries - but “only” the 99% which document the 3DS platform and our approach to emulation.

We already started doing this: Selected components of Mikage are already public, such as the shader assembler nihstro or the serialization library blobify. We also regularly share our contributions to external projects that Mikage is built on, many of which are beneficial to other emulators too. Examples of projects we contributed to are the graphics library Vulkan-Hpp, the Android NDK, the package manager Conan, and the library SDL2.

Is there a Discord server?

Discord's undeniable popularity notwithstanding, it's not our interest to foster a new community on a VC-driven platform with a dubious business model and questionable handling of user-privacy.

Instead, we plan on choosing another platform in the future. This also involves setting up a moderation setup that supports a healthy environment. Due to our resources being focused on development for the time being, this is not a high priority for now, but will likely happen before Mikage's public release.