Contribute
Register

How to build your own iMac Pro [Successful Build/Extended Guide]

Status
Not open for further replies.

kgp

Retired
Joined
May 30, 2014
Messages
6,778
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
@joevt, @Rulebreaker01

I just obtained a more than weird and surprising result.

Within configuration #4 detailed in post #11555 above, the LG 5K2K continues working with 5K2K @59,990 Hz single display implementation when removing one of the DP cables connecting the GC-Titan Ridge with the two DP ports of my Vega. Only the additional LG 38UC99-W display connected via the DP1.4 port of the GCTitan Ridge with 3840x1600 @60Hz resolution is lost in this case.

This fact and the general LG 5K2K incompatibility with the GC-Alpine Ridge suggests that the LG5K2K does not use a standard DisplayPort1.2 Dual Link SST!

Two DP cables between GC-Titan Ridge and Vega:

Screenshot 2018-12-01 at 09.28.06.png


One DP cable between GC-Titan Ridge and Vega:

Screenshot 2018-12-01 at 09.28.52.png


The LG 5K2K perfectly works also standalone connected via the TB3 port of the GC-Titan Ridge with my custom SwitchResX resolution profile and the second DP cable between the GC-Titan Ridge and Vega removed.

IMG_2701.jpg

IMG_2705.jpg

IMG_2706.jpg

IMG_2707.jpg

Screenshot 2018-12-01 at 10.09.32.png


Screenshot 2018-12-01 at 10.10.33.png


Screenshot 2018-12-01 at 10.11.55.png


including TB Display HotPlug

Screenshot 2018-12-01 at 10.15.04.png


Screenshot 2018-12-01 at 10.16.22.png


I use SSDT-X299-TB3HP.aml, SSDT-X299-Vega64.aml and the actual Whatevergreen and Lilu kext distribution.
 
Last edited:
Joined
Apr 5, 2016
Messages
949
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
  1. iMac
  2. MacBook
  3. MacBook Air
  4. MacBook Pro
  5. Mac mini
  6. Mac Pro
Classic Mac
  1. Apple
  2. LC
  3. Power Mac
Mobile Phone
  1. iOS
I can see the USB3.0 and USB2.0 controllers implemented under DSB1 (TB) in IOREG when connecting the LG 5K2K via one of the Thunderbolt3 (USB-C) ports of the Titan Ridge although no USB2.0 or USB3.0 cables are connected to the monitor at present.
Yes, DSB1 (downstream bus 1) is the downstream bus for a Thunderbolt port of your GC-TITAN RIDGE. DSB2 contains the USB controller (XHC5) of your GC-TITAN RIDGE. DSB4 is the other Thunderbolt port of your GC-TITAN RIDGE which has nothing connected to it. DSB0 contains the Thunderbolt NHI.

UPS0 is the Titan Ridge controller of the LG5K2K. pci-bridge@2 is a downstream bus of that controller and contains the Titan Ridge USB controller (pci8086,15ec).

Both pci8086,15ec (your display's Titan Ridge) and XHC5 (your GC-TITAN RIDGE) contain two USB ports (one per Thunderbolt port).

There's a four port hub connected to the pci8086,15ec (your display's Titan Ridge). The display has a USB device connected to the fourth port of the hub for the controls of the display (such as brightness control). Two of the hub ports are probably for the two USB-A connectors on the back of the LG display. The remaining port is unused? Seems like a waste of a port. Maybe it's used in a non Thunderbolt configuration for something.

You should test the ports of the LG5K2K with a USB 2.0 device (like a mouse) and a USB 3.0 device (like a flash drive). Compare what happens when you change the USB Upstream option in the display's menu.

See what happens when you set the USB Upstream to USB-B (have a cable connected from your computer to the USB-B input of the display). In this case, I would expect the four port hub connected to pci8086,15ec to be moved to the USB port of your computer (but I'm not sure if this is true in the case of a Thunderbolt connection). Only the USB 2.0 hub would move - the USB 3.0 hub will not exist.

See what happens when you try to use USB-C instead of Thunderbolt after you get the cable. If the USB upstream option is set to USB-C, then I expect that 5K2K 60Hz over USB-C is impossible because it will use USB 3.0 - the USB 2.0 hub and USB 3.0 hub will move to your computer's USB port. If the USB Upstream option is set to USB-B, then 5K2K 60Hz should be possible (if the display is smart enough to allow it) and only the USB 2.0 hub will exist and be moved to your computer's USB port.

Will this approach would be Windows only..
Right, moninfo.exe is Windows only, but the DDC programs for controlling brightness exist for macOS and Windows. They are open source and probably can be modified to obtain EDID and DisplayID if they don't already.

#3 and #4 implement MY custom SwitchResX resolution with 5120 × 2160 @ 59.990Hz.
But I don't think SwitchResX created or modified those EDIDs. In other words they would be that way with or without your custom resolution. What the custom resolution does is tell the macOS that there is a timing that it should consider which is useful in this case where it was ignored for some reason, since it did exist in the EDID. Well, you can see what SwitchResX does when you compare the override file it created with the original.

Within configuration #4 detailed in post #11555 above, the LG 5K2K continues working with 5K2K @59,990 Hz single display implementation when removing one of the DP cables connecting the GC-Titan Ridge with the two DP ports of my Vega. Only the additional LG 38UC99-W display connected via the DP1.4 port of the GCTitan Ridge with 3860x1600 @60Hz resolution is lost in this case.

This fact and the general LG 5K2K incompatibility with the GC-Alpine Ridge suggests that the LG5K2K does not use a standard DisplayPort1.2 Dual Link SST!
SwitchResX still reports 700+ MHz pixel clock? Very interesting. If that's true, then why does Apple supply an mtdd file? Maybe the mtdd file is only for Alpine Ridge based Macs and might be the cause of the problem (or part of the problem) with the Titan Ridge MacBook Pro 2018. Well, if Apple supported DisplayID properly, and the display had proper Display ID information, then the mtdd files wouldn't be necessary. Maybe try moving that file to a different location.

SwitchResX results for an Alpine Ridge Mac would be useful.

You can make the LG 38UC99-W display work with the LG5K2K by connecting the LG38 directly to the Vega?
 

kgp

Retired
Joined
May 30, 2014
Messages
6,778
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
Yes, DSB1 (downstream bus 1) is the downstream bus for a Thunderbolt port of your GC-TITAN RIDGE. DSB2 contains the USB controller (XHC5) of your GC-TITAN RIDGE. DSB4 is the other Thunderbolt port of your GC-TITAN RIDGE which has nothing connected to it. DSB0 contains the Thunderbolt NHI.

UPS0 is the Titan Ridge controller of the LG5K2K. pci-bridge@2 is a downstream bus of that controller and contains the Titan Ridge USB controller (pci8086,15ec).

Both pci8086,15ec (your display's Titan Ridge) and XHC5 (your GC-TITAN RIDGE) contain two USB ports (one per Thunderbolt port).

There's a four port hub connected to the pci8086,15ec (your display's Titan Ridge). The display has a USB device connected to the fourth port of the hub for the controls of the display (such as brightness control). Two of the hub ports are probably for the two USB-A connectors on the back of the LG display. The remaining port is unused? Seems like a waste of a port. Maybe it's used in a non Thunderbolt configuration for something.

You should test the ports of the LG5K2K with a USB 2.0 device (like a mouse) and a USB 3.0 device (like a flash drive). Compare what happens when you change the USB Upstream option in the display's menu.

I know the meaning of UPSB, DSB1, DSB2, DSB4, NHI0 and XHC5 as the devices are implemented such by means of my SST-X299-TB.aml ;)...

Well.. USB-C devices plugged to XHC5 of the GC-Titan Ridge work anyway.

But also USB2.0 and USB3.0 devices work flawless on the two back panel USB3.0 Type-A connectors of the LG 5K2K when the latter is connected to one of the TB3 ports of the GC-TiTan Ridge.


Screenshot 2018-12-01 at 12.55.30.png


USB Upstream is set to USB-C in the LG 5K2K settings.


See what happens when you set the USB Upstream to USB-B (have a cable connected from your computer to the USB-B input of the display). In this case, I would expect the four port hub connected to pci8086,15ec to be moved to the USB port of your computer (but I'm not sure if this is true in the case of a Thunderbolt connection). Only the USB 2.0 hub would move - the USB 3.0 hub will not exist.

I guess that's just obvious and does not require any testing.

See what happens when you try to use USB-C instead of Thunderbolt after you get the cable. If the USB upstream option is set to USB-C, then I expect that 5K2K 60Hz over USB-C is impossible because it will use USB 3.0 - the USB 2.0 hub and USB 3.0 hub will move to your computer's USB port. If the USB Upstream option is set to USB-B, then 5K2K 60Hz should be possible (if the display is smart enough to allow it) and only the USB 2.0 hub will exist and be moved to your computer's USB port.

That's some important information. I will try as soon I have the cable.


Right, moninfo.exe is Windows only, but the DDC programs for controlling brightness exist for macOS and Windows. They are open source and probably can be modified to obtain EDID and DisplayID if they don't already.

I could use moninfo.exe under Windows 10, but will you be able to use and apply the obtained information under macOS?


But I don't think SwitchResX created or modified those EDIDs. In other words they would be that way with or without your custom resolution. What the custom resolution does is tell the macOS that there is a timing that it should consider which is useful in this case where it was ignored for some reason, since it did exist in the EDID. Well, you can see what SwitchResX does when you compare the override file it created with the original.

I agree..

SwitchResX still reports 700+ MHz pixel clock? Very interesting. If that's true, then why does Apple supply an mtdd file? Maybe the mtdd file is only for Alpine Ridge based Macs and might be the cause of the problem (or part of the problem) with the Titan Ridge MacBook Pro 2018. Well, if Apple supported DisplayID properly, and the display had proper Display ID information, then the mtdd files wouldn't be necessary. Maybe try moving that file to a different location.

Yes the pixel clock is still 703 Mhz with a resulting resolution of 5120x2160 @59,990 Hz. Where can I find the mtdd file?

SwitchResX results for an Alpine Ridge Mac would be useful.

So far I have not been able to get any image with the LG5K2K connected to one of the TB3 ports of the Alpine Ridge on my X99 rig, neither under Windows 10 nor under macOS.

You can make the LG 38UC99-W display work with the LG5K2K by connecting the LG38 directly to the Vega?

Sure.. no problem...

IMG_2708.jpg


LG38 connected via 1x Dp1.4 of my Sapphire Nitro+ Vega 64 (which btw only has 2xDP1.4 and 2x HDMI). LG 5K2K connected via TB3 port of the GC-TitanRidge, with just 1x DP cable from the GC-Titan Ridge to the second DP1.4 port of my Sapphire Nitro+ Vega 64 .

BTW.. These are the SwitchResX resolution options I get now with the LG38 connected to the DP1.4 port of the GC-Titan Ridge and the LG 5K2K connected to one of the two TB3 ports of the GC-Titan Ridge, with both DP-cables connected between the GC-Titan Ridge and the 2x DP1.4 ports of my Sapphire Nitro+ Vega 64:

Screenshot 2018-12-01 at 13.36.44.png


Screenshot 2018-12-01 at 14.16.06.png
 
Last edited:
Joined
Apr 29, 2011
Messages
90
Motherboard
Asus PRIME X299-A
CPU
i7-7820X
Graphics
RX 6800 XT
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
Hi guys, I bought a bluetooth adapter from ebay, it's a GYMLE Bluetooth 4.0 Adapter, recommended in Tonymacx86 buyers guide. I plugged in, the system see's that, I can turn it on and of, but it can not see any devices. Just searching... cant see my razer bluetooth mouse, not even my iphone. I have checked the vendor and product id, already implemented in the IOBluetoothFamily.kext. Should I do something more to make it work? On windows, everything is fine...

Thanks for the help! :)
 
Joined
Sep 21, 2013
Messages
1,087
Motherboard
Gigabyte Z390 Designare
CPU
i9 9900KS
Graphics
RX 580
Mac
  1. iMac
  2. MacBook
  3. MacBook Pro
  4. Mac mini
  5. Mac Pro
Classic Mac
  1. Classic
  2. iBook
  3. Power Mac
  4. PowerBook
  5. Quadra
  6. SE/30
Mobile Phone
  1. iOS
So, regarding the Thunderbolt card itself interfacing with the OS, does it appear to be treating signal/data as signal/data only in regard to Thunderbolt displays? Or is the i/o being "picky" about what it considers to be a valid PCIe device. I am still baffled that hotplug and "single TB port only" is an issue with OS X with a valid platform ID. Thoughts on this conundrum?
 
Joined
Apr 5, 2016
Messages
949
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
  1. iMac
  2. MacBook
  3. MacBook Air
  4. MacBook Pro
  5. Mac mini
  6. Mac Pro
Classic Mac
  1. Apple
  2. LC
  3. Power Mac
Mobile Phone
  1. iOS
I know the meaning of UPSB, DSB1, DSB2, DSB4, NHI0 and XHC5 as the devices are implemented such by means of my SST-X299-TB.aml ;)...
I knew that. I was describing the screenshots for others to follow along. Sometimes it helps to summarize known information to find avenues of new investigation.

Well.. USB-C devices plugged to XHC5 of the GC-Titan Ridge work anyway.
The XHC5 will have only USB 3.0 devices. It won't have USB 2.0 devices because the GC-TITAN RIDGE passes them over the USB 2.0 header to your computer's XHC. I don't know why Gigabyte did that since the USB 2.0 ports of the pci8086,15ec appear to work fine in the LG 5K2K display.


But also USB2.0 and USB3.0 devices work flawless on the two back panel USB3.0 Type-A connectors of the LG 5K2K when the latter is connected to one of the TB3 ports of the GC-TiTan Ridge.

USB Upstream is set to USB-C in the LG 5K2K settings.

I guess that's just obvious and does not require any testing.
I don't know. I wouldn't blindly trust that something works the way someone (i.e. the product manual) says it does without evidence that can be easily obtained especially if that someone does not explicitly state how it works or is unclear about some aspects of that functionality.

In the case of Thunderbolt, I can imagine that maybe the USB Upstream option might not affect USB operation since there are few situations where PCIe communication over Thunderbolt doesn't work given that the computer supports Thunderbolt and so there would be no reason to move USB from Thunderbolt to USB-B. Another possibility is that the switch that moves the hub is part of the Thunderbolt controller and doesn't work when Thunderbolt is being used.

That's some important information. I will try as soon I have the cable.
Yup. In the case of USB-C DisplayPort alt mode, if two lines are used for USB 3.0, then only two lanes remain for DisplayPort so bandwidth is half. Thus, the hope is that all four lanes are available for DisplayPort when USB Upstream is set to USB-B instead of USB-C.


I could use moninfo.exe under Windows 10, but will you be able to use and apply the obtained information under macOS?
That's a good question. I took the EDIDs you gave me and converted them to binary and tried to have moninfo.exe open them but it complained about the contents. I don't know if moninfo.exe will complain if it tries to read the EDID directly from the display instead of a file. If it can read the EDID and generate a report, then you can copy and paste the contents into a text file. The hex can be converted to a binary file, and opened by other utilities on macOS or Linux. The problem is that, like I said before, I don't have a utility that can properly interpret fully the EDID from this display. They certainly must exist, but they may cost money, or come with some expensive hardware EDID programming device.

For macOS there's a free utility called AWEDIDEditor.app from Analog Way but it doesn't seem to support Display ID extension blocks or more than one extension block. Many editors may only support the CEA extension (mostly for HDMI).

SwitchResX doesn't have an option to read EDID from a file or to create a custom EDID. It doesn't parse everything in the Display ID extension blocks.

Nvidia control panel in Windows might have some EDID editing options. I haven't tried it.

Where can I find the mtdd file?
In the location I previously stated:
/Volumes/HighSierra/System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-1e6d/DisplayProductID-7721.mtdd

So far I have not been able to get any image with the LG5K2K connected to one of the TB3 ports of the Alpine Ridge on my X99 rig, neither under Windows 10 nor under macOS.
Maybe we need a real Mac instead of a Hackintosh. There should be online reviews somewhere. Well, if it works with a real Mac then it should work with a Hackintosh except when it doesn't which is why utilities like WhateverGreen need to exist. There may be issues with AGDP (AppleGraphicsDevicePolicy) or AGDC (AppleGraphicsControl) where they expect graphics to be setup a certain way depending on apple motherboard id or whatever.

I expect things to work in Windows 10. Strange that it doesn't. Maybe we need a larger sample set.

Sure.. no problem...

LG38 connected via 1x Dp1.4 of my Sapphire Nitro+ Vega 64 (which btw only has 2xDP1.4 and 2x HDMI). LG 5K2K connected via TB3 port of the GC-TitanRidge, with just 1x DP cable from the GC-Titan Ridge to the second DP1.4 port of my Sapphire Nitro+ Vega 64 .

BTW.. These are the SwitchResX resolution options I get now with the LG38 connected to the DP1.4 port of the GC-Titan Ridge and the LG 5K2K connected to one of the two TB3 ports of the GC-Titan Ridge, with both DP-cables connected between the GC-Titan Ridge and the 2x DP1.4 ports of my Sapphire Nitro+ Vega 64:
I think we've at least confirmed that macOS supports DisplayPort 1.4 single cable displays. The Dell UP3218K is a dual cable DisplayPort 1.4 display where a single DisplayPort 1.4 cable support 8K30Hz. I think two cables supports 8K60Hz only in Windows.
 
Joined
Dec 13, 2015
Messages
80
Motherboard
ASUS Prime X299-A
CPU
i9-10980XE
Graphics
RX Vega 56
Mac
  1. MacBook
  2. MacBook Pro
Mobile Phone
  1. iOS
Hey Kgp. I have X299 motherboard with Vega 64. I flash my bios to 1503 using the one you provided but now i can't boot into mac OSX. can you send my your EFI folder since we have similar setup thanks. or can you please send me the 1301 patched bios file? thanks.
CFGlock how do i disable this in bios?
thanks
 

kgp

Retired
Joined
May 30, 2014
Messages
6,778
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
Oh ok Thanks i got that disabled. I can now boot into the OS, however every time i connect the ethernet cable the computer freezes. what could be casing this? thanks

No idea..
 
Status
Not open for further replies.
Top