Apple M1 Chip on MacBook Pro

As everyone probably already expected, Citra doesn’t currently work with Apple’s M1 chip. Ive only tested 1 game so far, I’ll try another but it instantly crashes when trying to play a game. I wasn’t expecting it to work but just incase anyone was curious.

1 Like

I was indeed curious about it and I was hoping Citra would run faster on M1 since there is a lot of X86 apps that were reportedly running better on M1 than Intel.

Did you run Citra using the “Open with Rosetta” option? (see the screenshot).rosetta

That option doesn’t come up for me for citra, but in the crash report it does say it is running x86 emulated. I can laugh citra just not load the game file.

Alrighty. Thanks for the update. Looking forward to the developer to announce something regarding M1 support.

1 Like

Hey there,

Could you try going to Citra>Preferences>Graphics>Advanced Tab and disable the Disk Shader Cache?
We’ve had a report from an M1 Mac user saying that that feature was the cause of him crashing.

Wow that worked… kinda. I mean it
Lots of stuttering and some sprites are glitchy as shown in the video. Black outlines around objects flicker in and out. It’s not playable but it’s still huge that it actually “works”

1 Like

I don’t think professor oak is supposed to look like that ngl

Then It appears that there is indeed an issue with the Disk Shader Cache on M1 macs. It’s great that it even launches games at all though.
However, I wouldn’t bet on ‘‘fixes’’ for the M1 chips from citra’s end any time soon. With the M1 being relatively new, I doubt many if any of the devs even own them.

I wouldn’t expect better performance from emulators with JITs. From what I can tell, Rosetta is very good at translating x64 to Aarch64 at the time of installation. But the current Mac builds of Citra JIT Aarch32 to x64 at runtime. Meaning it needs to go through two layers of JIT compilation, and I would bet that Apple’s JIT is much slower in order to reach its impressive levels of optimization. Which means that there will be heavy stuttering.
Frankly I’m surprised it works at all. I suppose Apple needed to support arbitrary code execution for stuff like JavaScript engines.

1 Like

Hope to hear more about Citra M1 development with all the hype and news about M1’s speed and capability.

Hey! So Citra runs on my M1 MacBook Pro, but not many games work well. Among Hey Pikmin, Ocarina of Time, Pokemon Omega Ruby, Pokemon SMD, Pokemon Ultra Moon + Sun, and Super Mario Land, only Pokemon SMD and Pokemon Omega Ruby work well enough to play for me. The rest either crash upon startup or have game breaking glitches. Do any of the devs have any suggestions on how to tinker with the settings to maximize playability? Maybe a crash report would help?

Update: I found that disabling Hardware Shaders allow many more games to boot up, and for some of those, disabling Acurate Multiplication would remove graphics glitches. I’ve still encountered some really strange bugs, like for Super Mario Bros 2, the ground doesn’t load so as soon as I begin a level Mario automatically falls through the ground. In Super Mario Land 3D, Mario’s head is missing and most of the level doesn’t load either, allowing Mario to walk through the level without any obstacles. Ocarina of Time runs flawlessly, but I’ve encountered a really strange sprite glitch(which are common among all Pokemon games for some reason) where Link’s limb’s are perpetually rotating in really strange ways. Otherwise the game is completely playable. I’ve tried playing with all the settings so I don’t think these glitch issues can be resolved though that, maybe an update to make the emulator more friendly for M1 Macs(I know it probably won’t happen any time soon), since most games actually run well, high FPS and everything, they just have graphical issues.

Basic M1 Compatibility List for Citra Nightly 1659:
Hey Pikmin US (Works - Run without Hardware Shader)
Legend of Zelda - Ocarina of Time 3D (Works - Major Glitches)
Luigi’s Mansion Dark Moon(Unplayable - Run without Hardware Shader, Issue: Slow FPS)
New Super Mario Bros. 2 (Unplayable - Major Glitches)
Pokemon Omega Ruby (Works - Disable Accurate Multiplication - Minor Glitches)
Pokemon Ultra Moon (Works - Disable Accurate Multiplication - Minor Glitches)
Pokemon X (Works - Disable Accurate Multiplication - Minor Glitches)
Pokemon_Super_Mystery_Dungeon (Works - Perfect)
Super Mario 3D Land (Unplayable - Major Glitches)
The Legend of Zelda - A Link Between Worlds (Works - Run without Hardware Shader - Minor Glitches)

1 Like

Thanks for the updated report.

Hey, this is a small update but yet a good one. I got pokemon sun to work by disabling hardware shaders. I guess you could add pokemon sun to the list? Ive been using a macbook air m1. It works good like pokemon omega ruby.

1 Like

updated report:
Maybe unplayable if you cant put up with it. Its performance is kinda bad but most of the time it runs a smooth 30 fps. The camera angle is the real problem. Not being able to see the right direction means not being able to see and that itself makes it a huge problem. If you can handle seeing it in the wrong angle/direction then yeah it’s completely playable.

1 Like

Well, I got a Mac mini with the M1 chip and I keep having the same problem, I figure to try some stuff and I got Citra to run some games, like Pokemon ORAS.

What you need to do it’s this:

  • Go to Preferences once you boot Citra.
  • Go to Graphics.
  • Go to Advanced.
  • Disable de following options: Disk Shader Cache and Hardware Shader.

With this changes you are goin to be able to play your games with a little amount of glitches and bugs in the graphics department.

Here it’s to everyone, enjoy your rooms!

hey I recently got my mac m1 air. Could you please tell me how it worked for SUN?. When I run pokemon SUN on citra, it gets me 2/3fps(which means it feels almost unresposive but runs). Any solution? Can u pls contact me through instagram?. Insta id:praneethrd1

Does it work better on citra nightly or canary?

And which build

Sorry I don’t really know a lot about the system stuff
of Citra

Guys! Hi i am new to citra and i bring kinda good update’s! And some bad ones.

This games seem to work perfectly fine with old macOS like 2015-2017-2018 but with the m1 macs they don’t seem to work. (Except 1)

First: majoras mask runs perfect! 30fps-x3(1080p)-x5(4k)!

Second: Seems like ocarina of time has a Major glitch were link seems to tumble (move his limbs in directional ways) or just all his textures being extremely Weird, the games is playable but the link model is the only problem. If someones knows how to solve the issue it would be great!

Third: Sonic generations seems to open but whatever i do, the game just puts me in a white screen with the title and the modes not showing. Again if somebody knows how to solve the issue it would be great!

Fourth: Kirby triple deluxe and Planet Robobot have the same problem! They run 40-45 fps with the title screen being very glitchy and the map-level selection being also glitched, when entering a level the down part of the screen is good! Pause and everything work but… the upper screen seems to duplicate and glitch by repeating the down screen in the upper screen… What i am saying is that the pause menu and touch options appear also in the upper screen while the game being 40-45 fps, and the fps is not because of the mac no being good enough is just the game lagging. I don’t think this has a solution but if anybody knows please tell me.

Ps: This happens in canary and nigthly.
And i am using a m1 max.