Contribute
Register

Gigabyte X299X - Catalina Support

Joined
Mar 6, 2013
Messages
272
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
Unfortunately all of them, because this is not a USB port issue.

The real question is, what are the correct quirks for this card? I have already tried the "standard for HEDT" ones but they seem to be insufficient or not quite correct for the X299X.
There's a well known issue with this motherboard that triggers with OpenCore and Clover - if boot initialisation is delayed beyond a certain time threshold, the BIOS will automatically shutdown and restart the system. I believe this usually happens 8 seconds into the boot process. The system will power down, then automatically come back up, and you'll then find that any overclocking settings you've made (including setting RAM to XMP) are not active: your system will be running at stock CPU and RAM speeds, ignoring current BIOS settings.

It's effectively a BIOS safe mode that's being triggered by OC and Clover, due to (surprise surprise) a BIOS bug. After the BIOS goes into this safe mode is then possible to boot OpenCore/Clover normally - the shutdown will no longer occur - but of course this means no XMP or other overclocking can be done. And as soon as you F10 to save in the BIOS, the issue re-occurs on the next boot.

There's been a ton of discussion of that in this thread - at first people thought it was related to having multiple EFI partitions visible, or whether boot was done with or without user intervention, but ultimately these all turned out to be symptoms, not the cause. @JTR did months of investigation on the issue and eventually both identified the true cause, and worked out how to fix it.

JTR subsequently made an OpenCore patch that resolves the issue.

To me it sounds very likely that you're hitting this issue. Having a USB boot device plugged in can definitely slow down the boot process enough to guarantee the issue is triggered every time.

JTR said he'd try and submit this patch to Acidanthera and ask them if they'd include it permanently in OpenCore, but I don't know what happened about that. @JTR if you're still around, it'd be great to hear if you had any luck talking to Acidanthera? If you're too busy to look at it any further, perhaps I could link them to your repo as-is and ask them to consider making a Quirk for it?

JTR's patch was for version 0.6.4 but it still works without changes in recent OpenCore releases. The other night I self-compiled OpenCore 0.6.7 with JTR's patch applied. I will post that updated version shortly so others can use it as well.

As for quirks etc - the Dortania Skylake-X/Cascade Lake-X HEDT guide should work fine for this board. The only addition I can remember off the top of my head is to also enable AppleXcpmCfgLock - otherwise you'll likely get a kernel panic when waking from sleep.

At least that's the case for OpenCore - I don't know what might differ in Clover. I know Clover now uses some parts of OC, but I don't know much about it.

Ps. I'm testing a new beta BIOS now, but I can't figure out if the problems I have are all related to the BIOS or a bad bootloader configuration.

By beta BIOS do you mean F3C? To our knowledge, all X299X Designare 10G BIOS' have this issue. Personally I've tested F3B and F3C and am currently running the latter.

And yes, the Designare 10G is without doubt the buggiest and most broken BIOS I've ever used. It's an absolute disgrace.
 
Last edited:
Joined
Aug 17, 2017
Messages
309
Motherboard
ASUS Prime X299 Edition 30
CPU
i9-10980XE
Graphics
RX 5700 XT
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
To me it sounds very likely that you're hitting this issue. Having a USB boot device plugged in can definitely slow down the boot process enough to guarantee the issue is triggered every time.
That's right, that's the problem. It also happens immediately after selecting the OS, without delaying the boot initialization.
In my case it is a powered USB3 HDD the cause. But the exact same thing happens even when the second internal SSD with Windows is not set in the boot order of the BIOS.

Another detail is that even if I set the clock time correctly on Windows, after a Kernel panic the time returns wrong, both on MacOS and on Windows. RTC patch problem?

As for quirks etc - the Dortania Skylake-X/Cascade Lake-X HEDT guide should work fine for this board. The only addition I can remember off the top of my head is to also enable AppleXcpmCfgLock - otherwise you'll likely get a kernel panic when waking from sleep.
A few days ago I removed the Kext with the USB mapping done with Hackintool, and activated the USB Port limit patch, I also changed some Quirks and currently I have no more random kernel panic from 4 days.

The Clover equivalent for AppleXcpmCfgLock is KernelPM. Thanks to this the Sleep worked perfectly in my previous GA X299 UD4 Pro, but now if I try to put this GA X229X to Sleep it just turns off the screen and nothing happens.
It is not a problem because it is a function that I do not use but I will investigate it anyway in the future.

A few hours ago I made a new SSDT-UIAC for usb ports and in the next few days I will see if i have again problem with random kernel panic.
This card has only two USB3 connections on the back and in my case, via the internal connector, two on the front.
The HS14 is the Intel Bluetooth and I excluded it, the only ports that I have enabled are:
HS01/SS01 - HS02/SS02 = Front case connector
HS03/SS03 = Rear USB3.2 (White with BIOS words)
HS04/SS04 = Rear USB3.2 Hub (The 3 vertical blue ports)
HS11 = Internal USB2 for Bluetooth (BCM943602CS PCIe card)
The only doubt about usb is the HS13 port which I didn't include in the SSDT, but it keeps appearing and is reported as ITE Device (8595). Any idea?

By beta BIOS do you mean F3C?
I have the F3e version, but I don't know if there are improvements compared to before, I have the same bugs that are currently also present on F3c.
 
Last edited:
Joined
Mar 6, 2013
Messages
272
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
That's right, that's the problem. It also happens immediately after selecting the OS, without delaying the boot initialization.
In my case it is a powered USB3 HDD the cause. But the exact same thing happens even when the second internal SSD with Windows is not set in the boot order of the BIOS.
Yup, it's going to happen pretty much all the time. You're quite lucky if it doesn't happen. For me - before I started using the patched OpenCore - the only time it didn't happen is if:
> I booted macOS automatically from NVMe drive
> and did not first press F12 or go into the BIOS
> and did not have any USB drives/sticks plugged in
> and did not have my Intel X520 fibre PCIe NIC plugged in - which seems to delay the boot process by about 5 seconds, and therefore triggers the issue 100% of the time if it's installed.

Since December I've been using JTR's patch for OpenCore and I can now boot perfectly every time, no problems ever.

I'd strongly recommend you consider migrating to OpenCore so you can use this patch. Actually I'd recommend OpenCore over Clover for any motherboard, even without needing this patch, but it's even more important with our broken motherboard.

Another detail is that even if I set the clock time correctly on Windows, after a Kernel panic the time returns wrong, both on MacOS and on Windows. RTC patch problem?

No idea what this could be. Again, it's very hard to know what's going wrong for you as you're using Clover and I think everyone else here (who has posted recently anyway) is on OpenCore now, and all the Dortania guides assume OpenCore.

You definitely need the three SSDTs listed on the Dortania guide - PLUG; EC-USBX; RTC0-RANGE. Without those you likely can't even boot at all (without RTC0-RANGE I would expect boot to hang around "PCI Configuration begins", as described here - and the RTC0-RANGE SSDT fixes that.)

At least with OpenCore, you should be able to boot and run normally with only those three SSDTs. I've not noticed any KPs related to clock / RTC issues.

The only doubt about usb is the HS13 port which I didn't include in the SSDT, but it keeps appearing and is reported as ITE Device (8595). Any idea?
I think ITE devices are for system monitoring - like what HWInfo does in Windows. Getting extra motherboard voltage readings, that kind of thing. I don't know of anything that uses it in macOS. HWMonitorSMC2 provides some basic voltage monitoring of a few motherboard values, which it describes as "ITE IT9699E" but I don't think they come from this USB ITE device, as it reads them with and without the USB device visible. I think it reads them in some other way.

I use the CorpNewt USB Mapping method (USBMap.kext) and I have no problem excluding the ITE USB port using that method - if I leave it out of the USB map, it doesn't show up any more. However I have left it enabled as I'm not near the port limit and it doesn't seem to be causing any problems.

I've not tried SSDT-UIAC and I don't have any experience of using that SSDT for USB mapping. I enable USBInjectAll along with XhciPortLimit to make sure all ports are visible prior to USB mapping, but then I disable both once I have my USB mapped. My concern about using USBInjectAll's mapping with SSDT-UIAC would be that USBInjectAll is no longer being developed, so it might not continue to work forever.

Thanks to this the Sleep worked perfectly in my previous GA X299 UD4 Pro, but now if I try to put this GA X229X to Sleep it just turns off the screen and nothing happens.
Several of us had this problem some months ago. It turned out that the SBUS SSDT that dolgarrean provided in the first post of this thread was blocking sleep. This can be diagnosed by checking the system logs for messages related to sleep, and looking for a line like "Sleep prevented by..".

I found that I could fix the SBUS SSDT to remove the part that broke sleep - I think it was the _DSM section that did that, for some reason. That SBUS SSDT is pretty much only cosmetic anyway, and not needed for functionality. If you look at the EFIs I uploaded a few pages back, you'll find they contain SBUS-NEW SSDT, and this one does not break sleep.

So if you have many SSDTs, I'd first check if you're using the SBUS SSDT and try removing that. If it still happens, try booting with no SSDTs installed except the three required ones (PLUG, EC-USBX, RTC0-RANGE) and see if that enables sleep to work.

If you still have the problem even when booting only with the required SSDTs, then maybe it's a different issue. Check your logs to see what's preventing sleep from occurring.

I have the F3e version, but I don't know if there are improvements compared to before, I have the same bugs that are currently also present on F3c.

Where did you get this F3E BIOS for X299X Designare 10G? Do you have a link, or can you upload it here?

I can't find anything about F3E via Google. Latest on the official website is still F3C, and I don't see anything on the Gigabyte forum about any later BIOS'.
 
Joined
Mar 6, 2013
Messages
272
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
Here's an updated OpenCore EFI for the Gigabyte Designare X299X 10G. It's what I'm currently using and seems to be working pretty well, with all MB features working and no glitches that I can spot. The only thing I'm unable to test is Thunderbolt, as I don't yet have any TB devices.

I'm currently running this on Catalina 10.15.7 but it should all work fine on BigSur as well.

Summary:
  • OpenCore updated to version 0.6.7 (DEBUG)
    • Including @JTR 's special patch for the Designare 10's boot issue.
    • JTR's Github repo is here - it's a fork of OpenCore 0.6.4 with his patch in branch x299x-designare-10g_0.6.4.
    • As of the time of writing his patch will still apply cleanly to the latest OpenCore code.
  • OpenCore config updated for 0.6.7 syntax, and passes ocvalidate check.
  • All Acidanthera kexts at latest version (all DEBUG, but with debug logging not enabled.)
  • OpenCore resources and HfsPlus.efi updated to latest version.
  • Currently configured as MacPro 7,1 with Apple Secure Boot enabled (SecureBootModel = j160).
Features provided / configuration details:
  • MacPro memory/PCIe warnings disabled via Acidanthera's new RestrictEvents.kext.
  • Onboard WiFi with Airport via AirportItlwm, version 1.2.0
    • Kexts for both Catalina and BigSur are included; the Catalina version is currently active in config.plist.
    • A reminder that WiFi with Intel is currently pretty slow: max 40-50Mb/s.
  • Onboard Bluetooth via IntelBluetoothFirmware
    • Also included is IntelBluetoothInjector which allows Bluetooth to be turned on/off via System Preferences.
  • Onboard 10G/Gigabit network via patched SmallTree drivers, version 3.8.6, as created by @byteminer and me.
  • SATA hotplug enabled via ACPI patch (this requires that hotplug is also enabled in the BIOS.)
    • This also causes SATA drivers to appear as yellow external drives.
    • Two ACPI patches are included - one for Catalina, one for BigSur. The correct patch should apply automatically as MinKernel/MaxKernel is set on each patch.
    • Disable the patches under ACPI -> Patch if you don't want this feature or don't like SATA drives showing as external.
  • Dortania used for the three vital SSDTs: PLUG; EC-USBX; RTC0-RANGE.
  • Thunderbolt SSDT as provided by @dolgarrenan
    • I edited it only to change the ACPI path, as originally it used PCI0 which would require an ACPI patch rename that would break booting Windows through OpenCore.
    • Thunderbolt has not been tested by me as I don't yet have any TB devices. I have confirmed that the two TB3 ports work fine as USB ports.
  • XHCI USB mapped using USBMap.kext (created with CorpNewt's USBMapper tool)
    • I have not mapped the Thunderbolt or ASMedia USB ports as they only have four ports each, which is well below the 15-port limit. These two controllers are ignored by the USBMap.kext.
    • XhciPortLimit is set to false, and USBInjectAll is disabled - though it is still included in the config file in case you want to re-enable it and do your own USB mapping.
    • For the XHCI controller, I have mapped:
      • Rear MB ports
      • Header FUSB32_2 (the header just below the 24-pin motherboard power connector)
      • Internal Bluetooth adapter
      • Internal ITE device - unsure exactly what this will be used for, if anything.
      • A couple of ports are also used up on XHCI for when USB 2.0 devices are connected to the Thunderbolt ports.
    • If you want to use Header FUSB32_1 instead (or as well) you will need to do your own mapping for this. With the 15-port limit, it's not possible to map both headers at the same time. There would be just enough ports if you excluded the internal ITE port from the map - port HS13 - but I wanted to keep that included in case it ever proved useful for monitoring or anything.
  • SSDT-GPRW and its associated ACPI Patch are included for anyone who has instant-wake issues when putting the system to sleep. It is not currently enabled. If you do enable it, you will only be able to wake the system with the power button.
  • All cosmetic SSDTs removed; the only remaining non-Dortania SSDTs are:
    • DTGP - a helper method that can be used by other SSDTs.
    • Thunderbolt - dolgarrenan's Thunderbolt SSDT, which is untested by me at this time.
    • SBUS - dolgarrenan's SBUS SSDT, modified to remove the _DSM section which broke sleep. It renames the SBUS device and sets some properties on it. I'm pretty sure it's not required on this motherboard, but it doesn't seem to hurt anything either.
  • All cosmetics moved to DeviceProperties:
    • Model, name and other properties set for:
      • WiFi, Intel X550 NICs, NVMe drives, SATA controllers, Realtek audio, USB controllers, Thunderbolt drives and devices, Power Management Controller
    • DeviceProperties are loaded only by macOS, so there's no risk of these properties affecting other OS'.
    • Moving these to DeviceProperties also keeps the SSDT section cleaner, reducing confusion about what is important for boot and what is only cosmetic.
  • Kexts arranged into two folders - Acid for Acidanthera kexts, and Other for everything else.
  • TSC sync fixed with TSCAdjustReset.kext - but CpuTscSync.kext is also included if you prefer it.
    • If you use TSCAdjustReset.kext and your CPU does not have 18 cores, remember to edit Contents/Info.plist to set IOCPUNumber correctly for the number of cores you have.
    • IOCPUNumber should be set to the number of logical cores minus 1, eg on a 10 core/20 thread system set the value to 19. It's currently set to 35, which is correct for the i9-10980XE and i9-9980XE.
  • The config has Target = 65 meaning the DEBUG OpenCore will log to disk, but not to screen. Change to Target = 0 to disable this logging. Note that having DEBUG logging enabled can be very slow on USB drives, so expect a 5-20 second black screen delay if logging is enabled on a USB stick.

As usual, all serial numbers are set to CHANGEME and need to be edited.

Note: There are more kexts in the Kexts/Acid folder than are enabled in config.plist. I've also included the AirportBrcm and BrcmBluetooth kexts, which would be used by anyone who has a Broadcom WiFi/Bluetooth card. Plus a couple of others like HibernationFixup and RTCMemoryFixup. Kexts that are in the Kexts folder but not listed in config.plist can be safely deleted if you want to free up some space in the EFI.

Note 2: I have set SetApfsTrimTimeout to a high value, as suggested in OpenCore's manual. This increases the on-boot timeout for TRIMing NVMe drives, to ensure that the TRIM actually takes place. Apparently some NVMe controllers can be slow at this, and by default macOS times out after 10 seconds. This can lead to the drive never being properly trimmed. Be aware that this can increase boot times, perhaps significantly. For me it increases boot times by about an extra 10 seconds, but on certain NVMe drives it could be a lot longer. If necessary set SetApfsTrimTimeout to a lower value (it's in microseconds), or to -1 to use the macOS default.

Note 3: I have not configured LauncherPath, so there will not be a permanent boot entry created in EFI. If you dual-boot with Windows or other OS' you might want to change LauncherOption to Full: Dortania guide to LauncherOption.

Here's how the PCI section will look:

1615973554814.png


(Mine also includes an extra PCIe Intel X520 10GBe NIC, plus I've added cosmetic entries for my Vega 64 GPU and its audio device; I didn't include any GPU DeviceProperties in the EFI as people will have varying GPUs.)
 

Attachments

  • TheBloke.Designare10G.OpenCore.0.6.7-DEBUG.EFI.160321.zip
    49.8 MB · Views: 111
Last edited:
Joined
Nov 22, 2010
Messages
53
Motherboard
Gigabite X299X DESIGNARE 10G
CPU
i9-10940X
Graphics
RX5700XT
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
Thank you so much @TheBloke my mobo up and running in Catalina using your latest OC setting! but I have critical problem running some 3D program like Maya it doesn't launch just quit! wondering cause by display card or other system issue? my MB X299X with 5700XT 64Gb Ram

Screenshot 2021-03-18 at 1.01.09 PM.png
 

JTR

Joined
Mar 29, 2012
Messages
11
Motherboard
Gigabyte X299X Designare 10G - F3b - OpenCore UEFI
CPU
i9-10940X
Graphics
Radeon VII
Mobile Phone
  1. iOS
- The main problem is that if I have an external hard drive connected via USB I cannot boot. The system shuts down immediately after selecting the OS.
This is most likely from the UEFI firmware bug with driver (re)connection on PciRoot(0x0)/Pci(0x1F,0x0)/Acpi(PNP0303,0x0).

I've noticed that it'll also semi-reliably break Windows Bitlocker unlock dialog if certain USB drives are inserted on boot. I've been poking at this issue a bit recently in the hopes of figuring out a workaround for Windows BDE unlock, or at least nailing down the triggering parameters in more detail. I think the call here is most likely being triggered as a side effect of Bitlocker looking for .BEK files on attached drives.

Anyways, digressions aside, for your issue, since you're using Clover, the fix for this issue is fairly straightforward — switch to my patched fork of OpenCore.

I haven't updated it past 0.6.4 yet (and honestly haven't even looked at the changelogs for anything past 0.6.4 outside of a passing glance at 0.6.6's changelog) as I've been extremely busy both personally and at work, but I plan on doing that soon — I just need to find the time to tackle this. I suspect rebasing to/past 0.6.6 might possibly run into some issues due to the major changes in 0.6.6, but I won't know for sure until I've actually gone and tried it.

- The second, less serious, is that the time is always wrong after a cold boot. It corrects itself with internet connection, but this causes problems with Dark Mode that is set to auto. This also happens on Windows.
This sounds like the good old time offset issue.

Assuming you only boot Windows and macOS on this hardware, and assuming that the old fix is still appropriate/working with Catalina and our hardware (I'm not sure if I've actually tested this yet on my X299X board), then the easiest fix for this would be to follow this guide:

https://www.howtogeek.com/323390/ho...ux-showing-different-times-when-dual-booting/

Specifically, look at the section "Option Two: Make Windows Use UTC Time".
 
Joined
Oct 28, 2017
Messages
56
Motherboard
Gigabyte x299x Designare 10G
CPU
i9 10940x
Graphics
Radeon VII
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
Thank you so much @TheBloke my mobo up and running in Catalina using your latest OC setting! but I have critical problem running some 3D program like Maya it doesn't launch just quit! wondering cause by display card or other system issue? my MB X299X with 5700XT 64Gb Ram

View attachment 512547
I have no problem in Catalina 10.15.6 running Maya.

cd /Applications/Autodesk/maya2020/Maya.app/Contents/MacOS
./Maya
Initialized VP2.0 renderer {
Version : 2016.11.53.12. Feature Level 5.
Adapter : AMD Radeon VII OpenGL Engine
Vendor ID: 4098. Device ID : 0x66AF
Driver : 4.1 ATI-3.10.15.
API : OpenGL V.4.1.
Max texture size : 16384 * 16384.
Max tex coords : 32
Shader versions supported (Vertex: 5, Geometry: 5, Pixel 5).
Shader compiler profile : (Best card profile)
Active stereo support available : 0
GPU Memory Limit : 16368 MB.
CPU Memory Limit: 62259.2 MB.
MultiDraw consolidation: enabled
}

OpenCL evaluator is attempting to initialize OpenCL.
Detected 1 OpenCL Platforms:
0: Apple. Apple. OpenCL 1.2 (Jul 5 2020 01:14:53).
Supported extensions: cl_APPLE_SetMemObjectDestructor cl_APPLE_ContextLoggingFunctions cl_APPLE_clut cl_APPLE_query_kernel_names cl_APPLE_gl_sharing cl_khr_gl_event
OpenCL evaluator choosing OpenCL platform Apple.
Choosing OpenCL Device AMD Radeon VII Compute Engine. Device Type: GPU Device is available.

2021-03-19 11:45:18.370 Maya[66361:16401053] Bad cursor rect event, flags = 0
2021-03-19 11:45:18.370 Maya[66361:16401053] Bad cursor rect event, flags = 0
2021-03-19 11:45:18.370 Maya[66361:16401053] Bad cursor rect event, flags = 0

Phoenix FD plugin resolved to '/Applications/Autodesk/maya2020/vray/plug-ins/vrayvolumegrid.bundle'
V-Ray VolumeGrid: loading /Applications/Autodesk/maya2020/vray/scripts/VRayVolumeGridInit.mel...
[2021/Mar/19|11:45:20] V-Ray: V-Ray Next for Maya, update 2.2 version 4.30.02 PLE from Apr 15 2020, 17:57:06
 
Joined
Mar 6, 2013
Messages
272
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
Thank you so much @TheBloke my mobo up and running in Catalina using your latest OC setting! but I have critical problem running some 3D program like Maya it doesn't launch just quit! wondering cause by display card or other system issue? my MB X299X with 5700XT 64Gb Ram

I have no problem in Catalina 10.15.6 running Maya.

Yeah I have no problems running 3D apps either. I don't use Maya, but I regularly use GPU acceleration and 3D in DaVinci Resolve Studio and Fusion Studio, and I've also (briefly) tested Blender.

Not really sure what could cause such issues. I've never used a 5000-series GPU so I don't know if there are any unusual issues with those, but I've not heard of any (besides that you need agdpmod=pikera to avoid a black screen.)

@manpower What does About This Mac -> Graphics/Displays show? Can you run GeekBench 5's Compute benchmark in both OpenCL and Metal modes?

If you run Maya from the command line like beltzak showed, what error(s) are displayed when it quits?

And have you had Maya working before, or is this the first time you tried it on this system? If it has worked before, what's the difference between now and then? What EFI were you using when it last worked?

Also, I see you have a different CPU to me - did you remember to edit TSCAdjustReset.kext/Contents/Info.plist and change the IOCpuNumber to <number of threads> minus 1? (Or you could switch to CpuTscSync.kext which doesn't need any configuration.) I believe that incorrect TSC adjustment can cause some weird issues, though I have no idea if that would include this sort of issue. But you want to make sure it's configured correctly regardless.
 
Last edited:
Joined
Apr 18, 2011
Messages
1,431
Motherboard
ASUS ROG Rampage VI Extreme Encore
CPU
i9-7900X
Graphics
Radeon Pro W5500
Mac
  1. MacBook Air
  2. Mac Pro
Mobile Phone
  1. iOS
HI @TheBloke thanks for your prompt reply! According to your suggestion may I clearify change the IOCPUNumber from 35 to -1 (minus 1)? My CPU 10940X how to get this number actually?

Thanks

10940x is 14 cores so 28 threads - 1. You would put in 27.

I have the IOCPUNumber adjusted here in my github by the amount of CPU cores.

or you can just use https://github.com/acidanthera/CpuTscSync
 
Top