Contribute
Register

[SUCCESS] Gigabyte Designare Z390 (Thunderbolt 3) + i7-9700K + AMD RX 580

Update on this update: my Vega fans are under control! Manually retrieving the PCI path with gfxutil and then manually updating my config.plist from the VegaTab_56.kext did the trick. I ended up with this:

Code:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
            <dict>
                <key>PP_DisableClockStretcher</key>
                <integer>1</integer>
                <key>PP_DisablePowerContainment</key>
                <integer>1</integer>
                <key>PP_DisableULV</key>
                <integer>1</integer>
                <key>PP_EnableUploadFirmware</key>
                <integer>0</integer>
                <key>PP_Falcon_QuickTransition_Enable</key>
                <integer>1</integer>
                <key>PP_GfxOffControl</key>
                <integer>0</integer>
                <key>PP_PhmSoftPowerPlayTable</key>
                <data>
                pwIIAQBcAO8GAAAOLAAAGwBIAAAAgKkDAPBJAgAyAAgA
                AAAAAAAAAAAAAAAAAAIBXABAAjcClACPAbQAHgF6AIwA
                rQEAAAAAYwIAAJAAmQJeATQBiAFoNgIAcQICAgAAAAAA
                AAgAAAAAAAAABQAHAAMABQAAAAAAAAABCCADhAO2A+gD
                GgRMBH4EsAQBAeIEAQGEAwAGYOoAAABAGQEAAdxKAQAC
                AHcBAAOQkQEABWywAQAHAQjQTAEAAACAAAAAAAAAHIMB
                AAEAAAAAAAAAAIi8AQACAAAAAAAAAAC07wEAAwAAAAAA
                AAAAgAACAAQAAAAAAAAAAMg/AgAFAAAAAAEAAADIWAIA
                BgAAAAABAAAAGG0CAAcAAAAAAQAAAAAEYOoAAABAGQEA
                ANxKAQAAkF8BAAAACChuAAAALMkAAAH4CwEAAoA4AQAD
                kF8BAAT0kQEABdCwAQAGwNQBAAcACGw5AAAAJF4AAAH8
                hQAAAqy8AAADNNAAAARobgEABQiXAQAG7KMBAAcAAWg8
                AQAAAQQ8QQAAAAAAUMMAAAAAAHARAQABAACAOAEAAgAA
                AQgAmIUAAEC1AABg6gAAUMMAAAGAuwAAYOoAAJQLAQBQ
                wwAAAnj/AABAGQEAtCcBAFDDAAADtCcBANxKAQDcSgEA
                UMMAAASAOAEAkF8BANxKAQBQwwAABdxKAQAAdwEAkF8B
                AFDDAAAGAHcBAAB3AQCQXwEAUMMAAAcAdwEAkJEBAAB3
                AQBQwwAAARgAAAAAAAAAC+QSkAFgCUsACgBUA5ABkAGQ
                AZABkAGQAZABAAAAAAACBDEHpQClAKUALAEAAFkAaQBK
                AEoAXwBzAHMAZABAAJCSl2CWAJBVAAAAAAAAAAAAAAAA
                AAAAAAACAtQwAAACEGDqAAACEA==
                </data>
                <key>PP_PhmUseDummyBackEnd</key>
                <integer>0</integer>
                <key>PP_ToolsLogSpaceSize</key>
                <integer>524288</integer>
            </dict>

I'm also controlling my NZXT Kraken X62 perfectly with liquidctl.

The Fenvi card is performing a little strangely - if I turn off WiFi manually, it won't turn back on until I shut down and unplug the machine for 15 seconds until the green light on the Fenvi turns off. Then boot back up and WiFi will return.
Glad to see the fans are finally under control! I would like to add your solution to the build guide under Contributed Files and Tips if you'll let me know the make and model of your Vega 56.

As for the Fenvi, once my card arrives I'll see how it behaves after toggling WiFi. There is no such problem with the Broadcom card I mentioned in the Components section.
 
Glad to see the fans are finally under control! I would like to add your solution to the build guide under Contributed Files and Tips if you'll let me know the make and model of your Vega 56.

As for the Fenvi, once my card arrives I'll see how it behaves after toggling WiFi. There is no such problem with the Broadcom card I mentioned in the Components section.

Sure, it's a Sapphire Radeon RX Vega 56 Pulse. I'm not sure why corpnewt's script wasn't populating my config.plist properly, but hey - it works now! :)

  1. Remove the VegaTab_56.kext file from the EFI drive, from System/Library/Extensions, and from Library/Extensions, if you have already placed it in any of these locations.
  2. Run Kext Utility to rebuild cache/perms.
  3. Download latest VGTab tool (attached).
  4. Download gfxutil (attached).
  5. In the directory that contains VGTab, run xattr VGTab_en.app to check Apple quarantine status. I don't know if the previously quarantined status of VGTab for me was causing problems, as I was able to output the .kext file successfully using the tool, but it's worth doing this and the next step anyway, just in case!
  6. Run sudo xattr -rd com.apple.quarantine VGTab_en.app to remove quarantine status, and then run xattr VGTab_en.app once more to verify.
  7. Open up VGTab tool and create a configuration for yourself. The tool saves a .kext to your desktop called VegaTab_XX.kext.
  8. In the directory that contains gfxutil, run ./gfxutil -f GFX0 to retrieve the path of the dGPU. Keep the terminal window open for now so you can copy the path to your config.plist in a moment.
  9. Right click on the VegaTab_XX.kext file that VGTab generated and click Show Package Contents. Open the Contents directory and open the info.plist file in a suitable plist editor.
  10. Scroll down to the bottom and copy everything in the <dict> tags immediately under the <key>aty_properties</key> tag.
  11. Open up your config.plist in a suitable editor and paste your dGPU path and info.plist content into the <key>Properties</key> section of your config.plist. Make sure you open and close your tags correctly. The result should look like this, but verify your own PCI path with gfxutil:
Code:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
            <dict>
                <key>PP_DisableClockStretcher</key>
                <integer>1</integer>
                <key>PP_DisablePowerContainment</key>
                <integer>1</integer>
                <key>PP_DisableULV</key>
                <integer>1</integer>
                <key>PP_EnableUploadFirmware</key>
                <integer>0</integer>
                <key>PP_Falcon_QuickTransition_Enable</key>
                <integer>1</integer>
                <key>PP_GfxOffControl</key>
                <integer>0</integer>
                <key>PP_PhmSoftPowerPlayTable</key>
                <data>
                pwIIAQBcAO8GAAAOLAAAGwBIAAAAgKkDAPBJAgAyAAgA
                AAAAAAAAAAAAAAAAAAIBXABAAjcClACPAbQAHgF6AIwA
                rQEAAAAAYwIAAJAAmQJeATQBiAFoNgIAcQICAgAAAAAA
                AAgAAAAAAAAABQAHAAMABQAAAAAAAAABCCADhAO2A+gD
                GgRMBH4EsAQBAeIEAQGEAwAGYOoAAABAGQEAAdxKAQAC
                AHcBAAOQkQEABWywAQAHAQjQTAEAAACAAAAAAAAAHIMB
                AAEAAAAAAAAAAIi8AQACAAAAAAAAAAC07wEAAwAAAAAA
                AAAAgAACAAQAAAAAAAAAAMg/AgAFAAAAAAEAAADIWAIA
                BgAAAAABAAAAGG0CAAcAAAAAAQAAAAAEYOoAAABAGQEA
                ANxKAQAAkF8BAAAACChuAAAALMkAAAH4CwEAAoA4AQAD
                kF8BAAT0kQEABdCwAQAGwNQBAAcACGw5AAAAJF4AAAH8
                hQAAAqy8AAADNNAAAARobgEABQiXAQAG7KMBAAcAAWg8
                AQAAAQQ8QQAAAAAAUMMAAAAAAHARAQABAACAOAEAAgAA
                AQgAmIUAAEC1AABg6gAAUMMAAAGAuwAAYOoAAJQLAQBQ
                wwAAAnj/AABAGQEAtCcBAFDDAAADtCcBANxKAQDcSgEA
                UMMAAASAOAEAkF8BANxKAQBQwwAABdxKAQAAdwEAkF8B
                AFDDAAAGAHcBAAB3AQCQXwEAUMMAAAcAdwEAkJEBAAB3
                AQBQwwAAARgAAAAAAAAAC+QSkAFgCUsACgBUA5ABkAGQ
                AZABkAGQAZABAAAAAAACBDEHpQClAKUALAEAAFkAaQBK
                AEoAXwBzAHMAZABAAJCSl2CWAJBVAAAAAAAAAAAAAAAA
                AAAAAAACAtQwAAACEGDqAAACEA==
                </data>
                <key>PP_PhmUseDummyBackEnd</key>
                <integer>0</integer>
                <key>PP_ToolsLogSpaceSize</key>
                <integer>524288</integer>
            </dict>
            <key>This is the beginning of the next device in the list</key>

And you're done. Entering this content in the config.plist manually means that you don't have to inject the VegaTab_XX.kext that may interfere with WhateverGreen, which you presumably are already using. In case it isn't clear, if you follow these steps - do not include the VegaTab_XX.kext file anywhere. Not in the EFI drive, not in S/L/E, not in L/E. Delete it from your desktop to avoid confusion!

If you want to run VGTab again and generate a new fan speed configuration, you only have to copy the long <data> entry from the info.plist file into your config.plist. The other values remain the same.
 

Attachments

  • gfxutil-1.76b.zip
    97.2 KB · Views: 64
  • VGTab_en_v0.4.zip
    417.1 KB · Views: 76
  • Do you see a USB 3.1 controller as a child node of Thunderbolt when using HWInfo64 on Windows? Or in Linux?
  • Regarding the Thunderbolt Network, are the MAC addresses identical between Windows and Linux?
Hi CaseySJ,

I've checked that the MAC addresses are DIFFERENT for Thunderbolt booted from Windows 10 and from Ubuntu Linux:

391065391066391069391065391066391069
 

Attachments

  • lspci.txt
    4.7 KB · Views: 124
  • ifconfig_Ubuntu.txt
    487 bytes · Views: 77
Sure, I'll work on this in the evening. Need a copy of your IO Reg file as follows:
  1. Run IORegistryExplorer
  2. Immediately choose File --> Save As...
here you go
 

Attachments

  • my iMac.ioreg
    18.1 MB · Views: 86
here you go
To disable the Nvidia graphics card from Slot 2, copy the attached SSDT to your CLOVER/ACPI/patched folder and reboot. This SSDT is based on RehabMan's guide:


It hasn't been tested so please give it a try with that understanding. This method assigns Device and Vendor ID 0x0000 to any GPU in Slot 2, which should prevent any Mac device driver from attaching to it, effectively making it invisible to macOS.
 

Attachments

  • SSDT-DiscreteSpoof.aml
    171 bytes · Views: 96
@mcljot -- thank you for the very well written guide in post 2144! I'll update the build guide shortly.
 
Hi CaseySJ,

I've checked that the MAC addresses are DIFFERENT for Thunderbolt booted from Windows 10 and from Ubuntu Linux:

View attachment 391065View attachment 391066View attachment 391069View attachment 391065View attachment 391066View attachment 391069
Hi Augusto,

Thank you for posting the screenshots! They show that my theory about hard-coded MAC addresses has been debunked! :) I did not expect the MAC addresses to change, but the fact that they did change might in fact be a good thing. It would imply that the OS is free to assign a MAC address, which in turn implies that Gigabyte's BIOS and SSDT/DSDT are not preventing Thunderbolt Networking.

So if MAC addresses are not hard-coded, each time you reboot Windows or reboot Linux, do you get the same MAC address for the Thunderbolt Networking port? Or do you see a different MAC address on every reboot?

On a real Mac we see the same MAC address every time, but that might be because macOS saves it in NVRAM or in /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist.

I have ordered a Thunderbolt 3 to Thunderbolt 2 adapter for my 2012 MacBook Air. This will allow me to connect my Hackintosh (TB3) to the MacBook Air (TB2) so I can observe the behavior for myself.
 
To disable the Nvidia graphics card from Slot 2, copy the attached SSDT to your CLOVER/ACPI/patched folder and reboot. This SSDT is based on RehabMan's guide:


It hasn't been tested so please give it a try with that understanding. This method assigns Device and Vendor ID 0x0000 to any GPU in Slot 2, which should prevent any Mac device driver from attaching to it, effectively making it invisible to macOS.
Thanks I will try it and get back to you
 
To disable the Nvidia graphics card from Slot 2, copy the attached SSDT to your CLOVER/ACPI/patched folder and reboot. This SSDT is based on RehabMan's guide:


It hasn't been tested so please give it a try with that understanding. This method assigns Device and Vendor ID 0x0000 to any GPU in Slot 2, which should prevent any Mac device driver from attaching to it, effectively making it invisible to macOS.

Cheers for that. I've got a RX 580 + GeForce 1080Ti, and was hoping to have them both installed so I could just use the 1080Ti for gaming in Windows. I haven't reintroduced the 1080Ti into my system yet and have been looking for this exact solution by making the second GPU invisible to macOS to prevent any instability.

We'll see how it goes.
 
Hi Augusto,

Thank you for posting the screenshots! They show that my theory about hard-coded MAC addresses has been debunked! :) I did not expect the MAC addresses to change, but the fact that they did change might in fact be a good thing. It would imply that the OS is free to assign a MAC address, which in turn implies that Gigabyte's BIOS and SSDT/DSDT are not preventing Thunderbolt Networking.

So if MAC addresses are not hard-coded, each time you reboot Windows or reboot Linux, do you get the same MAC address for the Thunderbolt Networking port? Or do you see a different MAC address on every reboot?

On a real Mac we see the same MAC address every time, but that might be because macOS saves it in NVRAM or in /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist.

I have ordered a Thunderbolt 3 to Thunderbolt 2 adapter for my 2012 MacBook Air. This will allow me to connect my Hackintosh (TB3) to the MacBook Air (TB2) so I can observe the behavior for myself.
Good morning CaseySJ,

Tested again this morning twice, with 5 minutes cold start between them and both are the SAME within their operating systems,i.e., on Windows 10 the Thunderbolt MAC address is the same between cold restarts, and for Ubuntu Linux the same happens...

I have two MacBookPro, one from 2014 (used on these tests) & another one from 2016, so I'll try testing tonight again with 2016 model, ok ?

Do you want me check anything from the MBP side ?

I also use the Thunderbolt 2 to thunderbolt adapter with both my MBPs.
 

Attachments

  • ifconfig_Ubunto_trial3.txt
    487 bytes · Views: 70
  • ifconfig_Ubuntu_trial2.txt
    486 bytes · Views: 81
  • Windows10 - ThunderboltIP_trial2.PNG
    Windows10 - ThunderboltIP_trial2.PNG
    16.1 KB · Views: 69
  • Windows10 - ThunderboltIP_trial3.PNG
    Windows10 - ThunderboltIP_trial3.PNG
    16.3 KB · Views: 63
Back
Top