Skip to content

mikigal/ryzen-hackintosh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenCore EFI for AMD Ryzen Hackintosh tests

Table of contents

Software Compatibility

  • Sonoma (14.x)
  • Ventura (13.x)
  • Monterey (12.x)
  • Big Sur (11.x)
  • Catalina (10.15.x)
  • Mojave (10.14.x)
  • High Sierra (10.13.x)

Used OpenCore version: 1.0.0

Hardware Compatibility

Central Processing Unit (CPU)

This EFI is compatible with all Ryzen and Athlon 2xxGE processors with macOS-compatible peripherals.

Support for 15h (FX series), 16h (A series) and Threadripper CPUs is not covered here.

Graphical Processing Unit (GPU)

Model Compatible?
Integrated No
Nvidia Partially 1
AMD Yes 2 3

1 Support for Nvidia GPUs was dropped in Monterey Beta 7, the only way to get it back is using OpenCore Legacy Patcher. Kepler series under correct PAT Patch. Others require WebDrivers which work only in High Sierra or are not supported. More details on Dortania.

2 Some R7 and R9 GPUs require FakeID. More details here

3 Lexa series GPUs are not supported. Older than 7000 series are supported up to High Sierra (10.13), their support is not covered here.

For AMD Navi 10 and 20 Series GPUs (RX 5000 and RX 6000) you need to add agdpmod=pikera to boot-args to fix the black screen issue.

PAT Patch made by Shaneee is used by default. It improves GPU performance but it has a few caveats. Audio passed by HDMI or DisplayPort won't work or will be unstable. It also may not work with Nvidia GPUs.

If you want to control monitor's brightness or HDMI/DP audio volume you need to use MonitorControl for that.

Laptops

All laptops with AMD CPUs are not supported due to integrated GPUs incompatbility.

Motherboards

Chipset Details
B550, A520 Requires SSDT-CPUR to boot. Details here.
B550, A520, B450, X470, X570 SetupVirtualMap has to be disabled.
Other Should be compatible out of the box.

SSDT-CPUR

Follow these steps to properly install SSDT-CPUR.

  • Download from here.
  • Install it to your OC/ACPI directory.
  • Add it to your configuration file. Use ProperTree for simplicity.

AM5 Socket

On AM5 motherboards with on-board Thunderbolt/USB4, macOS Ventura may not enumerate devices on the PCI bus properly when on-board WiFi and on-board Thunderbolt are both enabled. Patch CaseySJ | IOPCIIsHotplugPort | Fix PCI bus enumeration on AM5 | 13.0+ bypasses the problem. This patch is disabled by default. If you have described issue you have to enable this patch.

Disabling SetupVirtualMap

To disable SetupVirtualMap simply go to Booter -> Quirks -> SetupVirtualMap in your configuration file and disable it. (Should be false).

PCI Express

If you have the Above 4G Decoding option in your BIOS settings, enable it and remove the npci=0x2000 parameter from the boot-args (NVRAM section).

Resizable BAR

If you have the Resizable BAR option in your BIOS settings and your GPU supports it, you can enable it for better GPU performance. Then, set Booter -> Quirks -> ResizeAppleGpuBars to 0.

SecureBootModel

If you experience issues related to Secure Boot in the macOS installer, set Misc -> Security -> SecureBootModel to Disabled. After installation, you can set it to the value corresponding to the used SMBIOS. Look here for more information.

Audio

Follow these steps if your audio chipset is different than the one specified in the Specification.

  • Go here to find your audio chipset codec. (Under Codec)
    • If you can't find your codec on the list, then you probably have to use VoodooHDA. This repository does not cover or support the use of VoodooHDA.
  • Under Revisions and layouts you'll see bunch of numbers and layout ids.
  • Find your boot-args settings and look for alcid=11.
  • Try every layout id (except 0x values) one by one until it works.
    • Example: alcid=10 if layout 10

Caveats:

  • External (USB) audio cards should work out of the box.
  • If you have CPU with integrated GPU (even if you don't use it) your audio may be broken or unstable. You can try using SpeedKeeper but it's not guaranteed to fix your problem. The best solution is using external (USB) audio card.

Network

If you experience any issues with your network connection, then your best bet would be to install a different kext, preferably from here.

If you use High Sierra and Realtek 8111 Ethernet Card then you should use older version of kext.

If you have issues with network card on Monterey or newer try adding e1000=0 to boots-args.

SmallTree kext does not work on Monterey for now. You can try AppleIGB kext, it works on some systems. If it does not work you have to stay on Big Sur and wait for SmallTree's update.

WiFi and Bluetooth

Only Apple Airport and Fenvi cards work out of the box. Here you can list of all supported cards and needed kexts for them.

Rembember that AirDrop, Handoff, etc. works only on cards with Broadcom chip.

BIOS Settings

Option Status
SATA Mode AHCI
Above 4G Decoding Enabled 1
EHCI/XHCI Hand-off Enabled
SVM Enabled
CSM Disabled
Secure Boot Disabled
Serial Port Disabled
Parallel Port Disabled

1 If you have this option in BIOS you must also remove npci=0x2000 from boot-args in your configuration file.

Some of these options may not exist in your firmware, just try to match it as closely as possible.

Before booting macOS remember to update BIOS to the latest version.

Installation

Bootable USB

  1. Follow this guide to create your bootable USB.

  2. Clone this repository and copy "BOOT" & "OC" directories to your "EFI" directory on your bootable USB. The structure should look somewhat like this: EFI -> BOOT, OC.

Modifying kernel patches

  1. Modify Core Count patches to match your CPU's cores amount.
  • Find four algrey - Force cpuid_cores_per_package patches under Kernel -> Patch in your config.

  • Modify these patches for your CPU physical cores. Change first pair of 00 in Replace of these patches to Hex value from below table.

    • e. g. for Ryzen 7 1700 with 8 Cores three modified patches should look like:
      • B8 00 0000 0000 -> B8 08 0000 0000
      • BA 00 0000 0000 -> BA 08 0000 0000
      • BA 00 0000 0090 -> BA 08 0000 0090
      • BA 00 0000 00 -> BA 08 0000 00
Physical CPU cores Hex value
4 Cores 04
6 Cores 06
8 Cores 08
12 Cores 0C
16 Cores 10
24 Cores 18
32 Cores 20

SMBIOS

  1. Use this tool to generate your unique SMBIOS info.
  • SMBIOS has to be unique, you cannot use one present in this repository.

  • Run the tool and select Generate SMBIOS.

  • Select the appropriate model for your hardware using the table below.

  • Go to Apple Coverage and paste generated Serial. You need "Invalid Serial" or "Purchase Date not Validated" message. If you get something another you have to generate SMBIOS data and check it again.

  • Open config.plist and search for PlatformInfo -> Generic and replace these values:

    • SystemProductName - Model
    • MLB - Board Serial
    • SystemSerialNumber - Serial
    • SystemUUID - SmUUID
  • ROM entry should be set to your network card's MAC address, without separators (e. g. :, -).

GPU Series Model
AMD Navi Series iMacPro1,1 1
AMD Vega Series iMacPro1,1 1
AMD Polaris Series iMacPro1,1 1
AMD Radeon R5/R7/R9 MacPro6,1
AMD HD 8000 Series MacPro6,1
AMD HD 7000 Series MacPro6,1
Nvidia Kepler Series MacPro7,1 2

1 For Catalina and newer you can also use MacPro7,1 if you have some issues (e. g. unfixable DRMs).

2 For Catalina and older use iMac14,2.

Configuration