Contribute
Register

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

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
13,463
Motherboard
Gigabyte Z490 Vision D
CPU
i5-10400
Graphics
RX 580
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
thanks for the reply.

Yes, USB SSDT is this one in the attach (directly from your OC 0.6.5's EFI) and, even if it's in compiled form, I can see that HS01, HS02, HS08, HS13 and HS14 are all missing for staying under the 15 ports' limit. That's why I've been asking you the complete .dsl file, I'd like to make different choices according to my BT and my case.
Those ports are very easy to add. Let me show you how to add HS02, and you can add the rest by yourself. First let's have a look at the first two ports:
Code:
                "ports",
                Package (0x1E)
                {
                    "HS03",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                           // ....
                        }
                    },

                    "HS04",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                           // ....
                        }
                    },
Here we can see that HS03 has a "UsbConnector" of 0x03, which means that the physical port is a Blue, Red, or Yellow USB 3.0 port even though HS03 itself is a USB 2.0 protocol.

Then we see that there's a Buffer of 4 bytes: 0x03, 0x00, 0x00, 0x00. The first byte 0x03 is the address of this port. Look through all of the ports and you'll see that this is just a serial number that increments by one.

Now look at the Package statement above, which is "Package (0x1E)". This means that inside those curly braces "{ }" there are 0x1E (decimal 30) entries. Each port entry consists of a name such as HS03 and a description block "Package (0x04)". The name is counted as 1 item. The description block (Package) is also counted as 1 item. So each USB port has two items.

Because there are 30 total items in the outermost "Package" statement (0x1E = 30), it means there are 15 ports defined (30 divided by 2 items per port). This is the 15 port limit.

With this little introduction, we can add HS02 easily, like this:
Code:
                    "HS02",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x02, 0x00, 0x00, 0x00                           // ....
                        }
                    },
Notice that UsbConnector is still 0x03 because this is also a physical USB 3.0 port even though HS02 is a USB 2.0 protocol. In the Buffer section its address is 0x02 because it comes immediately before HS03 (HS03 has an address of 0x03, so subtract 1).

We will therefore insert HS02 before HS03 as follows:
Code:
                "ports",
                Package (0x20)
                {
                    "HS02",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x02, 0x00, 0x00, 0x00                           // ....
                        }
                    },

                    "HS03",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                           // ....
                        }
                    },

                    "HS04",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                           // ....
                        }
                    },
But notice that we had to change Package (0x1E) to Package (0x20) because we added 2 more items to the package. But 0x20 is decimal 32. Divide 32 by 2 and we get 16 USB ports. We have just exceeded the port limit by 1, so we will need to delete one USB port. Then we can go back to Package (0x1E).

After making your own custom SSDT feel free to post it here if you'd like us to verify it. For HS08 and HS13 the "UsbConnector" should be 0x09 because those are USB Type C ports.
 
Joined
Aug 29, 2012
Messages
140
Motherboard
Gigabyte Designare Z390
CPU
i9-9900K
Graphics
Radeon VII
Mac
  1. MacBook Pro
  2. Mac Pro
Mobile Phone
  1. iOS
I have a 1080 Ti graphics card which still relies on the web-drivers from NVIDIA. Has anyone here had success using High Sierra as the OS for this hack as opposed to Mojave or Catalina?

I ran High Sierra on this build for a long, long time - due to the same reason as you, I was using an Nvidia 1080 at the time (and have since swapped that card out which is why I upgraded the OS). I didn't encounter any real issues (aside from the USB issue, which seems to have been resolved in Big Sur). That may or may not affect you. If it does, we did discover using an external USB card (instead of onboard) cured the issue. There are details somewhere in here, but if they aren't applicable, you probably won't have to worry about it.
 
Joined
Jan 4, 2015
Messages
342
Motherboard
Gigabyte Z390 Designare
CPU
i7 9700K
Graphics
RX 560
Mac
  1. MacBook Pro
Agreed. If Big Sur 11.3 supports RX 6000 series, then enabling the Resizable BAR could help gaming when booted into Windows. That a said, I'm curious what the downside is of disabling Above 4G Encoding?
Isn’t Above 4G Encoding needed for Thunderbolt?
 
Last edited:

Jamesbond007

Moderator
Joined
May 21, 2011
Messages
6,043
Motherboard
Z390 Designare
CPU
i7 9700KF
Graphics
RX 580
Mac
  1. Mac mini
Mobile Phone
  1. iOS
I have a 1080 Ti graphics card which still relies on the web-drivers from NVIDIA. Has anyone here had success using High Sierra as the OS for this hack as opposed to Mojave or Catalina?
My main system which uses the same motherboard, an i7 9700KF and a Sapphire RX 580 Pulse Lite is running MacOS Sierra 10.12.6 (Yes, even Sierra can work.) / High Sierra 10.13.6 / Mojave 10.14.6 / Catalina 10.15.7 with no problems. The motherboard uses the F7 BIOS.

I run VMware Fusion 11.0.3 in Sierra and 11.5.3 in High Sierra to run Windows virtual machines from Windows 98 SE to Windows 10 1809 LTSC.
 
Last edited:
Joined
Aug 1, 2012
Messages
452
Motherboard
Asus Z490 Prime A
CPU
i9-10900K
Graphics
VEGA VII
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
@CaseySJ

thanks! at the moment I've just made minor adjustments as I'ven't yet get the motherboard: I've had comment out HS05 as I'll probably not need it, and added HS14 (of course I have to drop the SSDT-DESIGNARE-Z390-NO-CNVW.aml too!) as I wanna try the Intel Wi-FI+BT to see how they work:

Code:
                   "HS10",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
                        "port",
                        Buffer (0x04)
                        {
                             0x0A, 0x00, 0x00, 0x00                         
                        }
                    },

                    "HS11",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0xFF, // <--- it should be 0x00 as it's an USB2 internal Header?
                        "port",
                        Buffer (0x04)
                        {
                             0x0B, 0x00, 0x00, 0x00                         
                        }
                    },

                    "HS12",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0xFF, // <--- it should be 0x00 as it's an USB2 internal Header?
                        "port",
                        Buffer (0x04)
                        {
                             0x0C, 0x00, 0x00, 0x00                         
                        }
                    },

                    // To enable Intel CNVi BT
                    "HS14",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0xFF, // this is to stop the BT device waking PC from sleep unnecessarily.
                        "port",
                        Buffer (0x04)
                        {
                             0x0E, 0x00, 0x00, 0x00       // hopefully the count is correct!                  
                        }
                    },

I put some comments to better understand and, regarding HS11 and HS12, shouldn't the connector type be 0 (decimal) because of its port's type? Then I've added the HS14 and I hope it's correct! What do you think?
 

Attachments

  • SSDT-UIAC-DESIGNARE-Z390-V7_MOD.aml
    846 bytes · Views: 4

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
13,463
Motherboard
Gigabyte Z490 Vision D
CPU
i5-10400
Graphics
RX 580
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
@CaseySJ

thanks! at the moment I've just made minor adjustments as I'ven't yet get the motherboard: I've had comment out HS05 as I'll probably not need it, and added HS14 (of course I have to drop the SSDT-DESIGNARE-Z390-NO-CNVW.aml too!) as I wanna try the Intel Wi-FI+BT to see how they work:

...

I put some comments to better understand and, regarding HS11 and HS12, shouldn't the connector type be 0 (decimal) because of its port's type? Then I've added the HS14 and I hope it's correct! What do you think?
If a USB port will connect non-ejectable USB 2.0 devices then we set UsbConnector to 0xFF (decimal 255). This designates the port as "internal" so that macOS does not try to eject those devices during sleep. If we mistakenly set UsbConnector to type 0, macOS will attempt to eject and/or put those devices to sleep, but will fail in doing so. Hence, the system will not sleep.

Examples of non-ejectable or internal devices:
  • All-in-one liquid coolers with USB 2 connectors. These devices are never ejected during system operation.
  • Intel CNVi Bluetooth connected to HS14 is also internal. It is not a device that the user ejects during system operation.
  • Broadcom WiFi/BT module connected to either HS11 or HS12. This module is also not meant to be ejected during system operation.
  • Smart power supplies and RGB lighting controllers with USB 2 connectors. Again, these devices are not meant to be ejected during system operation.
Some people will connect HS11 or HS12 to a USB 2 port on the front of the PC. In this case, we will need to set the port to type 0 because it will be used to connect ejectable devices.

Your SSDT looks good. Setting both HS11 and HS12 to type 0xFF means that they cannot be connected to USB ports on the front of the PC case. This is normally a good thing because modern PC cases only have USB 3 and USB-C ports.
 
Joined
Jan 29, 2019
Messages
8
Motherboard
Z390 Designare
CPU
9700K
Graphics
RTX 2080
Alas I am out of ideas, but feel free to go through the process of elimination. For example, remove the Nvidia GPU and see what happens.

If anyone has any suggestions for fixing this HEVC problem, please let us know.
I managed to get the Nvidia out, but this is still the result:
1611696844661.png


Is it the right connector though?
Maybe something is wrong in the framebuffer or...?
 
Joined
Mar 21, 2011
Messages
777
Motherboard
GA-Z390-Designare
CPU
i7-9700K
Graphics
RX 590
For those with Apple Thunderbolt displays: I have Googled to no avail. I want to connect a Firewire 400 device to the Firewire port on the rear of the display. I bought a 400 to 800 cable but the 800 end is large. Is there term for the type of Frewire connector on the ATD? My google searching only returns the name "Firewire 800 connector" for the ATD FW display connector.
Thanks.
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
13,463
Motherboard
Gigabyte Z490 Vision D
CPU
i5-10400
Graphics
RX 580
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Quadra
Mobile Phone
  1. iOS
I managed to get the Nvidia out, but this is still the result:


Is it the right connector though?
Maybe something is wrong in the framebuffer or...?
Have you tried changing shikigva to 256 in boot-args? This affects DRM and may also affect hardware decoding in various apps.

Also, what system name are you using? iMac19,1 or iMacPro1,1?
 
Joined
Jun 2, 2015
Messages
23
Motherboard
Gigabyte Designare Z390
CPU
i9-9900k
Graphics
Radeon RX 5700 XT
Mac
  1. MacBook Pro
  2. Mac mini
Classic Mac
  1. Power Mac
  2. PowerBook
Mobile Phone
  1. iOS
For those with Apple Thunderbolt displays: I have Googled to no avail. I want to connect a Firewire 400 device to the Firewire port on the rear of the display. I bought a 400 to 800 cable but the 800 end is large. Is there term for the type of Frewire connector on the ATD? My google searching only returns the name "Firewire 800 connector" for the ATD FW display connector.
Thanks.
I don't own an Apple Thunderbolt Display, but know a thing or two about Firewire (Oh how I miss thee). Firewire 400, IEEE 1934A, has two port variations. 4 pin port found on many DV camera and 6 pin port found on old external hard drives and the original iPod. Firewire 800, IEEE 1934B, is what is on the back of the ATD.

I'm thinking if the Firewire 400 cable you have is too big, it is a 6 pin port and you need the 4 pin variety. You might be able to find a 6 pin to 4 pin adapter, or just buy a Firewire 800 to 400 4pin cable.

I hope this helps!
 
Top