Jump to content
Vlada.

[HOW TO] Modification of AMD FB + Clover injection

388 posts in this topic

Recommended Posts

This one working for me Asus 290X:

00080000040200000001030022050303

00040000040300000001010012040101

00040000040300000001020012040201

04000000040000000001040001020404

04000000040000000001050000000506

00040000040300000001060020010605

Share this post


Link to post
Share on other sites
Advertisement

Hi, 

 

I am on Sierra 10.12.2 and I have a Sapphire Radeon HD 6450. I did not really had to patch the kext, since my monitors work fine (VGA as well as DVI-D), but I wanted to understand the patching (I like to learn stuff  :D) and since I could only use AMDRadeonFramebuffer (AND thus my graphics card showed up as AMD Radeon 6xxx in 'about this Mac') I thought I'd give it a try. 

 

My Graphics card has 1 HDMI, 1 DVI-D and 1 VGA port. currently I am on the VGA port. Since the only framebuffer with a VGA port was "Ipomoea", I thought I'd give that one a shot. My system boots up fine with the original values of Ipomoea, but the system recognizes my monitor as a VGA projector then. So I changed the values of Ipomoea and it worked. My system boots, my monitor gets recognized and 'about this Mac' shows my graphics card. There's just one problem: My monitor won't turn to sleep anymore. Or actually, the screen goes 'black', but is lighten up and the monitor stays powered on. Did I miss something?

radeon_bios_decode:

ATOM BIOS Rom: 
	SubsystemVendorID: 0x174b SubsystemID: 0xe164
	IOBaseAddress: 0x0000
	Filename: 164P03N5.NI2
	BIOS Bootup Message: 
C26401 Junbonator DDR3 128Mx16                                              

PCI ID: 1002:6779
Connector at index 0
	Type [@offset 44578]: HDMI-A (11)
	Encoder [@offset 44582]: INTERNAL_UNIPHY1 (0x20)
	i2cid [@offset 44652]: 0x91, OSX senseid: 0x2
Connector at index 1
	Type [@offset 44588]: DVI-D (3)
	Encoder [@offset 44592]: INTERNAL_UNIPHY (0x1e)
	i2cid [@offset 44679]: 0x93, OSX senseid: 0x4
Connector at index 2
	Type [@offset 44598]: VGA (1)
	Encoder [@offset 44602]: INTERNAL_KLDSCP_DAC1 (0x15)
	i2cid [@offset 44706]: 0x90, OSX senseid: 0x1

redsock_bios_decoder:

164P03N5.NI2:

C26401 Junbonator DDR3 128Mx16                                              

Subsystem Vendor ID: 174b
       Subsystem ID: e164
Object Header Structure Size: 203
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: 9d
Display Path Table Offset: 12
Connector Object Id [12] which is [HDMI_TYPE_A]
	encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
Connector Object Id [4] which is [DVI_D]
	encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [5] which is [VGA]
	encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

which gives me: 00 10 03 01

 

Original:

00040000 04030000 00010000 00000000 12040105 00000000
00080000 04020000 00010000 00000000 11020403 00000000
10000000 10000000 00010000 00000000 00000002 00000000

Patched:

00040000 04030000 00010000 00000000 12040105 00000000
00080000 04020000 00010000 00000000 11020403 00000000
10000000 10000000 00010100 00000000 00100301 00000000

IOReg Aty:

ioreg | grep ATY
    | |   |   | +-o ATY,Ipomoea@0  <class AtiFbStub, id 0x100000292, registered, matched, active, busy 0 (410 ms), retain 8>
    | |   |   | +-o ATY,Ipomoea@1  <class AtiFbStub, id 0x100000293, registered, matched, active, busy 0 (1 ms), retain 8>
    | |   |   | +-o ATY,Ipomoea@2  <class AtiFbStub, id 0x100000294, registered, matched, active, busy 0 (1 ms), retain 8>

Thanks in advance

Share this post


Link to post
Share on other sites

thanks to all in advance.

 

I've installed 10.12.3 Sierra and I have an video card Sapphire Radeon HD 4350 with 1GB of VRAM.
When I run in the terminal "radeon_bios_decode" script and "redsock_bios_decoder" I wrote out:
 
No signature found AtomBios
 
what should I do?
when the system recognizes the video card but with only 5 MB of VRAM
 
help me because it is so long since I am trying to resolve the situation :wallbash:  :wallbash:  :wallbash:

post-1996232-0-12406600-1488218848_thumb.jpg

Share this post


Link to post
Share on other sites

do you have the same modification tutorial for sierra? 

 

Framebuffer <= 10.11:

 

e.g. Baladi AMD8000

 

00040000 04030000 00010300 12040303

00040000 04030000 00010100 11020101
00040000 04030000 00010200 21030202
00040000 04030000 00010400 22050404
00040000 04030000 00010500 10000505
00040000 04030000 00010600 20010606
 
Framebuffer 10.12:
 
00040000 04030000 00010300 00000000 12040303 00000000 
00040000 04030000 00010100 00000000 11020101 00000000 
00040000 04030000 00010200 00000000 21030202 00000000 
00040000 04030000 00010400 00000000 22050404 00000000 
00040000 04030000 00010500 00000000 10000505 00000000 
00040000 04030000 00010600 00000000 20010606 00000000

Share this post


Link to post
Share on other sites

Could you point me for correct patches for following?

radeon_bios_decode:

 

ATOM BIOS Rom:
    SubsystemVendorID: 0x1025 SubsystemID: 0x033f
    IOBaseAddress: 0x0000
    Filename: BR035223.009
    BIOS Bootup Message:
Acer JV50-CP Madison SG DDR3 64Mx16 550E/750M                              
PCI ID: 1002:68c1
Connector at index 0
    Type [@offset 45036]: LVDS (7)
    Encoder [@offset 45040]: INTERNAL_UNIPHY (0x1e)
    i2cid [@offset 45110]: 0x96, OSX senseid: 0x7
Connector at index 1
    Type [@offset 45046]: HDMI-A (11)
    Encoder [@offset 45050]: INTERNAL_UNIPHY1 (0x20)
    i2cid [@offset 45133]: 0x91, OSX senseid: 0x2
Connector at index 2
    Type [@offset 45056]: VGA (1)
    Encoder [@offset 45060]: INTERNAL_KLDSCP_DAC1 (0x15)
    i2cid [@offset 45160]: 0x90, OSX senseid: 0x1

 

redsock_bios_decoder:

 

Subsystem Vendor ID: 1025
       Subsystem ID: 33f
Object Header Structure Size: 199
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: 99
Display Path Table Offset: 12
Connector Object Id [14] which is [LVDS]
    encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit [0x10] [duallink 0x0] enc [0x0])] linkb: false

Connector Object Id [12] which is [HDMI_TYPE_A]
    encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
Connector Object Id [5] which is [VGA]
    encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

 

I calculated the following but I don't know how to patch

 

01 LDVS
10 00 01 07

02 HDMI

11 02 02 02

03 VGA

00 10 03 01

Share this post


Link to post
Share on other sites

Check the first post because everything is explained there!!!

 

Basically you need this:

 

02000000 40000000 08010000 / LVDS + (add your code construction)

10000000 10000000 00010000 / VGA + (add your code construction)
00040000 04030000 00010000 / DP + (add your code construction)
00020000 04020000 00010000 / DVI-SL + (add your code construction)
04000000 14020000 00010000 / DVI-DL + (add your code construction)
00080000 00020000 00010000 / HDMI 
+ (add your code construction)

 

When you finish with code construction, translate whole code in single line and add it in kexttopatch field in Clover Configurator.

 

[EDIT]

 

Sierra is using additional digits in the code, so you'll need to add those extra zero segments in front of your code construction and after it. Check example bellow:

 

00080000 00020000 00010000 00000000 + (add your code construction) 00000000

Share this post


Link to post
Share on other sites

Looking to update my Yosemite to sierra, currently working 5470M with sleep.
Used another guide to enable sleep but it was not detailed as this , and used only one ROM dump, but HDMI is not working,

 

i hope to fix it with this tutorial. Will post after trying this out.

Share this post


Link to post
Share on other sites

Hey guys,

 

I recently bought a HIS Radeon R9 390X which works OOB with El Capitan with one display connected to HDMI port, but when I boot with second display connected to DVI port I get black screen, the only way to get the second display to work is to wait until El Capitan is completely loaded then attach the second screen.

 

Here is more info:

 

002_67b0_20201787.rom 

ATOM BIOS Rom: 

SubsystemVendorID: 0x1787 SubsystemID: 0x2020

IOBaseAddress: 0x0000

Filename: T36G04.001  

BIOS Bootup Message: 

GRENADA XT PCIE 8G/512B GDDR5 2XDVI-D/HDMI/DP 1050E/1500M                   

 

PCI ID: 1002:67b0

Connector at index 0

Type [@offset 42596]: DisplayPort (10)

Encoder [@offset 42600]: INTERNAL_UNIPHY2 (0x21)

i2cid [@offset 42688]: 0x90, OSX senseid: 0x1

HotPlugID: 2

Connector at index 1

Type [@offset 42606]: HDMI-A (11)

Encoder [@offset 42610]: INTERNAL_UNIPHY2 (0x21)

i2cid [@offset 42715]: 0x92, OSX senseid: 0x3

HotPlugID: 3

Connector at index 2

Type [@offset 42616]: DVI-D (3)

Encoder [@offset 42620]: INTERNAL_UNIPHY1 (0x20)

i2cid [@offset 42742]: 0x93, OSX senseid: 0x4

HotPlugID: 1

Connector at index 3

Type [@offset 42626]: DVI-D (3)

Encoder [@offset 42630]: INTERNAL_UNIPHY (0x1e)

i2cid [@offset 42769]: 0x95, OSX senseid: 0x6

HotPlugID: 6

 

 

GRENADA XT PCIE 8G/512B GDDR5 2XDVI-D/HDMI/DP 1050E/1500M                   

 

Subsystem Vendor ID: 1787

       Subsystem ID: 2020

Object Header Structure Size: 271

Connector Object Table Offset: 3e

Router Object Table Offset: 0

Encoder Object Table Offset: ce

Display Path Table Offset: 12

Connector Object Id [19] which is [DISPLAY_PORT]

encoder obj id [0x21] which is [iNTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false

Connector Object Id [12] which is [HDMI_TYPE_A]

encoder obj id [0x21] which is [iNTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true

Connector Object Id [4] which is [DVI_D]

encoder obj id [0x20] which is [iNTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false

Connector Object Id [4] which is [DVI_D]

encoder obj id [0x1e] which is [iNTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false

 

I'll be appreciated if someone can help me out to get the second display to work.

 

Cheers!

Share this post


Link to post
Share on other sites

Hey guys,

I'll be appreciated if someone can help me out to get the second display to work.

 

Cheers!

Have you even tried to get it to work? Follow the guide and post your solution. Then someone might look over it and try to help you troubleshoot. Don't expect us to do all the work...

Share this post


Link to post
Share on other sites

of course I did, but It did't work at all, I'm not sure if it's the correct calculation that's why I asked you guys.

 

here it is:

00 04 00 00 04 03 00 00 00 01 02 01 12 04 01 01

04 00 00 00 14 02 00 00 00 01 03 00 11 02 03 04

04 00 00 00 14 02 00 00 00 01 03 00 11 00 04 06

00 08 00 00 00 02 00 00 00 01 04 00 22 05 02 03

 

The wired thing is my Sapphire 7790 is working fine with the framebuffer Baladi following settings:

 

ATI Connectors Data

000400000403000000010300120403030004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606

 

ATI Connectors Patch:

000800000400000000010300220503030004000004000000000101002103010200040000040000000001020012040201040000000400000000010400010204040400000004000000000105000000050600040000040000000001060020010605

and

ATI Connectors Controller is set to 8000.

Share this post


Link to post
Share on other sites
I figured it out.   :thumbsup_anim:

 

 

Thanks to @Vlada. and @Fl0r!an for their instructions.

 

Now I have Dual Display one connected to DisplayPort and the other one is Connected to HDMI.

 

Here’s what I did.

FB=Baladi

Inject ATI=True

Under kernel and Kext Patches

 

KextsToPatch

Name: AMD8000Controller

 

Find*[HEX]

000400000403000000010300120403030004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606

 

 

Replace*[HEX]

000800000400000000010300220503030004000004000000000106001204020100040000040000000001060012040201040000000400000000010600120204010400000004000000000105000000060600040000040000000001060012040201

 

 

There are only some minor setbacks:

 

1. About this Mac Shows AMD Radeon R9 290X (Which I can live with but I will find a way to fix it later)

2. All the ports are active except for the lower DVI port which I don’t use.

3. Triple display support not working!

 

Cheers!

Share this post


Link to post
Share on other sites

Hi

 

That was a wonderful tutorial for beginners like me to get into the thick of things. I am a newbie to OSX. And this is my first post on the problem I am facing.

I have installed Sierra 10.12.3 on my new PC (skyline i7 6700 Processor, 8 GB DDR4, Gigabyte H170M D3H, Asus AMD Radeon R 9270 / R7370 4GB,120 GB SSD).

I was able to install it without any hitch but the VRAM shows just 3 MB size (PIC1). I tried the same card on my Linux PC and checked the system properties and this is what I got ( also has HD7750 1GB card installed, PIC2).AMD PCI copy.txt

 

Reading your post I extracted the GPU ROM using which is Pitcairn  and did the necessary code rework ConnectorInfo.rtf

 

I had injected ATI and installed AMDRadeonX4000.kext which contains the Pitcairn personality using kext utility that you had recommended in an earlier post but when I run the anti-personality.pl I get see that the kext that is found in SLE is AMD2400Controller.kext and the personality is Iago. I tried EasyKextPro which I downloaded but the same result

 

Nothing seem to work try what I may. 

 

Is there a solution since I want all my ports to work in tandem with the original acceleration and VRAM

 

Thanks in advance 

 

Decode.rtf

post-2016302-0-96082000-1494856786_thumb.jpeg

post-2016302-0-07934200-1494857343_thumb.jpeg

Share this post


Link to post
Share on other sites

Hi

 

That was a wonderful tutorial for beginners like me to get into the thick of things. I am a newbie to OSX. And this is my first post on the problem I am facing.

I have installed Sierra 10.12.3 on my new PC (skyline i7 6700 Processor, 8 GB DDR4, Gigabyte H170M D3H, Asus AMD Radeon R 9270 / R7370 4GB,120 GB SSD).

I was able to install it without any hitch but the VRAM shows just 3 MB size (PIC1)attachicon.gifConfig.jpeg. I tried the same card on my Linux PC and checked the system properties and this is what I got ( also has HD7750 1GB card installed, PIC2).attachicon.gifAMD PCI copy.txt

 

Reading your post I extracted the GPU ROM using which is Pitcairn  and did the necessary code rework attachicon.gifConfig.jpeg attachicon.gifConnectorInfo.rtf

 

I had injected ATI and installed AMDRadeonX4000.kext which contains the Pitcairn personality using kext utility that you had recommended in an earlier post but when I run the anti-personality.pl I get see that the kext that is found in SLE is AMD2400Controller.kext and the personality is Iago. I tried EasyKextPro which I downloaded but the same result

 

Nothing seem to work try what I may. 

 

Is there a solution since I want all my ports to work in tandem with the original acceleration and VRAM

 

Thanks in advance 

 

 

For R9 270 you need to add additional patch, because it using device id that is not supported by Apple.

 

Open Clover Configurator and load your config.plist file. In KextsToPatch field you need to make a new entry, and then type next:

 

Name > AMD7000Controller

Find Hex > 0x68101002

Replace Hex > 0x68111002

Info Plist patch > Yes (check it)

 

That should do the trick, alongside with the FB patch that you can make by using this guide.

Share this post


Link to post
Share on other sites

Finally back to messing around with this stuff again.

 

Would anyone possibly know why my 270x isn't running at full performance? I'm on a clean install with only the Futomaki buffer loaded. I have dual monitors and everything working exceptionally well aside from this last thing.

 

For comparison, my novabench score is significantly lower than scores from others using the same card as me. 

 

My model is : https://www.newegg.com/Product/Product.aspx?Item=N82E16814202049

Share this post


Link to post
Share on other sites

Hi Vlada

 

Thanks for the reply

 

 

// For R9 270 you need to add additional patch, because it using device id that is not supported by Apple.

 

Open Clover Configurator and load your config.plist file. In KextsToPatch field you need to make a new entry, and then type next:

 

Name > AMD7000Controller

Find Hex > 0x68101002

Replace Hex > 0x68111002

Info Plist patch > Yes (check it)

 

That should do the trick, alongside with the FB patch that you can make by using this guide.//

 

In the meantime I had been busy finding the kext that drove my Video card. I found that the AMDRadeonX4000 drives this card. And I guess the perl extract command file that you provided did not extract the FB cos it doesn't seem to work on AMD*kexts. if you could extract the personalities in AMDRadeonX4000 it would be much safer for upgrades too I believe. Rather than patching with the personality that is not which the VBIOS is you could safely patch the same personality. I would be more compatible to the future upgrades too... Just a hunch 

 

Would be much appreciated if you extract the personality within the AMDRadeonX4000 Kext so it can be patched by users like me. :angel_not:  :P

 

I am attaching the rom file and the kext for you to take a look into.

 

Thanks in advance

Pitcairn.rom.zip

AMDRadeonX4000.kext.zip

Share this post


Link to post
Share on other sites

 

 

Name > AMD7000Controller

Find Hex > 0x68101002

Replace Hex > 0x68111002

Info Plist patch > Yes (check it)

 

 

No. This will not work because the kext is not loaded into memory.

You'd better use FakeD possibilities in Clover's config.plist

	<key>Devices</key>
	<dict>
		<key>FakeID</key>
		<dict>
			<key>ATI</key>
			<string>0x68101002</string>
		</dict>
	</dict>


Share this post


Link to post
Share on other sites

 

No. This will not work because the kext is not loaded into memory.

You'd better use FakeD possibilities in Clover's config.plist

	<key>Devices</key>
	<dict>
		<key>FakeID</key>
		<dict>
			<key>ATI</key>
			<string>0x68101002</string>
		</dict>
	</dict>


I did just that and I get a " no signal" message 

Share this post


Link to post
Share on other sites

No. This will not work because the kext is not loaded into memory.

You'd better use FakeD possibilities in Clover's config.plist

	<key>Devices</key>
	<dict>
		<key>FakeID</key>
		<dict>
			<key>ATI</key>
			<string>0x68101002</string>
		</dict>
	</dict>


 

 

Hmm... strange that fakeid doesn't work. Well, if my suggestion doesn't work and fake id doesn't work too, then you should manually make changes in the AMD7000Controller.kext.

 

Make a copy of AMD7000Controller.kext on desktop, then open the info.plist file inside the kext and find 0x68101002 hex then replace those numbers with 0x68111002 and reinstall the kext again.

 

That's not the perfect solution, but it'll do the job until you find the best one.

Share this post


Link to post
Share on other sites

I did just that and I get a " no signal" message 

FakeID will work in two cases:

1. If you set Inject->ATI=YES

2. If you set ACPI->DSDT->Fixes->FixDisplay_0100=YES 

Share this post


Link to post
Share on other sites

FakeID will work in two cases:

1. If you set Inject->ATI=YES

2. If you set ACPI->DSDT->Fixes->FixDisplay_0100=YES 

Thanks

will try that

 

And by the way Vlada have you found out why the ati-personality.pl command you have provided doesn't work on Sierra 10.12.3?? :no:

or better still, if its not too much trouble, could you extract the personality I send in an earlier post ??

Share this post


Link to post
Share on other sites

FakeID will work in two cases:

1. If you set Inject->ATI=YES

2. If you set ACPI->DSDT->Fixes->FixDisplay_0100=YES 

Doesn't work either ... :(  same result .. No Signal...  :hysterical:  :cry: .. I think it should be extracted from Pitcairn/ or Curacao Pro like linux reported, Vlada.. can you name a tool to extract personalities in Sierra?? or have you built one in Sierra?? I still believe it is in AMDRadeonX4000 rather than in AMD7000Controller...  :unsure:  :help:

And now for your info my system does not shut down even if is press shut down.. it just restarts... :D  ;)  :hysterical:

Pitcairn FB is found in AMDRadeonX4000 kext as the plist says. Any way to extract the connector count and info???

Pitcairn.tiff

Share this post


Link to post
Share on other sites

It's been a while since I was doing this, so I'm a bit rusty.

 

Well, I see now from my old AMD Radeon R9 patching tool that you need to make those changes on both kexts: AMD7000controller and AMDRadeonX4000. 

Share this post


Link to post
Share on other sites

It's been a while since I was doing this, so I'm a bit rusty.

 

Well, I see now from my old AMD Radeon R9 patching tool that you need to make those changes on both kexts: AMD7000controller and AMDRadeonX4000. 

Hi Vlada

 

Been a lil busy with my own work .. .so sorry for the late reply  :huh:

 

Thanks once again for your concern :yes:  :yes:

 

if you can extract the personalities in RadeonX4000 I could test it and send the results for every one else....

Share this post


Link to post
Share on other sites

if you can extract the personalities in RadeonX4000 I could test it and send the results for every one else....

 

 

I use this php script (I think Pavo made it so all credits goes to him) and it works fine on Sierra :

 

usage :

MacBook-Optimus:~ polyzargone$ php ~/Downloads/ATI/ATI_FrameBuffers.php

ATI_FrameBuffers.php.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By macinsane
      Mojave (and maybe High Sierra 10.13.6) on Asrock H370M-ITX/ac and getting RX560 to work with Intel graphics for full hardware acceleration
       
      Components used:
       
      Core i7 8700, UHD 630
      Gigabyte Radeon RX560
      Wifi/BT BCM943602BAED (DW1830) M.2
      Samsung PM961 NVMe SSD
       
      *This guide requires you to know the basics, meaning how to create a macOS install drive, installing and using Clover. There are great beginners guides out there! As always you need at least FakeSMC to boot, every other kext I’ve used is mentioned in the guide. For Mojave beta you need to be enlisted with your Apple-ID in Apple’s beta programme. What is described here may work for High Sierra 10.13.6, but I doubt it to be reliable. Even in early beta status (PB3) Mojave runs much more stable and smoother than High Sierra ever did for me.* 
       
      UEFI-BIOS settings:
       
      The board comes with BIOS version 1.20, there is an update 1.50 on the Asrock website. Usually it is good to stay updated but in this case I’ll recommend to stay on 1.20, because the 1.50 version seems to be unstable and I had restarts upon wake and things like that I couldn’t get fixed even with dsdt patches. So I just downgraded to 1.20 which runs fine.
      Settings needed: Just the usual. Disable fast boot and security boot (everything Windows-related), disable vt-d and enable XHCI hand-off. Activate multi monitor support and set VRAM to 64MB to activate the Intel IGPU. From what I’ve read most people recommend 128MB but I find the 64MB setting to be more reliable, getting artifacts with settings below or above 64MB. 128MB may be needed for 4k support, though. As for nVidia users: You may have to disable the Intel graphics. I’m using an AMD card and that is the brand to go these days since Apple decided to work with AMD
       
      Clover and power management:
       
      I recommend upgrading to 4586. It seems that Aptiomemoryfix is now working with H370 chipsets. I stayed on OsxAptiomemoryfix2 together with Emuvariable and it works. Feel free to experiment.  
      For power management with your CoffeeLake cpu you can just tick plugin type within Clover or compile a ssdt with Pikeralphas script. Mojave reports my cpu correctly as Core i7 since PB3, before that it is just “Unknown” but that is just cosmetic. 
       
      Graphics:
       
      This is the worst part. Getting the Radeon to run correctly alongside the Intel graphics took me weeks to figure out. 
       
      While RX570 and 580 run out of the box in most cases, the RX560 models often do not or at least not correctly. Apple even banned them from eGPU use. For my approach you cannot use “Whatevergreen.kext”, it simply didn’t work for me the way I needed it. Instead I added some fixes to my DSDT to set the correct number of ports used (DP, HDMI, DVI) and tell macOS to use the correct frambuffer. For those who are not into dsdt editing I added my DSDT, look at the “PEGP” section how it is done. This works for the RX560 using the “Acre” framebuffer, you can replace it with “Radeon”, that works too. Other cards need a different framebuffer and a different number of ports. You can do it!   BTW: Do not buy this Gigabytecard!!! It has some weird VBIOS on it, which caused me nightmares before I got the card to work! Buy a Sapphire card instead, they are used by Apple too.   
       
      To get full hardware acceleration for encoding videos you have to have the Intel graphics enabled alongside your AMD card. Problem is, you cannot have it running simply as a second graphics card but you’ll need to “hide” it, means telling macOS that it doesn’t have any display connectors. Otherwise you’ll have screen artifacts or in the worst case just constant crashes. This can be done by adding a certain ig-platform-id in Clover. If you use 59120003 the Intel graphics will not show up in system profiler but it is there. You can check it with iStats or HWMonitor or look if the Kaby Lake graphics kexts are loaded.  This ID makes the CoffeeLake UHD 630 to be recognized as a Kaby Lake gpu that has no display ports, is just used as a helper card.
       
      You’ll need it as a helper card for video encoding. That is what Intel graphics are used for in Macs, to support video encoding on the hardware side. You can check if hardware encoding is supposedly enabled by using MacX Video Converter Pro and VDADecoderChecker. If both say “yes” and “fully supported” this is a good start. But despite the widespread belief this doesn’t mean everything is set correctly! You now have to find out, how to get both cards working together. This is the moment where you have to choose between work and fun: Are you using FinalCut Pro for video editing or are you planning to use iTunes for entertainment? Up until this day (Mojave PB3, High Sierra 10.13.6) you cannot have both working correctly! I’ll show you how it is done both ways. 
       
      The best settings for Final Cut:
       
      Use the DSDT I’ve added with the respective AMD settings for the RX560 or modify them for your graphics card.
       
      Use SMBIOS for iMac17,1 (14,2 does work but picture over DP port is ugly, iMac 18,1/2/3 do not work) in Clover.
       
      Have AppleIntelKBLGraphicsFramebufferInjector_3e9x.kextin your Clover/kexts/Other folder.
       
      Until Mojave PB2 (may work on High Sierra 10.13.6):
       
      Fake-ID 3E928086 plus ig-platform-id 59120003
       
      These are the correct setting when installing Mojave (usually you will start with PB1 as the full installer).
       
      For Mojave PB3 and higher:
       
      Fake-ID 59128086 plus ig-platform-id 59120003
       
      After upgrading to PB3 you will get a black screen with 3E92 fake id because PB3 introduces Coffee Lake kexts and macOS will use these kexts instead but that doesn’t work with our ig-platform-id. So you can download the update to PB3 but before installing it you’ll need to change the fake-id to a usual Kaby Lake id. While this didn’t work in High Sierra and the first two Mojave betas (meaning you didn’t get full hardware encoding) it is now magically working with PB3. It is safe to remove AppleIntelKBLGraphicsFramebufferInjector_3e9x.kext after upgrading to PB3.
       
      The best setting for iTunes and why it is the worstfor Final Cut:
      Just do the same thing as for FinalCut, put Shiki.kext into your Clover/kexts/other folder and add -shikigva boot argument. You can use -shikigva=1 or 2 or 12 it will work either way. Now you can watch movies with iTunes, yay! But it has some sideeffects. You cannot use this setting when seriously editing with Final Cut.
       
      While this works by tricking macOS to use the IntelGraphics to play protected video content, it doesn’t seem to be the way real Macs are doing this. As soon as you open FinalCut you will notice (check this with iStats or HWMonitor) that the Intel graphics is not or only barely utilized, instead cpu usage skyrockets, indicating that slow software rendering is used instead of hardware encoding through Intel graphics. To make it worse the Radeon still “thinks” there is an Intel graphics helping so it does not run at highest potential. You may never notice it when using HD material with 24 or 25p because it still fast enough for that. But 50p or 4k material will most likely cause stuttering. I was astonished when I had stutters while previewing my 50p material, impossible to watch it. Thinking: What is wrong? I have a freaking i7 8700 plus RX560! Even my old hackbook with HD4000 is doing better!     
       
      Wifi and Bluetooth
       
      I swapped the Intel Wifi card that was coming with the mainboard plugged into the onboard M.2 port with a compatible Dell card. The DW1830 or BCM943602BAED. The wifi part runs out of the box, but if you want the card to appear as Apple AirportExtreme and set the country code according to your country you need to put FakePCIID_Broadcom_WiFi.kext into Clover/kexts/other and add some Clover kext-to-patches by PMHeart. 
       
      Name: com.apple.driver.AirPort.BrcmNIC
      Find: 75166644 3BA3581A 0000750C 4183FE04 7406
      Replace: 66906644 3BA3581A 00006690 4183FE04 6690
      Comment: AirPortBrcmNIC - PCIe in 10.13.x
       
      Name: com.apple.driver.AirPort.BrcmNIC
      Find: 4183FCFF 7435488D 55D0
      Replace: 66C70644 45EB348D 55D0    (*this is for DE country code, change for your need)
      Comment: BCM4352-Country Code 
       
      Bluetooth will work thanks to Rehabman’s kexts. You’ll need BrcmPatchRAM2.kext and BrcmFirmwareData.kext OR BrcmFirmwareRepo.kext. The Data.kext can be injected through Clover, just throw it into the kexts/other folder, the Repo.kext has to be installed in /Library/Extensions on your mac drive, it won’t work with Clover. I had issues with the Data.kext, Bluetooth was gone on every second or third reboot. The Repo.kext is more reliable, haven’t had any issues yet. I really don’t like the kexts to be installed in my system but I guess I have to live with it for the time being.
       
      Oh, handoff and continuity don’t work, doesn’t matter that system profiler shows them as enabled. At least it works in one way: the mac can handoff Safari pages to my iPhone, but not the other way around. Documents opened on my phone show up in the dock, but they are not loaded. 
      This issue is around since at least High Sierra and from what I’ve read Rehabman is not going to fix this, because he founds this features not worth it. I have to disagree, these are very convenient and valuable features if you work with desktop, laptop and tablet in different situations, I miss this capability very much!    
       
      Audio
       
      Audio works with Lilu.kext plus AppleALC.kext and you need to inject Layout ID=1 in Clover. For Mojave use the boot setting -lilubetaall to force the kexts to load. If you like to have DP or HDMI audio add a HDAU device to your dsdt (see mine for reference).
       
      Credits:
      Credits go to this great community! I hope I mentioned everyone in this guide whose insights made this hack possible. If I have forgotten someone please let me know!
      DSDT.aml.zip
    • By rio2
      How to make AppleHDAController load on Ryzen boards?
      Rename(/add) your audio controller to your DSDT/SSDT as HDEF Add a _DSM method to your HDEF device with layout id 1 Patch the AppleHDAController binary, because it has a static table containing the supported PCI Vendor/DeviceID pairs and it also checks the VendorID against known values. As an example I provide a dif file and patched 10.13.3 binary, but if you want to I can patch the binary for other versions.  
      After AppleHDAController loads to actually get sound working you need to patch AppleHDA.kext for the codec on your board. First I tried to use Lilu+AppleALC for this task, but for some reason it refused to work. (I might look into it later why) But for the time being it was easier to use toleda's cloverALC script for that, but to make it work I had to change(/remove) the specified location of the HDEF device from the script. And for some reason it also required me to mount the EFI partition manually.
       
      Change this:
      if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF@1") != 0 ]]; then Into this:
      if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF") != 0 ]]; then  
      AppleHDAController_Patched10.13.3
      AppleHDAController-10.13.3-AMD.bdiff
    • By Teress
      Hi, I tried during last 4 days almost everything but now I call for help. I have RX560 running on 10.13.4. Previously I was running it on 10.12.6 and had the same problem, but after waking from sleep my thiord display came to life, but it is not working anymore on 10.13.4. Without or with Lilu & Whatewergreen my system correctly recognize my gpu as RX560 but only 2 of 3 displays are displaying content, third display is black but recieving some signal. When I change cabling and connect only two, any combination of 2 displays is working. System profiller and system preferences are sayin I have 3 displays connected.

      Please can somebody help me to figure it out?
      Thanks a lot in advance. Tried to upload my ioreg but it is greater than 10MB allowed for me :(



    • By verymilan
      Hi, i recently set up High Sierra on my AMD computer with the help of the amdosx community (i actually used an installer just to confirm that something would work in the first place before i spend hours for nothing, i can and could have downloaded High Sierra the "legal" way).
      However the graphicscard is recognized properly, the 6gig are recognized and i have no artifacts and no screen tearing with the official nvidia webdriver,
      but unfortunally, dark colors have horizontal dark stripes in them and specific bright colors like on left bar of system windows such as settings do flicker like low fps.

      I only used the clover on the flash drive for now and i'd like if it's worth digging deeper of if i should just forget about it as it is a common nvidia problem on macOS.
      Would be amazing to know.
       
      Closer machine infos:
      * High Sierra (misses a recent minor patch as my network is veeeery slow and i got this nvidia issue anyway so i mainly jumped back to linux)
      * AMD fx8350
      * Asus Sabertooth 990fx Ref. 2.0
      * NVIDIA GeForce GTX 1060 6GB
       
    • By hackintosh_builder
      Hello, I am interested in building a Hackintosh using Threadripper. Could you please recommend good motherboard(s)? Is there one that is fully compatible with the Hackintosh?
×