RetroArch for Apple Mac M1 softlaunches today!

We’re happy to announce that RetroArch for Mac M1 will be available for download starting today on our website! Get it here.

We’ve put a significant amount of effort into our new infrastructure to ensure that all the RetroArch binaries for Mac (whether they are nightlies or stables) are now codesigned and notarized. This way, it no longer requires you to disable GateKeeper or start up the program in an obtuse way to get the program to start.

Two versions/where to get it

There are two versions for now:

  • RetroArch with OpenGL (for x86 x64 Macs) (latest nightly here)
  • RetroArch with Metal (for x86 x64 / ARM Macs) (latest nightly here)

As always, you can find these versions on our Download page. If you browse the Download page on a Mac, it will even show a convenient ‘Stable’ and ‘Nightly’ button for both versions.

NOTE: There is no Qt support yet in these versions. This means that the Desktop Mode (triggered with F5) is not available in these builds as of this time. When/if we add this we will inform you of this in a future blog post. Stay tuned for further information on that.

There is also another problem with Qt that pertains to ARM Macs – there is no official support yet. All the stable binaries out right now are for Intel Macs. Hopefully this situation will improve later on so that ARM Mac support comes out of the box.

RetroArch with Metal (for x86 x64 / ARM Mac – Universal app

RetroArch with Metal (for x86 x64 / ARM Macs) is a ‘universal’ version. This means that it will work on both ARM and Intel Macs. It uses the latest technologies available in modern Macs, like a new CoreAudio 3 driver, and a Metal graphics driver. The only disadvantage is that there is no OpenGL support. We might want to include this later on still in the build, but we are not sure yet if this will make sense for the universal build. I guess it all depends on how long Apple will keep it in ‘deprecated’ mode before removing it altogether.

RetroArch with OpenGL (for x86 x64 Mac)

RetroArch with OpenGL (for x86 x64 Macs) will only work on Intel Macs. You will be able to run it on an ARM Mac with Rosetta2, but for a more optimized experience you definitely want to go with the former version (Metal). You might still want to use this version though if you need some OpenGL-based libretro cores to work.

State of the ARM Mac RetroArch port

There are currently 75 Libretro cores available as of this writing. You can get them by going to Online Updater -> Install Cores inside RetroArch. We are going to be adding more as time goes on.

The ARM Mac version uses Metal as the video driver. There is no OpenGL driver. This means that OpenGL-based cores will currently not work on this version. If you want to use a core that requires OpenGL to function, you will have to download and install the x86 x64 version of RetroArch (with OpenGL) on your Mac and rely upon Rosetta2 emulation. Yes, it’s slightly inconvenient to have two versions of the same app installed on your computer. Hopefully later on we can find a solution so that this is no longer necessary, whether it’s through adding OpenGL driver support (assuming OpenGL remains available and won’t be removed altogether as we fear Apple might do) or whether that means going with some middleware wrapper that translates OpenGL to Metal.

Setup

In order to install RetroArch on your Mac, you need to make sure that your Mac is configured to allow apps downloaded from “App Store and identified Developers”. Go to System Preferences, Security & Privacy. Go to the tab 'General' and make sure that 'Allow apps downloaded from' is set to 'App Store and identified developers'. If it isn’t, click on the lock to make the necessary changes.

After this, you should have no problem installing RetroArch from our website. Download the zip file from our site, unzip it, this will give you a .dmg file. Mount the dmg file by clicking on it. Now simply drag the RetroArch icon over to the Applications icon. And you should be done!

NOTE: We changed the way assets are dealt with in RetroArch for Mac. Previously, assets were bundled in the .app itself and they would be stored there as well. Now, they are stored in a support directory in your user partition instead.

There is now also a first-time asset extraction process. Be aware that if the file ~/Library/Application Support/RetroArch/configs/retroarch.cfg already exists, it won’t try to extract the assets at first-time startup. Please keep this in mind in case you see low-resolution bitmapped fonts without any icons. Alternatively, you can always just update the assets directly from within the app by going to Online Updater, and selecting ‘Update Assets’.

Final thoughts

Lastly, we can tell you that the ARM-optimized version of RetroArch runs great on current Apple M1-based hardware. We are quite impressed with the overall level of performance on display, and our first priority will be to expand the amount of cores that are supported. Right now we have 75 Libretro cores available but we should be able to reach a number closer to the x86 x64 version.

Special thanks

Special thanks to Xer The Squirrel, kivutar, harakari and others for helping out with the key signing and work on our new infrastructure. We wouldn’t be at this stage right now without them!

More new cores: MelonDS, SameBoy, ARM Linux cores!

This week will be all about a dripfeed of new cores along with a version bump of RetroArch, which will be needed for some of the new cores that will be arriving this week.

MelonDS

This is an up-and-coming Nintendo DS emulator by StapleButter, and it now has a libretro port. Some of the things that are still not properly implemented is touchscreen/mouse support and multithreading for the software 3D rasterizer, but we will take care of that soon. This emulator might not yet be a replacement for DesMuMe, but it’s quickly progressing so definitely keep your eyes on it, as DesMuMe certainly needs some competition.

You can get this new core on our buildbot. Start up RetroArch, go to ‘Online Updater’, and check for ‘MelonDS’.

For more information on MelonDS, check out its official homepage here.

Available for

The MelonDS core is currently available for:

  • Windows (64bit/32bit)
  • Linux (32bit/64bit)
  • macOS
  • iOS
  • Android

BIOS instructions, etc. (required)

MelonDS requires a real BIOS file in order to work. These need to be placed inside your System directory. If you don’t know where your System directory is, inside RetroArch, go to Settings -> Directories and read where your System Directory is located.

The following three files are all required:

  • bios7.bin
  • bios9.bin
  • firmware.bin

 

SameBoy

SameBoy is an accuracy-focused Game Boy/Game Boy Color emulator in the vein of Gambatte. We now have a libretro core of it and its author has also helped us earlier with some implementation details, so that is very much appreciated!

Some features that are still missing is savestate support, but we intend to get that done soon.

For more information on SameBoy, check out its official homepage here.

Available for

The SameBoy core is currently available for:

  • Windows (64bit/32bit)
  • Linux (32bit/64bit)
  • macOS
  • iOS
  • Android

BIOS instructions, etc. (optional)

Here is a tiny convenience feature you added – normally SameBoy relies on reverse engineered Game Boy/Game Boy Color boot ROMs in order to load. You can load these instead of the real BIOS file. For this libretro core, instead of requiring you to put these homebrew boot roms somewhere so that the emulator can read them, we have baked these into the core itself. So you don’t even need to put them somewhere in your system directory.

However, if you’d like to override these,¬†you can do that too. Go to your system directory (if you don’t know what this is, inside RetroArch, go to Settings -> Directories and read where your System Directory is located) and put these files there:

Game Boy boot ROM – ‘dmg_boot.bin’

Game Boy Color boot ROM – ‘cgb_boot.bin’

ARM Linux cores!

Our buildbot is now providing fresh new ARM Linux cores for hardfloat configurations! These cores could be used for instance on Lakka-based devices as well as the NES Mini!

You can grab them here:

https://buildbot.libretro.com/nightly/linux/armhf/latest/

Miscellaneous updates

  • Mednafen/Beetle Saturn has been updated to the latest version.
  • Updates to ParaLLEl N64 core.

What’s still coming up this week?

In no particular order:

  • Redream (new Sega Dreamcast emulator made by inolen)
  • OpenLara (Tomb Raider 1 game engine, in early alpha development stages but already promising)
  • Dolphin (will have Gamecube controls only at first, will work for both GL and Vulkan)
  • Citra