Jump to content

AMD Ryzen High Sierra Install Guide.


67 posts in this topic

Recommended Posts

This is a basic guide to get AMD Ryzen systems working in High Sierra.    You can create a USB installer following the link below or use the Kernel link to manually edit a cloned or copied disk with High Sierra already installed.    

 

1).   To create a USB installer follow the link here and then add/replace the Ryzen pre and post install folders after installer is finished and follow the guide for post instal using the kernel_ext_install_only terminal command option.

 

http://www.insanelymac.com/forum/topic/325514-amd-high-sierra-kernel-release-and-testing/page-24?do=findComment&comment=2519914

 

 

 

2).   To use the disk edit method download the link materials and follow these basic instructions to add kernel and system kext.   First you will need a HDD or SSD with High Sierra installed.   it can be copied using carbon copy cloner or Super Duper, pulled form a working Hackintosh ( intel) or a fresh install.   You will need a way to connect your test disk to a working Mac or Hack like a USB to Sata or if you have a Sata connection available use it.    

 

Step 1).    Open system used to edit the disk and go to top tool bar and select "Finder" scroll to "Preferences" click it. Check the Hard Disk box, this will show all drives on the desktop along with EFI partitions during the edit.   Name your test disk something like Ryzen so that it doesn't get mistaken for your working system drive.    Be especially careful when loading clover to the drive check the Change Install Disk option and make sure you only load it to the Ryzen drive.        

 

Step 2).    Open the kernels folder from the link in downloads and drag it to the desktop.   Next open the risen disk now showing on desktop.   Click on the System folder, then Library folder.    Now scroll down to "Extensions" folder and click on side arrow to open.    Leave this folder open but move the window to one side of the screen or the other so you can access it during edits.   You will be going from the Kernels folder to Ryzen disk folder so its best to set them side by side for the edits (see pic).     Open the Kernels folder on desktop and open the Extensions folder.    Drag the "System Kext" to the "Extensions" folder on the Ryzen drive.   You will get "Authenticate" and a "replace" set of options do both.   If you don't get the "replace" option then hit cancel and repeat until you have the replace option before using password.    

 

Step 3).   Close the "Extensions" folder tab arrow and scroll down to Kernels folder and click on arrow tab.    Next go to Kernels folder on Desktop and drag the kernel to the Ryzen drive kernel folder.    You should get the "Authenticate" and "replace" prompts again.  

 

Step 4).    Close the Kernels folder and scroll to PrelinkedKernels folder and hit arrow tab.    Drag the prelnked kernel from the desktop kernel folder to the relinked kernels folder and replace it.   Follow the usual prompts.     Optional, you can remove the "immutable kernel" or leave it there.    If you cannot boot after several attempts you may need to remove nit to help load the new kernel. 

 

Step 5).   Now the post important part is to run Kext wizard or equivalent Kext repair tool.   We need to rebuild caches and repair permissions.    Make sure to select the risen disk as the target disk for this.    Kext wizard allows you to select a target disk other utilities may not.

 

Step 6).    Open Clover boot loader and load onto the Ryzen disk.     Be especially careful when loading clover to the drive check the Change Install Disk option and make sure you only load it to the Ryzen drive.       After clover is installed open the EFi icon on desktop (disk) and then open the Clover folder.    Replace the config.plist and kext folder Other.    Check your Drivers64Efi folder for the apfsEFi driver in case you need it.  Place it there if needed.

 

Ryzen High sierra Kernels and Kext.zip

post-1753549-0-99733700-1508705920_thumb.png

Thanks for the guide, I'll be building two Ryzen systems in the next few weeks, and hate to lose the macOS.

 

Tho I did read in the Ryzen Sierra thread that graphics performance was somewhat less than stellar.

Yes, for Nvidia it is perplexing, newer AMD cards also suffer a 10-15% performance drop. Older R9 200 series seem to perform up to par though.

Hi,

     I'm not sure if my question is related to what Shaneee means development...so I'l just post here, hoping I'm in the right sub forum. I came from the post "AMD High Sierra Kernel Release and Testing" and I found I got the same USB problem as 0xAE9's. I think I can provide my information and maybe you can help us to fix the problem.  :) [Actually my problem is Bluetooth with a BCM94352Z, but I think it's a USB problem]

 

     I must pologize for my English as I'm not a native speaker..hope you can uderstand what I'm talking about.

 

  The detailed configuration of my desktop PC is in my signature. I've fresh installed High Sierra days ago, and the USB ports are behaving weird. 

  I tried two different usb drivers, GenericUSBXHCI.kext and FackPCIID.kext with FackPCIID_XHCIMux.kext(I'm using the latest version downloaded from https://bitbucket.org/RehabMan/). 

  1. When using GenericUSBXHCI.kext, all usb ports are functioning well but there is no information in USB under System Information. And I'm also suffering from a really slow shutdown(I remember seeing codes like waitting for my keyboard and mouse but timed out).  I used CoreMediaIO.framework and SPUSBReporter.spreporter and finally there are information in USB under System Information now.
  2. ​​When using FackPCIID and FackPCIID_XHCIMux.kext, several USB ports are not aviable(I can still charge my phone using these ports, but the PC can't recognize it), but in USB under System Information there are information about the USB Tree, but only one. I did a little more, using AIDA64 in Windows 10 try to identify the ports. In AIDA64 there are two USB Controller, one is USB 3.1 and another USB 3.0. And the problem is with the USB 3.1 one cause every ports under that USB Bus is not working(my Bluetooth is on USB3.1 BUS port 10, that's how I know my problem is with the USB).
 

  I'm now using GenericUSBXHCI.kext and I can see the Bluetooth device in the USB tree, but I still can't get it working after trying many different methods...so I think maybe the problem is still with USB. Any idea what to do?

 

Thanks. :P

post-2251699-0-75763200-1508816831_thumb.png

post-2251699-0-36023400-1508816914_thumb.png

post-2251699-0-51442100-1508816929_thumb.png

Hi,

     I'm not sure if my question is related to what Shaneee means development...so I'l just post here, hoping I'm in the right sub forum. I came from the post "AMD High Sierra Kernel Release and Testing" and I found I got the same USB problem as 0xAE9's. I think I can provide my information and maybe you can help us to fix the problem.  :) [Actually my problem is Bluetooth with a BCM94352Z, but I think it's a USB problem]

 

     I must pologize for my English as I'm not a native speaker..hope you can uderstand what I'm talking about.

 

  The detailed configuration of my desktop PC is in my signature. I've fresh installed High Sierra days ago, and the USB ports are behaving weird. 

  I tried two different usb drivers, GenericUSBXHCI.kext and FackPCIID.kext with FackPCIID_XHCIMux.kext(I'm using the latest version downloaded from https://bitbucket.org/RehabMan/). 

 

  • When using GenericUSBXHCI.kext, all usb ports are functioning well but there is no information in USB under System Information. And I'm also suffering from a really slow shutdown(I remember seeing codes like waitting for my keyboard and mouse but timed out).  I used CoreMediaIO.framework and SPUSBReporter.spreporter and finally there are information in USB under System Information now.
  • ​​When using FackPCIID and FackPCIID_XHCIMux.kext, several USB ports are not aviable(I can still charge my phone using these ports, but the PC can't recognize it), but in USB under System Information there are information about the USB Tree, but only one. I did a little more, using AIDA64 in Windows 10 try to identify the ports. In AIDA64 there are two USB Controller, one is USB 3.1 and another USB 3.0. And the problem is with the USB 3.1 one cause every ports under that USB Bus is not working(my Bluetooth is on USB3.1 BUS port 10, that's how I know my problem is with the USB).
 

  I'm now using GenericUSBXHCI.kext and I can see the Bluetooth device in the USB tree, but I still can't get it working after trying many different methods...so I think maybe the problem is still with USB. Any idea what to do?

 

Thanks. :P

I think I have the same pcie WiFi Bluetooth module. On Intel systems in hackintosh it works great, but with Ryzen I can’t get the Bluetooth to work. It has a usb cable for attaching to the main board but I believe my mobo USB 2.0 ports drop out at log in. Does yours have a USB cable or is it just pulling off the mini pcie slot for WiFi bluetooth (itx)?

 

When using the video and files provided for the USB installer it removes several kexts that are beneficial to Ryzen systems. It is for AMD FX and A series builds which may need these removed. I edited the script to work for Ryzen but you need to replace the pre folder and post folders on the bootloader. Did you just follow the original video and guide? I think these essential kexts allow my USB bluetooth adapter to work. When I use the USB kexts I get the same results, nothing showing in about this Mac and the Bluetooth adapter doesn’t work. I also have my Logitech camera working which if using USB kexts it doesn’t.

 

If I can find a USB mainboard type cable connector to USB 2.0 adapter maybe plugging it into a port on the back will activate my pcie Bluetooth adapter.

I think I have the same pcie WiFi Bluetooth module. On Intel systems in hackintosh it works great, but with Ryzen I can’t get the Bluetooth to work. It has a usb cable for attaching to the main board but I believe my mobo USB 2.0 ports drop out at log in. Does yours have a USB cable or is it just pulling off the mini pcie slot for WiFi bluetooth (itx)?

 

When using the video and files provided for the USB installer it removes several kexts that are beneficial to Ryzen systems. It is for AMD FX and A series builds which may need these removed. I edited the script to work for Ryzen but you need to replace the pre folder and post folders on the bootloader. Did you just follow the original video and guide? I think these essential kexts allow my USB bluetooth adapter to work. When I use the USB kexts I get the same results, nothing showing in about this Mac and the Bluetooth adapter doesn’t work. I also have my Logitech camera working which if using USB kexts it doesn’t.

 

If I can find a USB mainboard type cable connector to USB 2.0 adapter maybe plugging it into a port on the back will activate my pcie Bluetooth adapter.

My Wi-Fi Bluetooth Dual Module is pluged into a NGFF(M.2) slot with no USB canble connected to it. There is only one PCIE slot for GPU on my ITX motherboard, so my only choice is to repalce the orignal Intel Wi-Fi-Bluetooth Dual Modual with a Broadcom one...

 

As for installationg, I'm using a method provided by another forum from my country. With the original DMG file from App Store and what they call "bootshell" for AMD, I just repalced the kernel and prelinkedkernel to install the system...I don't think I've removed anything else from the system.

 

From the forum in my country, I knew lots of them are running Hackintosh almost perfectly on Ryzen platform on ATX B350 and PCIE Wi-Fi Bluetooth Dual Module , but I'm the first one on ITX B350 and a NGFF(M.2).

 

I thought being able to see the Bluetooth device somehow indicates some hope to drive it finally. It seems there is still a long way to go...:(

My VPN is not working there days, and I can't have access to the Video for the time being. Can you post these kexts here so I can have a try?

 

Thanks

I'm having trouble doing a USB install on a Asus ROG B350-F motherboard, with Ryzen & 1700, the installer hangs on boot at FakeSMCKeys...Started.

 

I tried to replace the FakeSMC I downloaded form the link here( in the EFI folder ), with the one from HWsensors, but the installer hangs after USB Injection......started.

 

Not sure what I'm doing wrong?

 

I don't seem to have all the kext files from the Video?

Ok, the hang on boot was FixUSB_1000, just uncheck it, then you need to add GenericUSBXHCI.kext, if you are using a Asus ROG B350-F motherboard.

 

Still having a little trouble with a black screen when the GUI loads on my RX 580, I'm working on it.

Ok, the hang on boot was FixUSB_1000, just uncheck it, then you need to add GenericUSBXHCI.kext, if you are using a Asus ROG B350-F motherboard.

 

Still having a little trouble with a black screen when the GUI loads on my RX 580, I'm working on it.

Lilukext and Whatevergreenkext in Clover “kexts” folder “Other” for RX booting. Also, if uisng Clover configurator go to Systems Preferences and select “Inject kexts” = yes.

Lilukext and Whatevergreenkext in Clover “kexts” folder “Other” for RX booting. Also, if uisng Clover configurator go to Systems Preferences and select “Inject kexts” = yes.

 Ok, thanks, seems I also had to turn off CSM in my Bios.

 

Worked on it all night, with the RX 580, and some old Geforce cards, when what I needed to do was disable CSM.

 

The Geforce cards wouldn't get any GUI, they just feel to the text console when the GUI should load. Never figured that out, but I don't think I need any of those old cards.

I think I have the same pcie WiFi Bluetooth module. On Intel systems in hackintosh it works great, but with Ryzen I can’t get the Bluetooth to work. It has a usb cable for attaching to the main board but I believe my mobo USB 2.0 ports drop out at log in. Does yours have a USB cable or is it just pulling off the mini pcie slot for WiFi bluetooth (itx)?

 

When using the video and files provided for the USB installer it removes several kexts that are beneficial to Ryzen systems. It is for AMD FX and A series builds which may need these removed. I edited the script to work for Ryzen but you need to replace the pre folder and post folders on the bootloader. Did you just follow the original video and guide? I think these essential kexts allow my USB bluetooth adapter to work. When I use the USB kexts I get the same results, nothing showing in about this Mac and the Bluetooth adapter doesn’t work. I also have my Logitech camera working which if using USB kexts it doesn’t.

 

If I can find a USB mainboard type cable connector to USB 2.0 adapter maybe plugging it into a port on the back will activate my pcie Bluetooth adapter.

 

I'm having this problem too. My Broadcom card uses the USB2 header on the motherboard, the Wifi works, but the Bluetooth doesn't.

 

I'm using the GenericUSBXHCI.kext, I can plug my KB/M into the USB2 ports on the back, and they work.

 

No USB info in the ASP.

 

All the ports seem to work, USB2/USB3/USB3.1.

 

I used the Pre/Post install scripts, not sure why it's not working.

AMD doesn't seem to expose USB 2.0 on the PCI Bus on 300 Series Chipsets.

 

It seem we only see two Serial bus controller's:

 

USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset USB 3.1 xHCI Controller [1022:43bb] (rev 02)

 

USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller [1022:145c]

 

[0c] Serial bus controller

[03] USB controller

 

Program interfaces Id Name Note 00 UHCI   10 OHCI   20 EHCI   30 XHCI   80 Unspecified   fe USB Device

 

What we are missing is 0c032000, no EHCI, as 0x0c032000 is what Apple's EHCI kext file looks for, we have no USB 2.0 ports or drivers.

 

As for USB 3.1, the Apple XHCI driver loads, but fails to create ports for USB 3.1 devices.

 

I think a DSDT edit could fix USB 3.1, it's likely the ports are not properly laid out in ACPI. However, I don't have any clue what to do about USB 2.0.

 

In linux, the USB 2.0 ports work, and lsusb sees the 2.0 Hubs and devices, so whatever the linux usb kernel drivers do for AMD 300 chipsets seems to work, if we could figure out how, we should be able to fix this?

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 05ac:828d Apple, Inc. 
Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
Bus 001 Device 007: ID 413c:3016 Dell Computer Corp. Optical 5-Button Wheel Mouse
Bus 001 Device 008: ID 413c:2113 Dell Computer Corp. 
Bus 001 Device 002: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I think, somewhere is this code from the DTDT lies the problem: 

Device (PTXH)
                {
                    Name (_ADR, Zero)
                    Method (_PRW, 0, NotSerialized)
                    {
                        Return (GPRW (0x19, 0x04))
                    }

                    Device (RHUB)
                    {
                        Name (_ADR, Zero)
                        OperationRegion (PDID, PCI_Config, Zero, 0x04)
                        Field (PDID, AnyAcc, NoLock, Preserve)
                        {
                                    Offset (0x02), 
                            XDID,   16
                        }

                        Name (PT4, Package (0x16)
                        {
                            One, 
                            0x02, 
                            0x03, 
                            0x04, 
                            0x05, 
                            0x06, 
                            0x07, 
                            0x08, 
                            One, 
                            0x02, 
                            0x03, 
                            0x04, 
                            0x05, 
                            0x06, 
                            0x07, 
                            0x08, 
                            0x09, 
                            0x0A, 
                            0x0B, 
                            0x0C, 
                            0x0D, 
                            0x0E
                        })
                        Name (PT2, Package (0x16)
                        {
                            One, 
                            0x02, 
                            0x03, 
                            0x04, 
                            One, 
                            0x02, 
                            0x03, 
                            0x04, 
                            0x05, 
                            0x06, 
                            0x07, 
                            0x08, 
                            0x09, 
                            0x0A, 
                            0x0B, 
                            0x0C, 
                            0x0D, 
                            0x0E, 
                            0x0F, 
                            0x10, 
                            0x11, 
                            0x12
                        })
                        Name (PT1, Package (0x16)
                        {
                            One, 
                            0x02, 
                            0x03, 
                            One, 
                            0x02, 
                            0x03, 
                            0x04, 
                            0x05, 
                            0x06, 
                            0x07, 
                            0x08, 
                            0x09, 
                            0x0A, 
                            0x0B, 
                            0x0C, 
                            0x0D, 
                            0x0E, 
                            0x0F, 
                            0x10, 
                            0x11, 
                            0x12, 
                            0x13
                        })
                        Name (USBV, Package (0x16)
                        {
                            One, 
                            One, 
                            One, 
                            One, 
                            One, 
                            One, 
                            One, 
                            One, 
                            One, 
                            One, 
                            One, 
                            One, 
                            One, 
                            One, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        Name (USBP, Package (0x16) {})
                        Method (UPGP, 0, Serialized)
                        {
                            Store (0x16, Local0)
                            If (LEqual (XDID, 0x43B9))
                            {
                                While (Local0)
                                {
                                    Decrement (Local0)
                                    Store (DerefOf (Index (PT4, Local0)), Index (USBP, Local0))
                                }
                            }
                            Else
                            {
                                If (LEqual (XDID, 0x43BB))
                                {
                                    While (Local0)
                                    {
                                        Decrement (Local0)
                                        Store (DerefOf (Index (PT2, Local0)), Index (USBP, Local0))
                                    }
                                }
                                Else
                                {
                                    If (LEqual (XDID, 0x43BC))
                                    {
                                        While (Local0)
                                        {
                                            Decrement (Local0)
                                            Store (DerefOf (Index (PT1, Local0)), Index (USBP, Local0))
                                        }
                                    }
                                }
                            }
                        }

My mainboard 2.0 ports work but they list as 3.0 ports in About this Mac. If I use GenericUSBkext all ports work but no listing, and no hot plugging.

 Please let me know what AMD chipset is on your MB?

 

I have the B350, but I don't have a data sheet for it, all I can find is:

 

B350%20Chipset%20Blog%20Diagram_575px.pn

Hmmm.......

 

26251468219_c72f01a857_b.jpg

 

37996674692_15e2605cd4_b.jpg

 

As it seems, GenericUSBXHCI breaks Bluetooth support, so you must replace a few things from Yosemite, then if you want USB to show up in ASP, you need to copy SPUSBReporter.spreporter to /System/Library/SystemProfiler/.

 

Backup IOBluetoothFamily.kext and IOBluetoothHIDDriver.kext, and remove them from /S/L/E, then put the one's I provide in your Clover Extensions folder.

 

https://drive.google.com/open?id=0B9sU4v5iZl0pUDFUSElteW42SkU

 

 

 

 

 

Is this why my bluetooth is not detected?

 

EDIT: This is what I get with no GenericUSBXHCI and SPUSBReporter.spreporter

dbienHF.png

 

USB 3.1 ports on back don't work and neither does the front USB. Bluetooth still not detected.

Is this why my bluetooth is not detected?

 

EDIT: This is what I get with no GenericUSBXHCI and SPUSBReporter.spreporter

dbienHF.png

 

USB 3.1 ports on back don't work and neither does the front USB. Bluetooth still not detected.

 

Mine didn't work either, and I'm using an Apple branded bluetooth. It would show up as a Hub under USB, without GenXHCI, but not as a bluetooth device.

 

Applying the bluetooth files I linked form Yosemite and using GenXHCI fixed the issue.

I have the AX370 board, Gigabyte Gaming K5.

 Ok, I'll look into it, please sum up what is not working for you?

 

You can download IOJones and make a report with it, so I can see what's going on on you Buses.

 

Please upload the report somewhere I can get it, seems we can't do attachments in this area for some reason, or at least I can't.

This is as far as I got. All ports working but still no bluetooth.

 

xnEdAGa.png

 

Did you apply the kernel extensions I posted?

 Ok, I'll look into it, please sum up what is not working for you?

 

You can download IOJones and make a report with it, so I can see what's going on on you Buses.

 

Please upload the report somewhere I can get it, seems we can't do attachments in this area for some reason, or at least I can't.

 

Did you apply the kernel extensions I posted?

 

Try compressing the files first before posting.   I haven't tried it yet but want to soon, I'd like to get USB 2.9 working.

 

Basically, all my USB ports work except for two 2.0 ports on the front case, but the two 3.0 ports on the front case work.  Both of these are connected to the motherboard via cables.   All the rear Ports work I have 3 USB 3.1 type A ports, 4 USB 3.0 ports, a USB 3.1 type C ( not tested) and 2 USB 2.0 ports that work but report as USB 3.0 ( I don't like this and don't use them in case they get overheated or fried).    So my rear USB 2.0 ports work but in 3.0 mode.    I'm using no kexts or fixes except the external icons and port limit patches in Clover.    The USBIjectallkext was for testing but it has no effect for me either way.

 

If I use GenericUSBkext all my ports work but nothing shows and Hard Drives are not hot pluggable or they don't show up unless connected during boot process.   I also cannot get bluetooth or camera to work with this kext fix.    By using nothing I'm getting everything but USB 2.0 working correctly, and they are hot pluggable or you can plug things in and they show up for use.

 

My camera Logitech 920 microphone registers and works, the camera works, and bluetooth ( USB dongle) works as well.     I have a Broadcom WIFi bluetooth PCIe adapter but the bluetooth for it doesn't work.   It has a USB 2.0 cable that connects to the motherboard just like the front case 2.0 ports.     The Motherboard 2.0 sockets ( similar to Audio/ on/off switch connector) don't work after boot into High Sierra.    

 Did you apply the kernel extensions I posted?

 

IOBluetoothFamily.kext + IOBluetoothHIDDriver.kext installed in Other and SPUSBReporter.spreporter to /System/Library/SystemProfiler. Then re-installed GenericUSBXHCI in Other.

IOBluetoothFamily.kext + IOBluetoothHIDDriver.kext installed in Other and SPUSBReporter.spreporter to /System/Library/SystemProfiler. Then re-installed GenericUSBXHCI in Other.

 Not sure what the problem is with your bluetooth, if you can go to the clover shell and type: devices, and use the page up to scroll to find your bluetooth device and post a screenshot.

 

Also, an IOJones report with GUSB loaded, and one without would be helpful to figuring out why it's not working.

×
×
  • Create New...