Contribute
Register

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

The CNVW device will still appear in IORegistryExplorer, but its DeviceID, VendorID, and Class should be 0xFFFF. On the AORUS Xtreme (great motherboard, by the way), I think you may be restricted to using one of the long slots (the bottom one in particular).

The DeviceID, VendorID and Class are 0xFFFF, so the card is indeed disabled. I placed the Fenvi in the middle long slot (PCIEx8) instead of the bottom one (PCIEx4). It would have blocked the airflow of a fan when placed at the bottom.
 
I totally sympathize. It's frustrating to come this close and hit a seemingly insurmountable obstacle. I am quietly working on understanding why Thunderbolt Bus and Local Node are not working. What I've found so far (and the process is far from over):
  • Apple's firmware (BIOS) contains at least 4 EFI drivers that play an important role:
    • PciThunderbolt.efi
    • ThunderboltNhi.efi
    • ThunderboltXDomainDevice.efi
    • EfiDevicePathPropertiesDatabase.efi
  • On the Gigabyte we might only need the last 3.
  • I have extracted these EFI files from Apple's firmware image files and copied them into the CLOVER/drivers64UEFI folder.
  • Clover loads them during boot, but these drivers (according to UEFI Specification) will not actually initialize or configure the physical device until a third-party "connects" the driver to the device and asks it to perform certain operations.
  • On real Macs, we believe it's the firmware code itself that connects these drivers to their devices and invokes function calls on the drivers (i.e. invokes the protocols supported by the drivers).
  • However, some other EFI component can also do this; even Apple's "boot.efi" could in theory perform this role.
  • At the Clover Boot Menu, we can launch an EFI Shell (like a Terminal or command line prompt). This shell lets us look into the inner workings of the running EFI system.
    • An EFI system is like a full, but mini operating system. If you ever wondered what software displays the BIOS splash screen or runs the Setup GUI or displays the mouse cursor or accepts keyboard input or can fetch new BIOS updates from the network, the answer is: The Firmware. The firmware is a large collection of drivers and applications that support USB devices, SATA devices, network devices, keyboard/mouse, graphics, etc. The firmware is therefore a mini operating system.
    • When we finally boot into MacOS or Windows or Linux, nearly all of the EFI drivers and applications are terminated and removed from memory, and the real OS takes over and provides its own set of drivers.
    • But some EFI drivers remain in memory and provide runtime services to the OS. They belong to the class of "Runtime Drivers". I do not think that any part of Thunderbolt is governed by a runtime driver.
  • The EFI Shell, therefore, lets us peek into the EFI System that is currently loaded.
  • It shows that ThunderboltNhi.efi and ThunderboltXDomainDevice.efi and EfiDevicePathPropertiesDatabase.efi are all loaded by the Clover Boot Loader, but they are all in a "disconnected" state.
  • The EFI Shell allows us to list all current Devices and Drivers in the system using the "devices" and "dh" commands. These commands return the device handles and driver handles.
  • The EFI Shell also allows us to connect device handles to driver handles in order to activate a driver. But any attempt to manually connect these Apple drivers to Thunderbolt device handles results in a failure.
  • Why would we need to do this if the OS provides its own complete set of Thunderbolt drivers?
  • Because certain properties of Thunderbolt are only extracted by the EFI driver and then passed on to the host operating system through a custom protocol (i.e. interface or API) that the host's "boot.efi" uses to grab these properties. Boot.efi then passes the properties to Apple's IO PCI Platform drivers and then they appear in IOReg.
  • So the first thing we are trying to do is to see whether we can get this little piece of the puzzle to work.
  • Hence the investigation continues...

Hi Casey,

I wondered if you or anyone else had gotten any further with this? You explanation is fantastic and very educational! It seems that getting full thunderbolt functionality is indeed possible... I'm very excited to be able to use my Antelope Orion through Thunderbolt! ;)
 
There is a higher chance of success with the latest build of Clover (version 5xxx). This is not a guarantee, but it does seem to improve the odds. Please make a full system backup before updating Clover (you will thank me later).

I looked at the "System Report" you uploaded and found two issues with the config.plist. These issues are not likely to affect VirtualSMC, but they should be corrected:
  • Inject Intel checkbox should be disabled because we're using WhateverGreen to configure the iGPU.
  • One of the four USB port limit patches was not disabled.
Both of these fixes are incorporated in the attached file. Please remember to copy serial numbers back into both RtVariables and SMBIOS.


Thanks a lot @CaseySJ for you time, but corrected my config.plist as you suggested and already had Clover updated, but as soon I install VirtualSMC 1.07 get this error:

IMG_2528.jpg
 
Just wanted to say thank you very much!
First build, and apparently everything is working. I never would have achieve this by myself.
Big thank to you CaseySJ, and to the community!
 
Hi everyone, a quick update to anyone following my quest for full 5K resolution on LG Ultrafine 5K.

I went ahead and rebuilt the system on a mobo with a Thunderbolt header for GC-Alpine Ridge. Initially I still had very weird 4k to 5k scaling until I removed WhateverGreen. I already notice an incredible difference, see both outputs at Window (Active) 2560 x 2880 Window (Scaled) 5120 x 2880, attaching a AGDCDiagnose to double-check.

However, I'm not sure that Thunderbolt header connection is required for this to work. I would greatly appreciate if anyone with a Thunderbolt card disconnected from the Thunderbolt header and LG 5K would be willing to disable WhateverGreen and provide AGDCDiagnose output.

Before that I also removed Orinoco framebuffer setting from Clover which is commonly known as the best framebuffer to have for Apple-recommended RX580 (eg this support document, I specifically chose Sapphire Pulse 8GB because of this). But my GPU was a newer model which got assigned the AMD framebuffer. Switching back greatly improved the overall responsiveness of the UI.

Removing WhateverGreen meant I also had to add a AppleGraphicsDevicePolicy patch or flash the GPU's BIOS, otherwise I had black screen on boot. Clover Configurator actually has this patch built-in, this is a preferred method.
 

Attachments

  • AGDCDiagnose_final.txt
    93.8 KB · Views: 96
Last edited:
Hi everyone, a quick update to anyone following my quest for full 5K resolution on LG Ultrafine 5K.

I went ahead and rebuilt the system on a mobo with a Thunderbolt header for GC-Alpine Ridge. Initially I still had very weird 4k to 5k scaling until I removed WhateverGreen. I already notice an incredible difference, see both outputs at Window (Active) 2560 x 2880 Window (Scaled) 5120 x 2880, attaching a AGDCDiagnose to double-check.

However, I'm not sure that Thunderbolt header connection is required for this to work. I would greatly appreciate if anyone with a Thunderbolt card disconnected from the Thunderbolt header and LG 5K would be willing to disable WhateverGreen and provide AGDCDiagnose output.

Before that I also removed Orinoco framebuffer setting from Clover which is commonly known as the best framebuffer to have for Apple-recommended RX580 (eg this support document, I specifically chose Sapphire Pulse 8GB because of this). But my GPU was a newer model which got assigned the AMD framebuffer. Switching back greatly improved the overall responsiveness of the UI.

Removing WhateverGreen meant I also had to add a AppleGraphicsDevicePolicy patch or flash the GPU's BIOS, otherwise I had black screen on boot. Clover Configurator actually has this patch built-in, this is a preferred method.
I believe you are indeed getting full 5K via two DisplayPort streams! The log looks identical to that of the MacBook Pro:

Screen Shot 2019-08-25 at 9.21.54 AM.png Screen Shot 2019-08-25 at 9.22.08 AM.png

Some questions:
  • Which motherboard are you using?
  • Are you getting 5K with the Thunderbolt header connected (THB_C)?
  • Have you tried disconnecting the Thunderbolt header?
    • I know you're asking others to try it without the header, but have you personally attempted it?
  • With the THB_C header connected, do the FaceTime camera, speakers, microphone, and USB ports work?
  • You are specifically selecting the Orinoco frame buffer in Clover Configurator and you have Inject Intel check on?
 
Hi everyone, a quick update to anyone following my quest for full 5K resolution on LG Ultrafine 5K.

I went ahead and rebuilt the system on a mobo with a Thunderbolt header for GC-Alpine Ridge. Initially I still had very weird 4k to 5k scaling until I removed WhateverGreen. I already notice an incredible difference, see both outputs at Window (Active) 2560 x 2880 Window (Scaled) 5120 x 2880, attaching a AGDCDiagnose to double-check.

However, I'm not sure that Thunderbolt header connection is required for this to work. I would greatly appreciate if anyone with a Thunderbolt card disconnected from the Thunderbolt header and LG 5K would be willing to disable WhateverGreen and provide AGDCDiagnose output.

Before that I also removed Orinoco framebuffer setting from Clover which is commonly known as the best framebuffer to have for Apple-recommended RX580 (eg this support document, I specifically chose Sapphire Pulse 8GB because of this). But my GPU was a newer model which got assigned the AMD framebuffer. Switching back greatly improved the overall responsiveness of the UI.

Removing WhateverGreen meant I also had to add a AppleGraphicsDevicePolicy patch or flash the GPU's BIOS, otherwise I had black screen on boot. Clover Configurator actually has this patch built-in, this is a preferred method.
@kolyasapphire thanks so much for writing back. I'm on the same boat as you. But, since I don't have any hardware, yet, I'm just trying to find out people using this display and see what are their results. I already posted and contacted with a few users on other forums.

May I ask if you got 5k res without Whatevergreen, is there any other problems in the rig? Everything works? wake, sleep, cam, mic, speakers, etc.? Performance drop?

Also, have you tried disconnecting the TB3 header?
 
Just wanted to say thank you very much!
First build, and apparently everything ist working, I never would have achieve this by myself.
Big thank to you CaseySJ, and to the community!
Glad to hear it -- and welcome to the forum!
 
Anyone with the Fractal Design Define R6 USB-C? I'm using the SSDT in post 1, but I noticed the front panel audio jack has fluctuating audio volume / left and right channels (and is labeled as "Internal Speakers" in MacOS).

EDIT:

Setting the Built-in Output format to 2 ch 24-bit Integer 44.1 kHz seems to have helped the strange audio distortion. Maybe someone more knowledgeable will have more insight into this. It's still not quite right, like some kind of environmental / simulated effect is being applied to the audio signal.

EDIT 2:

That was probably a placebo effect. The audio distortion is noticeable when watching a lecture. When the lecturer speaks, the background is quiet, but when they pause speaking, the background noise is very amplified. This does not happen when playing through the builtin speakers on my Dell U3818DW monitor, audio is perfect of both displayport and rear 3.5mm audio jack, and when headphones are plugged into the rear panel, the audio source changes to the headphones. Audio is also perfect over displayport to the monitor, with headphones plugged into the monitor's 3.5mm output.
I also experience poor audio quality through the audio jack on the front of the case. If audio through the rear green jack is good, then:
  • One can use a longer cable, but have it connected to the green port in the rear.
  • One can use a USB audio adapter plugged into one of the front-panel USB ports.
 
Back
Top