Contribute
Register

Ongoing Progress - Big Sur on Gigabyte B550 Vision D - AMD Ryzen 7 3700X - Thunderbolt 3

Status
Not open for further replies.

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
22,040
Motherboard
Asus ProArt Z690-Creator
CPU
i7-12700K
Graphics
RX 6800 XT
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
This thread chronicles on-going progress of installing macOS 11.0 Big Sur
on an AMD Ryzen Hackintosh based on
Gigabyte B550 Vision D and Ryzen 7 3700X processor.


IMG_2098.jpg

This post composed and posted from B550 Vision D AMD Ryzentosh

Why B550 Vision D?
The B550 Vision D (Amazon link; Gigabyte link) is Gigabyte's latest entry in the Vision series. It includes a Titan Ridge Thunderbolt 3 controller with two Thunderbolt/USB-C ports on the rear IO panel. In fact it has a fairly packed feature set that includes Intel AX200 WiFi 6/BT 5, dual Intel i211 Gbit Ethernet ports, Realtek ALC 1220VB audio codec, plenty of USB ports, two NVMe SSDs, PCIe 4.0 support, two temperature probes, POST code LED, and more. This board will support upcoming Zen 3 processors from AMD. However, there is no front-panel USB-C header.

Unlike X570 boards with active cooling fans on the chipset, B550 chipsets are passively cooled. With the right CPU cooler, a B550 system can be whisper quiet even under load.

05.png
main.jpg
Outline of Configuring OpenCore EFI for AMD Ryzen
There are a handful of notable differences when setting up an OpenCore EFI for Ryzentosh, as follows:

Kernel Patches:
  • A special set of Kernel patches must be applied, without which the macOS kernel will not boot.
  • Ryzen and Threadripper processors currently on the market are part of the 17H family.
  • Patches for the 17H family are available here.
CPU core definition on B550 Motherboard:
  • Every chipset (e.g. Z390, Z490, X570, B550) must define CPU cores in ACPI for configuration and power management purposes.
  • B550 chipsets define CPU cores in their own unique manner, which macOS does not recognize.
  • We use an SSDT created by the folks at Dortania called SSDT-CPUR.aml that converts B550's CPU core definitions into ACPI objects that macOS recognizes. File is attached.
  • Without this SSDT, macOS will not boot on B550.
USB port Mapping:
  • Whereas most Intel motherboards contain a single on-board USB controller, AMD motherboards contain multiple on-board USB controllers. Some boards have two controllers; others have three.
  • B550 Vision D contains two USB controllers: XHC0 and PTXH.
  • Port mapping on AMD platforms consists of three parts:
    • Part 1: Discover all usable ports by connecting a USB 2 and USB 3 device into each port.
    • Part 2: Create an SSDT to delete each existing USB controller device in DSDT and replace it with a new one. Two SSDTs were created, one for XHC0 mapped to XHC, the other for PTXH mapped to XHC2. Both files are attached.
    • Part 3: Create a USBPorts.kext. This is also attached.
  • Important Note:
    • The two internal USB 2.0 headers and one of the USB 2.0 ports on the rear IO panel are all connected to a single USB 2.0 hub at XHC2.PO10.
    • The Bluetooth circuit of the internal WiFi/BT module connects to one of the ports on this USB 2.0 hub. Normally we would disable this (Intel) Bluetooth module by excluding its USB port, but we cannot do that here because that will disable all of the USB 2.0 ports except XHC2.PO9 (on the rear IO panel).
    • For this reason, we choose to replace the Intel AX200 M.2 module with a Broadcom BCM94360NG that is natively supported in macOS.
Screen Shot 2020-09-27 at 9.36.10 AM.png
Screen Shot 2020-09-27 at 9.36.19 AM.png

USB Power and EC (Embedded Controller) Devices:
  • Although not specific to AMD, SSDT-EC-USBX-DESKTOP.aml is also required. This is attached below and credited also to Dortania.
NVMe SSDs:
  • Although the board has two M.2 slots for NVMe and SATA SSDs, macOS will treat those devices as external instead of internal. This happens on most (or all?) AMD motherboards.
  • Fortunately, this can be fixed easily by adding the Device Property built-in with a value of 0. The easiest way to do this is in OpenCore Configurator itself:
    Screen Shot 2020-09-19 at 7.32.35 AM.png
AMD Power Gadget:
  • Intel Power Gadget obvious does not work on an AMD processor! But fortunately we have three utilities developed by the GitHub member trulyspinachthat are extremely valuable to the AMD Ryzentosh community:
    • SMCAMDProcessor.kext : This is a Lilu plug-in that provides AMD-specific SMC information to VirtualSMC. How wonderful is that?
    • AMDRyzenCPUPowerManagement.kext : This provides CPU power management functionality to macOS. This means CPU clock speeds will dynamically rise and fall in relation to computing demand!
    • AMD Power Gadget : As if the above two weren't enough, the same GitHub package also includes AMD Power Gadget, which is a GUI similar to Intel Power Gadget.
  • AMD Power Gadget also provides experimental support for both monitoring and controlling motherboard Fans.
Screen Shot 2020-09-19 at 8.59.11 AM.png
Screen Shot 2020-09-19 at 8.59.25 AM.png
Screen Shot 2020-09-19 at 8.59.34 AM.png

Configuration Specific to B550 Vision D

Booter Quirks:
  • The following Booter Quirks must be enabled for this board:
    • AvoidRuntimeDefrag
    • EnableSafeModeSlide
    • ProvideCustomSlide
    • RebuildAppleMemoryMap
    • SyncRuntimePermissions
Screen Shot 2020-09-19 at 6.05.31 PM.png

Kernel Quirks:
  • The following Kernel Quirks must be set (there is some leeway here):
    • PanicNoKextDump
    • PowerTimeoutKernelPanic
    • ThirdPartyDrives
    • XhciPortLimit
    • DummyPowerManagement
Screen Shot 2020-09-19 at 6.08.49 PM.png


WiFi / Bluetooth:
  • The motherboard ships with an Intel AX200 WiFi 6 / Bluetooth 5 module. This is a standard M.2 card instead of the proprietary CNVi module!
  • Because Bluetooth connects to the USB 2.0 hub at XHC2.PO10, we cannot simply disable this port because that will eliminate all but one of the USB 2.0 ports on the system.
  • So we choose to replace the Intel AX200 module with a Broadcom BCM94360NG module.
  • I ordered this item from Amazon, which actually has the Fenvi branding.
51BSkluefXL._AC_.jpg Fenvi BCM94360NG-Sm.jpg
Steps to Replace Internal WiFi/BT Module:
  • Ensure system is powered off and PSU is turned off as well (or pull power cable from the wall).
  • Without removing the black plastic cover or the antenna connectors, gently unscrew the existing M.2 module from the motherboard.
  • The antenna cables are relatively short, so don't move the M.2 card far away.
  • With the M.2 card in your hand, gently slip off the black plastic that covers the two antenna connectors. Remember the orientation of the plastic cover because you'll need to reinstall it later.
  • Then gently pop off the two Mhf4 antenna wires from the M.2 card.
  • Set the Intel AX200 module aside.
  • Hold the Broadcom BCM94360NG in your hand and bring it close to the two antenna wires near the M.2 slot, but do not insert the Broadcom card into the M.2 slot at this time.
  • While holding the card in your hand, gently line up and connect each of the two tiny Mhf4 antennas.
  • Then carefully slip on the black plastic cover.
  • Now insert the Broadcom module into the M.2 slot and screw it in place. Do not over-tighten the screw.
If Bluetooth Does Not Work:
  • In some rare cases, Bluetooth may not work. Fortunately, this problem can be solved by resetting the Bluetooth module as follows:
  • Press SHIFT-Option while clicking the Bluetooth icon in the Menu Bar.
  • Then select Reset the Bluetooth module as shown:
    Screen Shot 2020-09-19 at 7.52.27 AM.png

Thunderbolt 3:
  • I've said it before and will say it again, a Hackintosh is not a good enough Mac if it does not have Thunderbolt!
  • The Gigabyte B550 Vision D contains on-board Intel-Certified Titan Ridge controller with two Thunderbolt 3/USB-C ports on the rear IO panel.
  • It comes with Thunderbolt firmware version 56 (NVM 56), which enables the following capabilities with a simple Thunderbolt SSDT:
    • Thunderbolt 3 hot-plug
    • Thunderbolt 3 connectivity on cold boot (but not on warm boot, unfortunately)
    • USB-C hot-plug
    • USB-C connectivity on cold boot and warm boot
  • For most users, it is not necessary to flash the Thunderbolt firmware.
  • For certain devices, however, it is necessary to flash the firmware. Flashing the firmware enables Thunderbolt Bus, which in turn allows certain devices to function. Please refer to these guides:
  • The same two SSDTs are necessary for either (a) original NVM 56 firmware or (b) flashed Designare Z390 NVM 33 firmware (both are attached):
    • SSDT-TB-HackinDROM-B550-VISION-D.aml
    • SSDT-DPTG.aml
  • A comparison of different firmware is shown in the table below.
Original Firmware
Flashed NVM 56/50 Firmware
Flashed NVM 33 (Designare)
Thunderbolt Bus
No
Yes
Yes
USB-C Connected Before Boot
Yes
Yes
Yes
USB-C Hot Plug
YES
No
YES
Thunderbolt Connected on WARM Boot
No
No
No
Thunderbolt Connected on COLD Boot
YES
No
YES
Thunderbolt Hot Plug
Yes
Yes
Yes

Screen Shot 2020-09-16 at 6.33.26 PM.png
Screen Shot 2020-09-16 at 6.32.24 PM.png
Ethernet Ports:
  • The B550 Vision D has two Intel i211 Ethernet ports.
  • Both are managed by a single SmallTreeIntel82576_mod.kext (attached).
Screen Shot 2020-09-19 at 9.46.51 AM.png
Sleep and Wake:
  • This is undoubtedly the most troublesome feature of macOS on AMD Ryzen systems. Many systems will either (a) not enter sleep, (b) not stay asleep, or (c) not wake from sleep.
  • If you have an iPhone nearby, turn off proximitywake as follows: sudo pmset -a proximitywake 0.
  • UPDATE 21-Sep-2020: Sleep and wake are working, but we have to disable USB 2.0 ports via SSDT/Kext.
  • On this particular system, my status is the following:
    • System will enter sleep.
    • System will stay asleep.
    • System will partially wake from sleep:
      • LEDs and fans will turn on
      • Monitor will remain disabled -- the "standby" LED on the monitor remains lit, which means there's no signal on the video cable
    • This is currently under investigation and if anyone has suggestions for dealing with this, please post.
    • UPDATE:
      • Using Screen Sharing from another Mac, I see that the B550 Vision D does not appear on the network after waking from sleep. Additionally, with the POST code LED showing 30 instead of AA, it means the computer is not transitioning from sleep state to wake state.
  • The following have been done thus far in pursuit of sleep/wake:
    • USB ports have been mapped.
    • XHC0 has been moved to XHC1.
    • I'm currently using SMBIOS iMacPro1,1 and AMD R9 380 GPU. I've created AGPMInjector.kext for this specific combination using @Pavo's AGPM Injector tool on GitHub.
    • This tool requires X86PlatformPlugin, which can be added using an SSDT modified for the B550 Vision D called SSDT-PLUG.aml. This is also attached.
    • However, the monitor does not wake from sleep. Moreover, the POST code on the LED reads 30, which is not mentioned in the manual:
Screen Shot 2020-09-19 at 9.18.29 AM.png
  • If a solution for wake is not found, a workaround is to configure System Parameters --> Energy Saver to turn off the display after a few minutes of inactivity, but Prevent computer from sleeping automatically when the display is off. This is shown below:
Screen Shot 2020-09-19 at 9.23.28 AM.png
XMP Memory Profile 1:
  • On my previous ASRock X570 Creator and ASRock X570 Taichi boards, I was never able to use XMP Memory Profile. The system would not POST or remain stable even with AMD-certified DIMM.​
  • On the Gigabyte B550 Vision D, however, XMP Memory Profile works perfectly!​
BIOS Configuration
  • The latest version of BIOS is F10, which I had to download and install. The board shipped with F1 or F2.
  • Very few BIOS parameters need to be configured:
    • Save & Exit → Load Optimized Defaults (always select this first)
    • Thunderbolt —> Enabled
    • Thunderbolt Security —> No Security
    • XMP Memory Profile 1 → Enable
    • SuperIOConfiguration → Serial Port → Disable
    • Above 4G Decoding → Enable

Objective Operational Experiences

Currently the following functions are working:
  • Shutdown, restart​
  • iCloud, App Store​
  • Handoff / Continuity, Unlock with Apple Watch, AirDrop​
  • FaceTime, Messages​
  • Sleep and wake​
  • WiFi / Bluetooth -- performance of the BCM94360NG is superb. The external antenna supplied in the B550 Vision D box is being used.​
  • Both Ethernet ports.​
  • Quick Look, Preview​
  • AppleTV​
  • Thunderbolt hot plug
  • USB-C hot plug
The following features have not yet been tested:
  • Netflix (I don't have a subscription)
  • Amazon Prime
  • Hulu
Not Working:
  • Wake from sleep (system goes to sleep, but monitor does not wake from sleep)
    • Tried with 1080p monitor over HDMI
    • Tried with 4K monitor over HDMI
    • Have not tried DisplayPort yet
    • Video card is AMD R9 380
  • Update 21-Sep-2020: Sleep is working, but at the expense of USB 2.0 ports.
  • Thunderbolt devices do not connect fully on a warm boot.
    • They connect fully on hot plug
    • They connect fully on cold boot
Warnings:
  • Do not try to boot macOS without a monitor connected. If you do, the boot process will freeze before the progress bar appears. It will then be necessary to connect a monitor and perform CMOS Reset. BIOS parameters will need to be configured.

Subjective Operational Experiences
  • The system feels robust, energetic, and every bit as capable as an Intel Hackintosh. However, Safari in Big Sur Public Beta 3 is buggy and has led to several system crashes that don't occur in Firefox and Chrome.
  • WiFi and Bluetooth performance is amazing with the Fenvi BCM94360NG M.2 card. Bluetooth devices connect lightning fast. It really helps to have an outboard antenna.
  • The system has been extremely stable under Big Sur Public Beta 3 except, as noted, with Safari.
  • I'm using the stock AMD CPU cooler that accompanied my Ryzen 7 3700X, but will replace that with a BeQuiet! Shadow Rock 3soon. I continue to be highly impressed by the Shadow Rock, which I originally used on the Z490 Vision D.
    • Shadow Rock 3 is also angled away from the DIMM slots, allowing even high profile DIMMs to be installed.
    • 26 Sep 2020: Shadow Rock 3 has been installed and the difference is night and day!
  • Because B550 boards do not require (noisy) chipset cooling fans, the system is magnitudes quieter than my earlier ASRock X570 Creator and X570 Taichi systems. The stock AMD cooler is okay, but does get noisy.
Shadow Rock 3.jpg
Miscellaneous
  • The only new components in this build are (a) Gigabyte B550 Vision D and (b) Silicon Power 512GB NVMe SSD.
  • Everything else was cannibalized from the ASRock X570 Creator system:
    • Power supply
    • Graphics card
    • System fans
    • Open air test bench chassis
    • 32GB OLOy DIMMs (2 x 16 GB) at 3600 MHz (yup, 3600 MHz and fully stable)

Benchmarks
  • GeekBench 5: AMD Ryzen 7 3700X
    • Single Core: 1280
    • Multi Core: 8391
  • Cinebench R20:
    • 4963
 

Attachments

  • SSDT-CPUR.aml
    1.4 KB · Views: 353
  • SSDT-B550-PTXH-TO-XHC2.aml
    546 bytes · Views: 425
  • SSDT-B550-XHC0-TO-XHC1.aml
    413 bytes · Views: 419
  • USBPorts.kext.zip
    2.2 KB · Views: 449
  • SSDT-EC-USBX-DESKTOP.aml
    6.4 KB · Views: 379
  • SSDT-TB-HackinDROM-B550-VISION-D.aml
    2.3 KB · Views: 426
  • SSDT-DTPG.aml
    800 bytes · Views: 392
  • SSDT-PLUG.aml
    113 bytes · Views: 400
  • SmallTreeIntel82576_mod.kext.zip
    72.2 KB · Views: 373
Last edited:
Discussion of Issue #1: Waking from Sleep

Wake from sleep is the main open issue. Update (thanks to @Inqnuam for the suggestion):
  • Using Screen Sharing from another Mac, I see that the B550 Vision D does not appear on the network after waking from sleep. Additionally, with the POST code LED showing 30 instead of AA, it means the computer is not transitioning from sleep state to wake state.
 
Last edited:
First draft EFI for this system. Based on OpenCore 0.6.1. Wake from sleep not working.

26 Sep 2020:
Just uploaded Version 3 of the EFI for B550 Vision D. This version fixes some issues with USB 2 companion ports related to the two on-board Thunderbolt USB-C ports. Additional details of this version:
  • All USB ports functional
  • WiFi and Bluetooth functional (when replacing Intel M.2 module with Broadcom BCM94360NG module)
  • Handoff, AirDrop, Continuity, Unlock with Apple Watch, etc. are all functional
  • Thunderbolt hot-plug and USB-C hot-plug
  • App Store, Music Store, iCloud, FaceTime, Messages also functional
  • Shutdown / restart functional
  • Everything is working except wake-from-sleep and warm-boot of Thunderbolt devices.
    • System will enter sleep, but not exit sleep.
Name of EFI to download: OC-061-GA-B550-VISION-D-V3.zip

Installation:

Step 1:
Please generate new values for the fields shown or copy-and-paste existing values:
Screen Shot 2020-09-26 at 12.20.53 PM.png

Step 2: Configure System Preferences --> Energy Saver as follows:
Screen Shot 2020-09-26 at 12.23.18 PM.png

Updates:
  • 30 Sep 2020: Changed SecureBootModel to Disabled for Big Sur Public Beta #4. Use the file:
    • EFI-061-GA-B550-VISION-D-V3B-NO-SLEEP.zip
 

Attachments

  • OC-061-GA-B550-VISION-D-V1.zip
    6.4 MB · Views: 495
  • EFI-061-GA-B550-VISION-D-V3-NO-SLEEP.zip
    6.4 MB · Views: 444
  • EFI-061-GA-B550-VISION-D-V3B-NO-SLEEP.zip
    6.4 MB · Views: 409
Last edited:
** Wake from Sleep is Working, but with a Catch **

Wake from sleep is now working, but USB 2.0 ports had to be disabled. Refer to this post for full details:

The OpenCore 0.6.1 EFI for this configuration is attached: EFI-061-GA-B550-VISION-D-V2.zip

In this EFI configuration, AMDRyzenCPUPowerManagement.kext and SMCAMDProcessor.kext have been disabled because they're a bit unstable at this time in Big Sur Public Beta. You're welcome to enable them and see what happens.

Updates:

  • 30 Sep 2020: Changed SecureBootModel to Disabled for Big Sur Public Beta #4. Use the file:
    • EFI-061-GA-B550-VISION-D-V2B.zip
 

Attachments

  • EFI-061-GA-B550-VISION-D-V2.zip
    6.4 MB · Views: 442
  • EFI-061-GA-B550-VISION-D-V2B.zip
    6.4 MB · Views: 352
Last edited:
AMD seems to be supporting Zen3 even on B450 and X470, so B550 is going to be supported a loooong time!
 
OMG !
You are incredible Casey !
It was exactly what I wanted to see because I'm drooling on this motherboard :p

Very good work !
 
Discussion of Issue #1: Waking from Sleep

Wake from sleep is the main open issue. Update (thanks to @Inqnuam for the suggestion):
  • Using Screen Sharing from another Mac, I see that the B550 Vision D does not appear on the network after waking from sleep. Additionally, with the POST code LED showing 30 instead of AA, it means the computer is not transitioning from sleep state to wake state.

If you have Windows installed and put that to sleep, when it wakes up the LED will probably be displaying 30 as well. It does on my Gigabyte AMD board. Windows, however, fully awakes from sleep whilst still displaying 30.
 
If you have Windows installed and put that to sleep, when it wakes up the LED will probably be displaying 30 as well. It does on my Gigabyte AMD board. Windows, however, fully awakes from sleep whilst still displaying 30.
That’s quite helpful to know!
 
I'm trying to sell my old Z170 UD5 TH with 6700K so I can use that cash to build a new AMD build ...I already have a nice setup with Z390 Designare with 9900K. So a new AMD build with B550 and Zen3 is going to be super sweet!

I'm looking forward for the AMD Zen 3 announcement to see whats in store for us!
 
Could you try sleep/wake with Thunderbolt controller off from BIOS?
 
Status
Not open for further replies.
Back
Top