MacOS emulators: Difference between revisions

Xianmo (talk | contribs)
m ARM: Update VirtualBuddy note
Emulaster (talk | contribs)
No edit summary
 
(16 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:macOS emulators}}
{{DISPLAYTITLE:macOS emulators}}
{{WIP}}
{{WIP}}
{{Infobox system
{{Infobox OS/macOS}}
|title = macOS
|logo = MacOS.png
|image = Macbooksonoma.jpg
|developer = [[Apple Inc.]]
|type = [[:Category:Computers|Computers]]
|release = 1999 (Mac OS X Server 1.0), 2001 (consumer version)
|discontinued =
|predecessor =  [[Macintosh line|Macintosh]],
|successor =
|emulated = {{~}}
}}


:''This page is about software that emulates macOS on other hardware.''{{for|emulators that emulates Classic Mac OS systems|Macintosh line}}''{{for|emulators that run on macOS|Emulators on macOS}}{{for|emulators that run on Classic Mac OS|Emulators on Classic Mac OS}}  
:''This page is about software that emulates macOS on other hardware.''{{for|emulators that emulates Classic Mac OS systems|Macintosh line}}''{{for|emulators that run on macOS|Emulators on macOS}}{{for|emulators that run on Classic Mac OS|Emulators on Classic Mac OS}}  


This page covers Apple's [[wikipedia:Darwin_(operating_system)|Darwin]]-based operating system, formerly known as Mac OS X (pronounced as "ten", not as "Ex"), used on Macs from 1999 ([[wikipedia:Mac_OS_X_Server_1.0|Mac OS X Server 1.0]]) up to the present day (macOS 15 Sequoia).
This page covers Apple's [[wikipedia:Darwin_(operating_system)|Darwin]]-based operating system, formerly known as Mac OS X (pronounced as "ten", not as "Ex"), used on Macs from 1999 ([[wikipedia:Mac_OS_X_Server_1.0|Mac OS X Server 1.0]]) up to the present day (macOS 26 Tahoe).


===PowerPC===
===PowerPC===
{| class="wikitable" style="text-align:center;"
{| class="wikitable" style="text-align:center;line-height:1.5;width:74%;font-size:90%;"
|-
! scope="col"|Name
! scope="col"|Name
! scope="col"|Platform(s)
! scope="col"|Platform(s)
Line 43: Line 31:
|align=left|{{Icon|Windows|Linux|macOS}}
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/sebastianbiallas/pearpc 0.6.0]
|[https://github.com/sebastianbiallas/pearpc 0.6.0]
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{}} ||{{✗}}
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{Yes}} ||{{✗}}
|-
|-
|[[DingusPPC]]
|[[DingusPPC]]
Line 63: Line 51:
|[https://github.com/utmapp/UTM/releases {{UTMVer}}]<br/>[https://github.com/adespoton/utmconfigs Config files]
|[https://github.com/utmapp/UTM/releases {{UTMVer}}]<br/>[https://github.com/adespoton/utmconfigs Config files]
|{{Green}} {{License|Apache2}} ({{License|Permissive}}) ||{{✓}} ||{{Unknown}}
|{{Green}} {{License|Apache2}} ({{License|Permissive}}) ||{{✓}} ||{{Unknown}}
|-
|}
|}


Line 83: Line 70:
===x86===
===x86===
:''Note: installing macOS on non-Apple x86 hardware, the practice known as [[wikipedia:Hackintosh|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.''
:''Note: installing macOS on non-Apple x86 hardware, the practice known as [[wikipedia:Hackintosh|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.''
 
{| class="wikitable" style="text-align:center;width:100%"
{| class="wikitable" style="text-align:center;"
|-
! scope="col"|Name
! scope="col"|Name
! scope="col"|Platform(s)
! scope="col"|Platform(s)
Line 94: Line 79:
|-
|-
!colspan="6"|x86
!colspan="6"|x86
|-
|macOS On [[Hypervisors#Type_1_hypervisors|Hyper-V]]
|align=left|{{Icon|Windows}}
|[https://github.com/balopez83/macOS_On_Hyper-V/releases 2.3.1]
|{{?}} ||{{✓}} ||{{✓}}
|-
|-
|OSX-[[Hypervisors#Type_1_hypervisors|KVM]]
|OSX-[[Hypervisors#Type_1_hypervisors|KVM]]
Line 104: Line 84:
|[https://github.com/kholia/OSX-KVM git]
|[https://github.com/kholia/OSX-KVM git]
|{{?}} ||{{✓}} ||{{✓}}
|{{?}} ||{{✓}} ||{{✓}}
|-
|macOS On [[Hypervisors#Type_1_hypervisors|Hyper-V]]
|align=left|{{Icon|Windows}}
|[https://github.com/Qonfused/OSX-Hyper-V/releases git]
|{{?}} ||{{~}} ||{{~}}
|-
|-
!colspan="6"|ARM
!colspan="6"|ARM
Line 109: Line 94:
|Rosetta 2
|Rosetta 2
|align=left|{{Icon|macOS}}
|align=left|{{Icon|macOS}}
|macOS 13.3.1 "Ventura" (Apple Silicon)
|Bundled with latest macOS (Apple Silicon)
|{{Red}} {{License|Proprietary}} ||{{✓}} ||{{✓}}
|{{Red}} {{License|Proprietary}} ||{{✓}} ||{{✓}}
|-
|}
|}


Line 118: Line 102:


===ARM===
===ARM===
<span style="color:red;">'''THERE ARE CURRENTLY NO EMULATORS FOR THIS {{{1|DEVICE}}} THAT WORK ON OTHER DEVICES. ANY YOUTUBE VIDEOS CLAIMING TO OFFER THEM ARE [[Emulator scams|SCAMS]]!'''</span>
{{No current emulators}}
{| class="wikitable" style="text-align:center;"
{| class="wikitable" style="text-align:center;width:100%"
|-
! scope="col"|Name
! scope="col"|Name
! scope="col"|Platform(s)
! scope="col"|Platform(s)
Line 136: Line 119:
|-
|-
|[https://github.com/insidegui/VirtualBuddy VirtualBuddy]
|[https://github.com/insidegui/VirtualBuddy VirtualBuddy]
|align=left|{{Icon|macOS}} <ref group=N name=AppleSilicon-Ventura>Uses Apple's hypervisor framework to virtualise macOS 12 Monterey and later. Requires Mac with Apple Silicon (ARM) processor and macOS 13 Ventura or higher.</ref>
|align=left|{{Icon|macOS}} <ref group=N name=AppleSilicon-Ventura-VB>Requires Mac with Apple Silicon (ARM) processor and macOS 13 Ventura or higher. Uses Apple's hypervisor framework to virtualise macOS 12 Monterey and higher. </ref>
|[https://github.com/insidegui/VirtualBuddy/releases {{VirtualBuddyVer}}]
|[https://github.com/insidegui/VirtualBuddy/releases {{VirtualBuddyVer}}]
| {{Green}} {{License|BSD2}} ({{License|Permissive}})  
| {{Green}} {{License|BSD2}} ({{License|Permissive}})  
Line 143: Line 126:
|}
|}
<references group=N />
<references group=N />
;[https://chefkiss.dev/ ChefKiss Inferno]
:Although it is very early in development so far, the developer expressed plans to emulate ARM Macs on the long term.


==Emulation issues==
==Enhancements==
===PowerPC===
{|class="wikitable sortable" style="text-align:center;width:100%"
Currently, no 3rd-party Macintosh emulators support hardware graphics acceleration, due to [https://www.emaculation.com/forum/viewtopic.php?t=8396 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
! colspan=2 style="width:50%" |Name
!Rosetta
!QEMU
!PearPC
!DingusPPC
|-
|
|
|
|
|
|
|}
==Hardware and peripherals==
{|class="wikitable sortable" style="text-align:center;width:100%"
! colspan="2" style="width:50%" |Name
!Rosetta
!QEMU
!PearPC
!DingusPPC
|-
| colspan="2" |Power light
|{{Na}}
|{{Na}}
|{{~}}<ref group="lower-alpha" name="Infinite Mac">Only from a modified version on [https://infinitemac.org Infinite Mac].</ref>
|{{~}}<ref group="lower-alpha" name="Infinite Mac" />
|}
<references group="lower-alpha" />


===x86===
==Proxy projects for retro web browsing==
Despite an x86-based Mac is very similar to a general non-Apple PC in hardware architecture (which makes [[wikipedia:/Boot_Camp_(software)|Boot Camp]] and [[wikipedia:Hackintosh|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 [https://www.tonymacx86.com/threads/dont-steal-mac-os-x-kext.51175/ Don't Steal Mac OS X.kext].
{{Main|Preservation projects#Proxy projects for retro web browsing}}
 
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}}
{{Apple}}
[[Category:Apple Inc.]]
[[Category:macOS| ]]
[[Category:ARM-based]]
[[Category:macOS|macOS]]
[[Category:Operating systems]]
[[Category:PowerPC-based]]
[[Category:x86-based]]