diff --git a/.vuepress/config.js b/.vuepress/config.js index f7130f7..77fc9ea 100755 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -36,7 +36,13 @@ module.exports = { },] ], base: '/Anti-Hackintosh-Buyers-Guide/', - + markdown: { + extendMarkdown: md => { + md.use(require('markdown-it-multimd-table'), { + rowspan: true, + }); + } + }, /** * Theme configuration, here is the default theme configuration for VuePress. @@ -105,7 +111,16 @@ module.exports = { collapsable: false, sidebarDepth: 2, children: [ - 'CPU', + { + title: 'CPU', + path: '/cpu/CPU', + collapsable: true, + sidebarDepth: 0, + children: [ + ['/cpu/Intel', 'Intel'], + ['/cpu/AMD', 'AMD'] + ] + }, 'GPU', 'Motherboard', 'Storage', @@ -134,4 +149,4 @@ module.exports = { } }], ] -} \ No newline at end of file +} diff --git a/CPU.md b/CPU.md deleted file mode 100644 index 8f49a1f..0000000 --- a/CPU.md +++ /dev/null @@ -1,76 +0,0 @@ -# CPUs - -## CPUs to avoid - -While AMD CPUs can work but we advise against them due to numerous issues still plaguing them as they're not natively supported. They require quite a bit more work to get setup but for those who like would prefer AMD there is the [AMD Vanilla Guide](https://vanilla.amd-osx.com). - -Common issues with AMD: - -* Adobe products don't always work and there is no fix for Lightroom at the moment - * some fixes can be found here: [Adobe Fixes](https://gist.github.com/naveenkrdy/26760ac5135deed6d0bb8902f6ceb6bd) - * Do note these fixes just disable functionality, they're not real fixes -* Cubase, REAPER, and other audio software crashes on launch - * REAPER works *if* using the Clang build - * There is no fix for Cubase at the moment - * Waves plugins also cause crashes -* Virtual Machine running off of AppleHV's framework will not work(ie: Parallels 15) - * VirtualBox works fine as it doesn't use AppleHV -* Docker broken - * Docker toolbox is based off of VirtualBox, many features are unavailable with this -* Xcode's Apple Watch simulator is broken in Catalina - * Mojave works fine -* Microphone input is not available with AppleALC requiring VoodooHDA(quite a bit worse audio quality and overall instability) -* Audio drift issues on Ryzen APUs (G series Chips) - * USB DAC is only fix besides new CPU -* Difficult to setup Sleep(or impossible on some systems) -* No CPU Power Management -* Not all USB ports work on some boards - * This is due to not being assigned in ACPI, you need to manually add them in your DSDT -* Delayed updates -* ~~3rd Gen Threadripper is not supported on bare-metal~~ - * Latest BIOS and OpenCore now boot with TRx40 CPUs - -AMD CPUs: - -* AMD Ryzen 1000 Series -* AMD Ryzen 2000 Series -* AMD Ryzen 3000 Series -* AMD Athlon -* AMD ThreadRipper -* AMD FX Series - -With Intel, the thanks to most of the CPUs being quite similar they have support when the CPU is spoofed to a supported model. The only downside is that the iGPU rarely work on Atom/Pentium/Celeron these models meaning a cheap iGPU Hackintosh is impossible with these CPUs. Regarding X99/LGA 2011-V3 CPUs, there's the issue that these CPUs were never shipped in a real Mac so quite a few issues are present when running macOS on these systems. Avoid if possible - -**Dual Socket User Note**: Do note that the macOS kernel only supports a maximum of 64 threads. So for high-end setups please be aware. And for dual socket users, you will need to use [AppleMCEReporterDisabler](https://github.com/acidanthera/bugtracker/files/3703498/AppleMCEReporterDisabler.kext.zip) in macOS Catalina - -* Intel Atoms -* Intel Celerons -* Intel Pentiums -* Intel X79/LGA 2011 -* Intel X99/LGA 2011-V3 -* Intel X299/LGA-2066 - -::: tip Recommendations - -So our overall recommendation for CPUs: - -* Semi-modern consumer Intel CPUs - * Ivy Bridge through Comet Lake are properly supported in macOS -::: - -## Unsupported CPUs - -So with outright unsupported CPUs, you're split into 2 camps: Either too old to run or too new that patches aren't supported - -**Too old to run**: - -This mainly consists of CPUs that are missing the SSE4.2 instruction set required for Mojave and newer, you can get around this by replacing the telemetry plugin but not ideal. See [trashOS repo](https://github.com/khronokernel/trashOS) for more info - -* Wolfdale (Intel Core2 Duo series) - * E7xxx - * E8xxx -* Yorkfield (Intel Core2 Quad series) - * E8xxx - * E9xxx - -Then there's the CPUs that are missing the SSE4.1 and older instruction sets, with these support is stuck an OS X 10.11 El Capitan diff --git a/cpu/AMD.md b/cpu/AMD.md new file mode 100644 index 0000000..dee38f3 --- /dev/null +++ b/cpu/AMD.md @@ -0,0 +1,44 @@ +# AMD + +AMD CPUs can work in macOS but require patches to macOS. Due to the issues listed below, we strongly advise against using AMD CPUs. For people still willing to use an AMD CPU, the [OpenCore Install Guide]() does provide instructions for macOS High Sierra (10.13+) and newer. + +Compatible AMD CPUs: + +* Bulldozer (15h) + * AMD FX Series +* Jaguar (16h) +* Ryzen (17h + 19h) + * Ryzen 1000-5000 Series + * Athlon 2xxGE + * Threadripper + +::: tip High Thread Counts + +macOS supports a maximum of 64 threads. High-end Threadrippers can exceed this, and require Simultaneous Multi-Threading disabled. + +::: + +::: details AMD CPU Limitations in macOS + +* Adobe Support + * Most of Adobe's suite relies on Intel's Memfast instruction set, resulting in crashes with AMD CPUs + * You can disable functionality like RAW support to avoid the crashing: [Adobe Fixes](https://gist.github.com/naveenkrdy/26760ac5135deed6d0bb8902f6ceb6bd) +* 32-Bit support + * For those still relying on 32-Bit software in Mojave and below, note that the Vanilla patches do not support 32-bit instructions + * A work-around is to install a [custom kernel](https://files.amd-osx.com/?dir=Kernels), however you lose iMessage support and no support is provided for these kernels +* Cubase, REAPER, and other audio software crash when launched + * REAPER works *if* using the Clang build + * There is no fix for Cubase at the moment + * Waves plugins also cause crashes +* Virtual Machines relying on AppleHV do not work + * This includes VMWare, Parallels, Docker, Android Studio, etc + * VirtualBox is the sole exception as they have their own hypervisor + * VMware 10 and Parallels 13.1.0 do support their own hypervisor, however using such outdated VM software poses a large security threat +* Xcode's Apple Watch simulator is broken in Catalina + * Mojave works fine +* Microphone input requires VoodooHDA, which may have worse audio quality +* Audio drift issues on Ryzen APUs (G series Chips) + * USB DAC is only fix besides new CPU +* Delayed updates + +::: \ No newline at end of file diff --git a/cpu/CPU.md b/cpu/CPU.md new file mode 100644 index 0000000..feaa029 --- /dev/null +++ b/cpu/CPU.md @@ -0,0 +1,57 @@ +# CPUs + +Most Intel CPUs are supported and have instructions in the [OpenCore Install Guide](). Recent AMD CPUs work with additional macOS patches. The general requirements are listed below, with further details about AMD and Intel CPUs at the bottom of the page. + +::: details CPU Requirements + +Architecture Requirements: + +* Both 32-bit and 64-bit CPUs are supported + * 32-bit CPUs are supported from 10.4.1 to 10.6.8 + * 64-bit CPUs are supported in 10.4.1 and newer + +AVX Requirements: + +* AVX 2.0 is required for Ventura and newer + +SSE Requirements: + +* SSE3 is required for all Intel versions of OS X/macOS +* SSSE3 is required for all 64-bit versions of OS X/macOS + * For CPUs missing SSSE3 (i.e. certain 64-bit Pentiums), we recommend running 32-bit userspace (`i386-user32`) +* SSE4 is required for macOS 10.12 and newer +* SSE4.2 is required for macOS 10.14 and newer + * SSE4.1 CPUs are supported with [telemetrap.kext](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707) + * Newer AMD drivers also require SSE4.2 for Metal support. To resolve this, see here: [MouSSE: SSE4.2 emulation](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/) + +Firmware Requirements: + +* OS X 10.4.1 through 10.4.7 require EFI32 (i.e. IA32 (32-bit) version of OpenCore) + * OS X 10.4.8 through 10.7.5 support both EFI32 and EFI64 +* OS X 10.8 and newer require EFI64 (i.e. x64 (64-bit) version of OpenCore) +* OS X 10.7 through 10.9 require OpenPartitionDxe.efi to boot the Recovery partition + +Kernel Requirements: + +* OS X 10.4 and 10.5 require 32-bit kexts due to only supporting 32-bit kernelspace + * OS X 10.6 and 10.7 support both 32 and 64-bit kernelspace +* OS X 10.8 and newer require 64-bit kexts due to only supporting 64-bit kernelspace + * Run `lipo -archs` to know what architectures your kext supports (remember to run this on the binary itself and not the .kext bundle) + +Core/Thread Count Limits: + +* OS X 10.10 and below may not boot with more than 24 threads (evident by a `mp_cpus_call_wait() timeout` panic) +* OS X 10.11 and newer have a 64 thread limit +* `cpus=` boot argument can be used as a workaround, or disabling hyperthreading + +::: + +### [Intel Requirements](./Intel.md) +### [AMD Requirements](./AMD.md) + +::: tip Recommendations + +If buying a new CPU, the recommendation is to go with a modern Intel CPU (Coffee Lake or newer). + +::: + diff --git a/cpu/Intel.md b/cpu/Intel.md new file mode 100644 index 0000000..336e8eb --- /dev/null +++ b/cpu/Intel.md @@ -0,0 +1,39 @@ +# Intel CPU Support + +Many Intel CPUs work in most versions of macOS, especially as they can usually be spoofed to support older or newer versions of macOS. The table below assumes that a vanilla kernel with no modifications is being used. + +::: warning + +Apple has not shipped any devices with the below CPUs, making them more difficult to boot macOS on. + +* X79/LGA 2011 and X99/LGA 2011-V3 + * These systems commonly have issues booting and can be difficult to set up. Avoid using if you can. +* Atoms, Celerons, and Pentiums + * The iGPUs in these CPUs rarely work in macOS, meaning that a dedicated GPU is needed. + * These CPUs may need their CPUID value spoofed as well + +::: + +| CPU Generation | Initial support | Last supported version | Notes | CPUID | +| :--- | :--- | :--- | :--- | :--- | +| [Pentium 4](https://en.wikipedia.org/wiki/Pentium_4) | 10.4.1 | 10.5.8 | Only used in dev kits | 0x0F41 | +| [Yonah](https://en.wikipedia.org/wiki/Yonah_(microprocessor)) | 10.4.4 | 10.6.8 | 32-Bit | 0x0006E6 | +| [Conroe](https://en.wikipedia.org/wiki/Conroe_(microprocessor)), [Merom](https://en.wikipedia.org/wiki/Merom_(microprocessor)) | 10.4.7 | 10.11.6 | No SSE4 | 0x0006F2 | +| [Penryn](https://en.wikipedia.org/wiki/Penryn_(microarchitecture)) | 10.4.10 | 10.13.6 | No SSE4.2 | 0x010676 | +| [Nehalem](https://en.wikipedia.org/wiki/Nehalem_(microarchitecture)) | 10.5.6 | 12.5 | No AVX 2.0 | 0x0106A2 | +| [Lynnfield](https://en.wikipedia.org/wiki/Lynnfield_(microprocessor)), [Clarksfield](https://en.wikipedia.org/wiki/Clarksfield_(microprocessor)) | 10.6.3 | ^^ | No AVX 2.0 and no iGPU support in Mojave or newer (10.14+) | 0x0106E0 | +| [Westmere, Clarkdale, Arrandale](https://en.wikipedia.org/wiki/Westmere_(microarchitecture)) | 10.6.4 | ^^ | ^^ | 0x0206C0 | +| [Sandy Bridge](https://en.wikipedia.org/wiki/Sandy_Bridge) | 10.6.7 | ^^ | ^^ | 0x0206A0(M/H) | +| [Ivy Bridge](https://en.wikipedia.org/wiki/Ivy_Bridge_(microarchitecture)) | 10.7.3 | ^^ | No AVX 2.0 and no iGPU support in Monterey or newer (12+) | 0x0306A0(M/H/G) | +| [Ivy Bridge-E5](https://en.wikipedia.org/wiki/Ivy_Bridge_(microarchitecture)) | 10.9.2 | ^^ | No AVX 2.0 | 0x0306E0 | +| [Haswell](https://en.wikipedia.org/wiki/Haswell_(microarchitecture)) | 10.8.5 | Current | No iGPU support Ventura or newer (13+) | 0x0306C0(S) | +| [Broadwell](https://en.wikipedia.org/wiki/Broadwell_(microarchitecture)) | 10.10.0 | ^^ | ^^ | 0x0306D4(U/Y) | +| [Skylake](https://en.wikipedia.org/wiki/Skylake_(microarchitecture)) | 10.11.0 | ^^ | ^^ | 0x0506e3(H/S) 0x0406E3(U/Y) | +| [Kaby Lake](https://en.wikipedia.org/wiki/Kaby_Lake) | 10.12.4 | ^^ | N/A | 0x0906E9(H/S/G) 0x0806E9(U/Y) | +| [Coffee Lake](https://en.wikipedia.org/wiki/Coffee_Lake) | 10.12.6 | ^^ | ^^ | 0x0906EA(S/H/E) 0x0806EA(U)| +| [Amber](https://en.wikipedia.org/wiki/Kaby_Lake#List_of_8th_generation_Amber_Lake_Y_processors), [Whiskey](https://en.wikipedia.org/wiki/Whiskey_Lake_(microarchitecture)), [Comet Lake](https://en.wikipedia.org/wiki/Comet_Lake_(microprocessor)) | 10.14.1 | ^^ | ^^ | 0x0806E0(U/Y) | +| [Comet Lake](https://en.wikipedia.org/wiki/Comet_Lake_(microprocessor)) | 10.15.4 | ^^ | ^^ | 0x0906E0(S/H)| +| [Ice Lake](https://en.wikipedia.org/wiki/Ice_Lake_(microprocessor)) | ^^ | ^^ | ^^ | 0x0706E5(U) | +| [Rocket Lake](https://en.wikipedia.org/wiki/Rocket_Lake) | ^^ | ^^ | Requires Comet Lake CPUID, no iGPU Support | 0x0A0671 | +| [Tiger Lake](https://en.wikipedia.org/wiki/Tiger_Lake_(microprocessor)) | ^^ | ^^ | ^^ | 0x0806C0(U) | +| [Alder Lake](https://en.wikipedia.org/wiki/Alder_Lake) | ^^ | ^^ | ^^ | Unknown | \ No newline at end of file diff --git a/package.json b/package.json index 92a2182..c4b78cb 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "vuepress-theme-succinct": "^1.5.2" }, "dependencies": { + "markdown-it-multimd-table": "^4.2.0", "vuepress-theme-yuu": "^2.3.0" } }