Hackintosh

Hackintosh
A Hackintosh (a portmanteau of "Hack" and "Macintosh") is a computer that runs Apple's Macintosh operating system macOS on computer hardware not authorized for the purpose by Apple. This can also include running Macintosh software on hardware it is not originally authorized for. "Hackintoshing" began as a result of Apple's 2005 transition to Intel processors, away from PowerPC. Since 2005, many Mac computers have used the same x86-64 computer architecture as many other desktop PCs, laptops, and servers, meaning that in principle, the code making up macOS systems and software can be run on alternative platforms with minimal compatibility issues. Benefits cited for "Hackintoshing" can include cost (older, cheaper or commodity hardware), ease of repair and piecemeal upgrade, and freedom to use customized choices of components that are not available (or not available together) in the branded Apple products. macOS can also be run on several non-Apple virtualization platforms, although such systems are not usually described as Hackintoshes. Hackintosh laptops are sometimes referred to as "Hackbooks".
Apple's software license for macOS only permits the software's use on computers that are "Apple-branded." However, because many still-supported Macintosh computers use Intel-based hardware, there are few limitations keeping the software from running on other types of Intel-based PCs. Notably, companies such as Psystar have attempted to release products using macOS on non-Apple machines, though many Hackintosh systems are designed solely by macOS enthusiasts of various hacking forums and communities. While commercial circumvention of the methods Apple uses to prevent macOS from being installed on non-Apple hardware is restricted in the United States under the Digital Millennium Copyright Act (DMCA), specific changes to the law regarding the concept of jailbreaking have placed circumvention methods like these into a legal grey area.
In 2020, Apple began to move to ARM64-based Apple silicon processors. The company has said it will eventually stop supporting the Intel64 architecture.
History
Mac OS X Tiger (10.4)
On June 6, 2005, Apple announced its plans to transition to Intel x86 processors at their Worldwide Developers Conference and made available a prototype Intel-based Mac to selected developers at a cost of $999. Efforts immediately began to attempt to run Mac OS X on non-Apple hardware, but developers quickly found themselves with an error message saying that the PC hardware configurations were not supported.
On January 10, 2006, Apple released 10.4.4 with the first generation of Intel-based Macs, the iMac and the MacBook Pro. These machines used Extensible Firmware Interface (EFI) platform firmware instead of the older style BIOS found on most x86 motherboards at the time. On February 14, 2006, an initial "hack" of v10.4.4 was released on the Internet by a programmer with the pseudonym crg92. Within hours Apple released the 10.4.5 update, which was then hacked by the same author within two weeks. On April 3, 2006, Apple released their 10.4.6 update and again patches were released within two weeks that allowed users to install most of this update on non-Apple computers, although this did not include the updated kernel in 10.4.6. In June 2006, an updated MacBook Pro was released for the 10.4.7 update for non-Apple computers using the 10.4.4 kernel.
Up to the release of the 10.4.8 update, all OSx86 patches used the 10.4.4 kernel with the rest of the operating system at version 10.4.8. However, the newer frameworks relied on the newer kernels and this led to users of 10.4.8 encountering many problems. Apple also started making more use of SSE3 instructions on their hardware making it even more difficult for users with CPUs supporting only SSE2 (such as older Pentium 4s) to get a fully compatible system running. To solve this problem, hackers from the community released kernels where those instructions were emulated with SSE2 equivalents, although this produced a performance penalty.
Throughout the years, many "distros" were released for download over the Internet. These distros were copies of the Mac OS X installer disc modified to include additional components necessary to make the OS run on the non-Apple hardware. A prominent member of the community, JaS, released many distros of Mac OS X Tiger containing patched kernels. Some other popular distros are iATKOS, Kalyway, iPC and iDeneb. Distros have fallen out of favour as the OSx86 community grew, as new bootloaders were developed that made it possible to use actual copies of the OS X Installer.
Mac OS X Leopard (10.5)
As early as v10.5 build 9A466 the community has maintained a version of Leopard that can run on non-Apple hardware. A hacker by the handle of BrazilMac created one of the earliest patching processes that made it convenient for users to install onto 3rd party hardware by using a legally obtained, retail version of Apple . This simplification made the BrazilMac patch and its later revisions quickly the most popular choice for many distros. Five of the most popular builds go by the name JaS, Kalyway, iATKOS, iPC and iDeneb – although more recently these builds are on the way out as the Boot-132 method (described below) gains popularity. However, all of these compilations rely on the work of kernel hackers made by Lorem (build 9A466), SynthetiX (builds 9A499, 9A527 and 9A559), ToH (builds 9A581, 9B13 and 9B18) and more recently a group calling themselves StageXNU (now called Voodoo) (Darwin 9.4.0). Their contributions trickled down into the various Mac OSx86 installers, readily available on the Internet. They continue to be refined and updated builds released, not just to maintain compatibility with Apple releases but an ever-increasing number of third-party components. The OSx86 community has been quick to make the necessary modifications to enable Apple's latest releases to run on non-Apple hardware. Within hours of Leopard's release, an AMD/Intel SSE2/3 Kernel Patcher was created that removed the HPET requirement from an original untouched mach_kernel file, a core component of the Mac OS.
Mac OS X Snow Leopard (10.6)
When "Snow Leopard" was released, Russian hacker netkas created a version of Chameleon that can boot Mac OS X v10.6. The main problem was that many people were forced to modify DSDT or use kexts due to some specific issues. As soon as possible modbin and dmitrik released test versions of kernel that allow to boot Snow Leopard on AMD machines. Stable XNU kernels for v10.6 were released by Qoopz and Pcj. There are some popular builds based on Retail by the name Universal (Intel only), Hazard, and iAtkos. Since v10.6.2 Nawcom, Qoopz, and Andy Vandijck have been working on Legacy kernel for unsupported CPUs.
Mac OS X Lion (10.7)
When Apple released the Developer Preview 1, a Russian Hackintosh developer usr-sse2 was the first who created a method to install Lion. The method consists of deploying Mac OS X v10.7 image on a flash drive, and booting from it via XPC UEFI Bootloader (See DUET below). After some changes were made to the Chameleon source code, it became possible to boot Lion with an updated version of Chameleon. After a while Dmitrik also known as Bronzovka had luck with creating a kernel that supported AMD systems; after a few months (10.7.3 V2 With AMD Support) and iAtkos L2 (10.7.2 Only Intel) were released.
OS X Mountain Lion (10.8)
Shortly after the release of Developer Preview 1, some unknown developers managed to install this version of OS X to their PC by using a modified version of the Chameleon Bootloader. This version was released via the main project starting at version r1997 to the general public. Due to the problems sourced during the Lion era, other ways of installing and required patches were never made public, which leaves the scene in an unknown state towards Mountain Lion.
Since the retail release of Mountain Lion several users have reported successful setups using installers purchased from the Mac App Store, along with updated versions of Chameleon and other tools including distros.
Niresh's Distro (10.8 Intel only) was first released and then was updated to 10.8.2 (With AMD and Intel) and 10.8.5 (With UEFI Support, AMD and Intel Support) versions; iAtkos ML2 was released after Niresh's Release.
OS X Mavericks (10.9)
Multiple new kernels for Hackintosh 10.9 are in the works, although there still are minor issues with most of them. Most of these kernels aim to allow users to run Mavericks on AMD and older Intel CPUs, which lack certain instruction sets of the latest Intel CPUs. Significant efforts have been made to emulate instruction sets like SSSE3, which are not present on AMD K10-based CPUs, and older Intel CPUs, like the Intel Core Duo.
AMD's latest CPUs, from the 'Bulldozer' architecture onwards, contain almost all the latest instruction sets, and hence, some kernels with full SSE4 support have also been released. After two months, Niresh's Distro was released for Mavericks, which supports AMD CPUs and latest Intel CPUs. It also has a custom kernel that allows Intel Atom processors to boot into Mavericks. Niresh's was the only free distro that was released for Mavericks, since the iAtkos Team decided to release their Mavericks distro for specific hardware on donation basis.
OS X Yosemite (10.10)
After the initial release of OS X Yosemite 10.10 BETA, various developers took on the role of updating their bootloaders for the system. Members of OSx86 forum InsanelyMac set to update the EFI Bootloader Chameleon for this new OS release. Some time later, Niresh (an independent OSx86 developer) released a standalone tool known as Yosemite Zone, based on Tora Chi, Bronya and DeeKay's AMD Kernel, which would automatically install the new OS and other various features on a non-Apple device with minimal input. This method consisted of torrenting an OS X 10.10 DMG onto a USB flash drive with MacPwn Vanilla Installation. Unibeast was updated to support Yosemite, and a distribution of Yosemite Zone was released with AMD processor support. In addition, DeeKay's graphics patch gave support for accelerated graphics on Intel's Built-In GPU HD 4400 which was unsupported on ASUS laptops.
A vanilla installation of Yosemite is possible via Insanelymac's Pandora Box Beta 2.0 and UniBeast. This type installation uses as few kexts (drivers) as possible in addition to using an unaltered version of the OS X installation app, and is preferred over distributions.
OS X El Capitan (10.11)
Both Clover and Chameleon were updated to be compatible with El Capitan. Unibeast and MacPwn were updated to support El Capitan as well, since El Capitan, Unibeast (and Multibeast) use the Clover bootloader instead of Chimera (a Chameleon-based bootloader).
macOS Sierra (10.12)
Clover and Chameleon were updated to be compatible with Sierra. UniBeast, Pandora Box and MacPwn were updated to support it and a distribution of Sierra Zone (10.12.3) was released with AMD processor support.
macOS High Sierra (10.13)
Clover, MacPwn, OpenCore and UniBeast were updated to support it. A distro of High Sierra Zone by Hackintosh Zone (10.13) was released with AMD Processor support including Ryzen CPUs.
macOS Mojave (10.14)
Clover was updated to support Mojave with revision 4514. UniBeast also received Mojave support for Intel-based machines. A distro of Hackintosh Mojave by Hackintosh Zone (10.14) was released. Apple has also discontinued support for NVIDIA Web Drivers from the first release of macOS Mojave, to current.
macOS Catalina (10.15)
Clover r4945 was the first version of Clover to support macOS Catalina, beginning with the first developer beta of macOS Catalina 10.15. UniBeast was updated for macOS Catalina support, but there has not yet been a MultiBeast release for Catalina. For the first public stable release of macOS 10.15, AMD patches were also released, allowing the booting of macOS Catalina on AMD CPU systems. A new bootloader began to emerge during this time, called OpenCore. It is a necessity for AMD users beyond macOS 10.15.2.
macOS Big Sur (11)
macOS Big Sur works on Intel processors. But in 2020, Apple began to move to ARM64-based Apple silicon processors, and will eventually stop supporting the Intel64 architecture.
macOS Monterey (12)
Some new features of macOS Monterey, such as a 3D globe of Earth in Maps and text-to-speech in additional languages, work only on Apple silicon processors. Rene Ritchie has speculated that the features require Apple's Neural Engine. Apple has provided no official explanation.
macOS Ventura (13)
In this version, Apple officially dropped support for 6th-generation Intel integrated GPUs. Users who are using 6th generation iGPUs will need to add a dedicated graphics card or they may encounter problems.
Legal issues and Apple’s objections
Apple does not authorize the use of macOS on any x86 PC other than those which it has manufactured. After announcing its switch to Intel's chips, the company used technical means (although not the Trusted Platform Module, or TPM, as has been widely misreported), to tie macOS to the systems it distributed to developers. The method they used involved checking for an SMC chip using DSMOS (Don't Steal MacOS.kext).
The macOS EULA forbids installations of macOS on a "non-Apple-branded computer". On July 3, 2008, Apple filed a lawsuit against Psystar Corporation for violating this restriction, among other claims. Apple claimed Psystar "violated the Digital Millennium Copyright Act (DMCA) by dodging copy-protection technologies Apple uses to protect ." Apple employs technological protection measures that effectively control access to Apple's copyrighted works. Specifically, Apple charged Psystar with acquiring or creating code that "avoids, bypasses, removes, descrambles, decrypts, deactivates or impairs a technological protection measure without Apple's authority for the purpose of gaining unauthorized access to Apple's copyrighted works." The legal brief revealed that Apple considers the methods that it uses to prevent macOS from being installed on non-Apple hardware to be protected by the Digital Millennium Copyright Act (DMCA).
On November 13, 2009, the court granted Apple's motion for summary judgment and found Apple's copyrights were violated as well as the DMCA when Psystar installed Apple's operating system on non-Apple computers. A hearing on remedies was set for December 14.
On January 14, 2009, the Gadget Lab site of Wired Magazine posted a video tutorial for installing on an MSI Wind netbook, but removed it following a complaint from Apple. Textual instructions remain, but include an EULA violation disclaimer.
On May 15, 2012, the case Apple vs. Psystar Corporation ended. The court ruled that Psystar had "violated Apple's exclusive reproduction right, distribution right, and right to create derivative works," putting an end to the case.
Hacking approaches
Kernel hacks
When copies of Mac OS X Tiger started running on non-Apple hardware, it was found that some processors were unable to run the OS. Rosetta, a binary translator that made it possible to run PowerPC programs on Intel processors, (and later the kernel itself) required the support of the SSE3 instruction set. To circumvent this, programmers in the community released patched kernels, which included support for emulating SSE3 instructions using SSE2 equivalents. In October 2005, Apple released update 10.4.3 to developers that required NX bit microprocessor support; however, patches were released to circumvent this as well. Patched kernels were also later released that supported AMD processors.
When Mac OS X Leopard released on October 26, 2007, patches were created to remove the HPET requirement from the kernel. Efforts were also made to emulate the SSSE3 instruction set for processors that did not support it. The kernel used by OS X Mavericks made use of SSSE3 instructions, requiring those patches.
Boot loaders and emulators
EFI emulation
Extensible Firmware Interface (EFI) is a specification that defines a software interface between an operating system and platform firmware. Since emulating the EFI does not generally require copying or modifying macOS, it is considered by some hackers to be the legal way of installing macOS on non-Apple computers (despite being untested in courts).
The work started with EFI emulation in the form of David Elliot (dfe)'s modified version of Boot-132 called "Darwin/x86", which has a "FakeEFI" system that emulates EFI. In early November 2007, a group of hackers (fronted by a Russian hacker known as Netkas), using Elliot's code, developed a method of emulating an EFI environment using a specially modified Darwin bootloader. In practical terms, this meant that regular PCs meeting a set of hardware requirements could now be "seen" as real Macintosh computers by the OS, allowing the use of unmodified, "stock" Apple kernels (as long as the CPU supports it) and thus giving more transparent and reliable operation. Several methods for real world deployment of this innovative solution have arisen around the Internet. An explanation of this achievement along with a usage guide was provided by the website DigitMemo.com.
True EFI emulation was a highly sought after asset for the OSx86 community. Previous efforts based upon Apple's open source Darwin Project and Hackintosh gurus allowed users to use macOS on normal PCs, with patched kernels/kernel modules that simply bypassed EFI. Using the EFI patch, a Hackintosh could boot off "vanilla" (unmodified) macOS kernels and use vanilla kernel extensions. This not only allowed the system to be compatible with future system updates, but also offered increased stability. This method also circumvents one aspect of Apple's End User License Agreement, which states that the modification of non-Open Source components of the OS is forbidden.
In mid-2008, a new commercial product, EFi-X, was released that claims to allow full, simple booting off official Leopard install disks, and a subsequent install, without any patching required, but this is possibly a repackaging of Boot-132 technology in a USB-attached device. Rebel EFI is another commercial product that also seems to use Open Source software.
It was thought that Windows 7's support of EFI would result in PC motherboards replacing BIOS with EFI. MSI announced the Efinity mainboard in early 2008. As of 2011, EFI-based computers have entered the market, however none can natively boot Mac OS X due to the lack of a HFS+ driver in the EFI implementation.
Boot-132
Boot-132 is a bootloader provided by Apple for loading the XNU kernel. In mid-2008, a new modified BOOT-132 came on to the scene. This method allows users to conduct the Leopard-based OSx86 installation using a stock, retail-purchased copy of Leopard and eradicates the necessity of a hacked installation like JaS or Kalyway (mentioned previously). The Boot-132 bootloader essentially preloads an environment on the system from which Leopard can boot and operate. The bootloader stores the necessary files (kext files) in a .img collection or simply a folder. The luxury of this new installation method includes the ability to boot and install from a retail Leopard DVD and update straight from Apple without breaking the DMCA. The only possible problem here is that it breaks the macOS EULA.
The bootloader behaves like the Linux kernel: one can use an mboot-compatible (a patched syslinux was used for the hack) bootloader that tells boot-dfe about the .img file (the ramdisk or initrd, as it's known by Linux users), and boot-dfe will then use the kexts (or mkext) from it. This new boot-dfe has been tested with the retail Leopard DVD, and it can boot, install, run Leopard without having to build a modified DVD.
Chameleon
Since the early developer builds of Mac OS X v10.6, members of the OSx86 community had been booting the new operating system using yet another bootloader called PC EFI provided by Russian hacker Netkas or the bootloader of the Voodoo team's Chameleon. Chameleon is based on David Elliot's Boot-132. The bootloader supports ACPI, SMBIOS, graphics, Ethernet, and some other injections. It allows to boot up macOS on non-Macintosh hardware. Chameleon supports a lot of AMD as well as Nvidia graphics cards. There are a lot of forks of it by different developers; the latest version upstream is 2.2 from 2014.
Clover
Clover is a GUI bootloader for multiple operating systems that supports either UEFI or the legacy BIOS mode. To support booting EFI code, one of the two methods are conventionally taken: either Elliot's FakeEFI was used, or an actual open-source EFI system based on Intel's TianoCore called DUET (Developer's UEFI Emulation) was flashed into the motherboard. However, modern, non-Apple EFI firmware as well as Duet cannot directly load macOS due to various incompatibilities, mainly around the HFS+ file system but also due to the quirks of individual vendors. One more step was needed to load macOS systems: an EFI application to rectify these problems and bridge the gap.
Beginning in March 2011, Slice discussed his idea with other community members, resulting in the development of a bootloader that can do both: emulate an EFI firmware of one's choice or use a Real UEFI firmware to boot Mac OS X. It contains EFI applications and drivers for correctly reading an HFS+ disk and patching EFI tables to prepare the system for starting macOS. As of 2020, it is actively maintained.
Ozmosis
Ozmosis is a UEFI DXE bootloader for Z77MX-QUO-AOS, developed by QUO Computer Inc. that is defunct in late 2010s.
It offers to run macOS through motherboard’s UEFI rom, and doesn't need additional drive space for the bootloader.
OpenCore
OpenCore, started in 2019, is another bootloader developed to run macOS on UEFI or BIOS systems as well as old Mac devices that are no longer supported. Compared to Clover, it is said to provide overall better patching and emulation as well as a faster boot time. The project has also taken over the development of some patches, meaning future versions may only work with OpenCore.
Live DVD
In March 2007, the OSx86 community made some significant progress with the development of a Live DVD. The Live DVD allows booting to a working system with Mac OS X v10.4.8.
On January 2, 2009, InsanelyMac's Live DVD team published a new method by which a Mac OS X v10.5.x Live DVD could be produced, allowing users to boot a fully working macOS desktop from a DVD or USB flash drive. The method was more reliable than previous methods because it manipulated Apple's existing Netboot and Imageboot functionalities and behaved as if the system were running off a network disk. It was easier to produce; requiring only a single script to be added to an existing installation. Distributions of the live DVD have been made since its inception. Since then, it is notable that this method has been shown to work on normal Apple Mac hardware.
Virtual machine
It is possible to run macOS as a virtual machine inside other operating systems installed on standard PC hardware by using virtualization software such as Oracle's VirtualBox (though this is not officially supported by Oracle). It is also possible to install macOS on Windows and Linux versions of VMware software through the use of patches, even though the company states that running macOS is supported for VMware running on only Apple computers in compliance with Apple's licensing policies.
macOS on a virtual machine is typically very slow due to the operating system's heavy use of hardware video acceleration, which macOS does not support when using the virtual video devices typically used by virtual machine software. A work around is to attach a physical GPU to a virtual machine, however this requires a macOS supported GPU in the system that is not in use by the host operating system.
See also
Macintosh clone – About clones and emulators of various Macintosh models
List of computer system emulators – a list of Macintosh and other computer system emulators
Mac transition to Intel processors
Star Trek project
References
MacOS