Citra を macOS(Apple Silicon)で動かす


有名な Nintendo 3DS エミュレーターである Citra ですが、
最近 Apple Silicon mac でも動くようになりました。

以前は Apple Silicon に対応しておらず、x86 用のバイナリを Rosetta 2 で回す必要がありました。

Citra Progress Report 2023 Q2 – July, 18 2023

Generate universal macOS build (#6240, #6321) by Steveice10

Somewhat recently, Apple released a new processor for their devices utilizing the ARM architecture, named Apple silicon (M1/M2). Citra’s x86_64 macOS builds technically worked with these new devices through Rosetta 2, in the sense that your game would launch, but it would also result in game bugs; freezing and crashing pretty frequently. Building it natively for ARM was often a solution, a solution inaccessible to the average user, unfortunately. An official Citra build was needed for users running those Apple silicon devices.

However, as you may be aware, Apple does not support OpenGL 4.3, which presented us with a big issue. Apple officially only supports Metal, their own proprietary graphics API, adding support for which would require a lot of work. So, how are we going to get Apple silicon devices to run on Citra when macOS isn’t even a supported platform? Banking off of the fact that we have a new Vulkan graphics backend quickly making its way into Citra (have we mentioned that yet?), we can utilize MoltenVK, a mature translation layer that converts Vulkan API calls to appropriate Metal ones. With this solution in mind, Steveice10 got to work implementing a universal macOS build for Citra that covers both x86_64 and arm64.

Citra は windows 等で使われる Vulkan API には対応していました。
しかし Apple Sicion macOS では Vulkan ではなく、Metal がサポートされています。

Citra を Metal に対応させるのは大変なので、 MoltenVK という Vulkan から Metal に変換する機構を使って解決したようです。


以下のページから Manual download をクリックします。

Download Citra

Canary Build の中にある以下のようなリンゴマークが macOS 用のビルドなのでダウンロードします。


ダウンロードしたファイルを解凍して、 を実行します。

表示されたウインドウの左下の部分が OPENGL または SOFTWARE となっているのでクリックして VULKAN に変更します。