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 https://imgur.com/gallery/cWlj0qk
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.

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