macOS

From Emulation General Wiki
Revision as of 13:17, 15 July 2024 by Phredreeke (talk | contribs) (PowerPC: Removed UTM from the list as it only emulates Mac OS 9, not OS X and later versions which is what this page is intended for)
Jump to navigation Jump to search
macOS
MacOS.png
Macbooksonoma.jpg
Developer Apple Inc.
Type Computers
Release date 2000
Predecessor Macintosh,
Emulated ~
This page is about software that emulates macOS (previously OS X) on other non-native hardware.
For emulators that emulates Classic Mac OS systems, see Macintosh line.
For emulators that run on macOS (previously Mac OS X), see Emulators on macOS.
For emulators that run on Classic Mac OS, see Emulators on Legacy systems#Classic Mac OS.

This page covers Apples current line of computers, from October 27, 2000 (Mac OS X Server 1.0) to the present day (macOS 14 Sonoma)

PowerPC

Name Platform(s) Latest Version FLOSS Active Recommended
PC / x86
Rosetta macOS Mac OS X 10.6 "Snow Leopard" (Intel)
QEMU Windows Linux macOS 9.1.0 ~*
PearPC Windows Linux macOS 0.6.0
DingusPPC Windows Linux macOS git WIP
PowerPC
MacOnLinux Linux Original Website
Source
PearPC
This emulator had been developed since 2004, and is capable of booting OS X 10.1-10.4, but not prior Mac OSs, nor OS X's Classic environment. It once had lots of developer momentum, but activity and interest declined significantly following Apple's 2005 transition to Intel processors. It was the subject of controversy when a closed-source emulator, CherryOS, was revealed to have used code stolen from PearPC. PearPC lacks a GUI (even the "Change CD" button is removed in the most recent builds), so using a frontend may be necessary. Sound is not emulated unless you use a buggy and now outdated fork.
QEMU
Best known for its use as an x86 hypervisor, QEMU also emulates a wide range of CPU architectures. In 2015, a Google Summer of Code event brought PowerPC Macintosh support from a curiosity to a possibility and it now supports a specific range of versions as of 2017. Like PearPC, QEMU is run from a shell.
Rosetta
Apple's official PowerPC compatibility layer for x86-based Macs included in Tiger (10.4.4). Though it wasn't included in by default on Snow Leopard users can optionally reinstall it from the Snow Leopard DVD or chose to install it with the OS when preforming a fresh install. It was removed entirely in OS X Lion. Rosetta uses QuickTransit technology licensed from Transitive Corporation, and works transparently from the end-user, leading Apple to market it as "the most amazing software you'll never see." as it, unlike most emulators, does not have a user interface. Rosetta works best on software that isn't system-intensive, such as office applications; games and other software applications which rely on kexts, libraries or certain instructions may not work properly if at all. A compatibility list is available here.
DingusPPC
Experimental emulator early in development.
Mac-on-Linux
Virtualizer made exclusively for PowerPC Linux, allows to natively install several MacOS versions.

x86

Note: installing macOS on non-Apple x86 hardware, the practice known as Hackintosh, is a more common and feasible way of running macOS programs on a regular PC rather than trying to emulate or virtualize actual Mac hardware.
Name Platform(s) Latest Version FLOSS Active Recommended
PC / x86
Rosetta 2 macOS macOS 13.3.1 "Ventura" (Apple Silicon)
Rosetta 2
Rosetta 2 is a compatibility layer on Apple silicon Macs allowing x86-64 apps to run on ARM-based Macs. Note that Rosetta 2 is not strictly limited to MacOS apps as software such as Crossover is able to call it to emulate x86 code in Windows binaries.

ARM

THERE ARE CURRENTLY NO EMULATORS FOR THIS DEVICE THAT WORK ON OTHER DEVICES. ANY YOUTUBE VIDEOS CLAIMING TO OFFER THEM ARE SCAMS!

Name Platform(s) Latest Version FLOSS Active Recommended
ARM
UTM macOS [N 1] 4.5.3 ~
  1. Requires Mac with Apple Silicon (ARM) processor and macOS Monterey or higher.

Emulation issues

PowerPC

Currently, no 3rd-party Macintosh emulators support hardware graphics acceleration, due to certain CPU instructions left unimplemented in their upstream PPC softcores. This means no GLIDE, RAVE, or OpenGL. Fortunately, though as was generally the case in every platform of the period significant visual and feature differences exist between the two, the majority of Mac-exclusive software using these APIs also included software fallback renderers. It is however possible to pass through a real GPU to a PowerPC Mac being emulated by QEMU provided you have one that's compatible with OpenFirmware

x86

Despite an x86-based Mac is very similar to a general non-Apple PC in hardware architecture (which makes Boot Camp and Hackintosh possible), it still contains Apple proprietary hardware such as closed-source EFI BootROM, System Management Controller (SMC) and later T1/T2 security chip that either requires bypassing or emulation in order to run macOS. macOS also contains countermeasures that prevent it from being run on a non-Apple PC such as the infamous Don't Steal Mac OS X.kext.

Another big hurdle is that macOS only contains drivers for hardware components used in actual Mac computers, which means a large portion of PC users who use different hardware combinations than actual Mac computers need to bypass, patch, or port drivers for their hardware in order to boot macOS and promote it to a usable state, and might still with crippled functionalities due to no or imperfect solutions to drive some of the hardware.

ARM

Hurdles in emulating ARM-based Mac are basically the same as emulating iOS devices: Apple's proprietary M1/M2 SoC which has little to no documentation, and hardened security measures inherited from iOS devices. However if Apple discontinues support for x86 in XCode, there will be no way to code modern iOS apps on other platforms or use macOS apps in general. If an ARM macOS emulator is sucessful, modern iOS emulation will be "cracked" too (apart from Corellium though).

Apple Inc.
Apple Computer (1998).jpg
Desktop: Apple IApple II Line (Apple IIGS) • Apple III lineLisaMacintosh lineMacOS
Mobile: iPodiOS
Consoles: Pippin