Help me learn: why does this DSDT allow me to boot, while the "origin" DSDT will not?

jaysnuh

New member
Joined
Jul 11, 2019
macOS
10.14.5
Mobo
Gigabyte H310 A 2.0
CPU
Intel i5-9400 2.9
GPU
Intel UHD630
#1
Hello all -

I really appreciated this thread and the attached files. Thanks so much for taking the time to post.

I came across this thread seeking a way forward, as I was completely stuck simply getting to the installer using a Vanilla USB stick.

My hardware:

Giagbyte H310M A2
Intel i5-9400 2.9
UHD630 iGPU
8 GB RAM

My EFI folder:

FakeSMC (originally tried VirtualSMC)
RealtekRTL8111
USBInjectAll + XHCI-unsupported (now successfully replaced with USBPorts after edits)
AppleALC
WhateverGreen
Lilu

I can post my EFI folder / config.plist file if it is helpful. Edit - I think I figured out how to attach the files. Deleted non-essential folders to save space. To be clear: this EFI folder successfully boots the computer and it *seems* to work perfectly - even sleep. However, it's for an MSI board and mine is a Gigabyte. The two DSDT files are very different from one another. Removing the DSDT file from Clover/ACPI/patched renders the computer unable to boot. Replacing it with the stock DSDT file (dumped at the Clover menu) also renders the computer unable to boot.

My question is this:

With the stock DSDT, this setup does not allow me to boot to the installer (or to Mojave, now that I've successfully installed it). I've tried everything I can think of but the boot stalls out (almost immediately) at this screen with VirtualSMC:

IMG_8077.JPG


The FakeSMC hang is similar, happening almost immediately after a series of ACPI errors/exceptions.

These hangs occur with nothing in the Clover/ACPI/patched folder (using the native DSDT).

When I drop in the DSDT from this post into Clover/ACPI/patched, which is actually for a different brand of motherboard (MSI), the computer boots without issue. I was able to successfully install Mojave and the computer runs without issue - iGPU, sound, bluetooth, etc. SO! In one sense, this is a success story.

I don't like, however, that I don't understand why this DSDT fixed the boot issue. I followed a tutorial in how to open the DSDT files side by side, thinking that maybe there would be minimal differences between the origin DSDT file and the modified, working DSDT, but the number of differences between the two files were immense and overwhelming.

I would really like to better understand how to modify the native DSDT for my motherboard so that a) I become a little more educated, b) to minimize the risk of problems/instability down the line, and c) that I'll be better able to navigate this kind of task on my own in the future. It seems like there should be edits that would allow the native DSDT to boot my machine as well as the downloaded one.

Native DSDT is here, and the modified, bootable DSDT is here.

Thank you for any time that you are willing to put towards this issue - I truly appreciate it. :)

Jason
 

Attachments

Last edited:

Edhawk

Well-known member
Joined
Apr 10, 2018
macOS
10.14.5
Mobo
GA-Z97X-UD5H
CPU
i7-4790K
GPU
Powercolor RX 580
#2
@jaysnuh, Ok I glad the post you linked helped you but it is never a good thing to use someone else's DSDT, unless you know it is from an identical system/bios and that you know which patches have been applied to the DSDT.

To say I am surprised your system boots with the patched DSDT is an understatement. I have no idea why your system doesn't boot with your original DSDT. I agree from a quick review of the two DSDT's side by side it is very apparent that they are laid out very differently and the patched DSDT has approximately 17,000 additional lines of code. It may be that the two DSDT's have very similar entries and the patching that has been applied deals with the issues your system would have encountered. But it is very hard to explain how and why this patched DSDT worked for you.

If you want to learn about DSDT patching then Rehabman's guide over at Tonymacx86 is the place to start - https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/

It is aimed at Laptop DSDT patching because they need to be tweaked more than the Desktop systems. Which can usually get by without the DSDT being patched, unless it uses a Server board. As these are less macOS friendly.
 

jaysnuh

New member
Joined
Jul 11, 2019
macOS
10.14.5
Mobo
Gigabyte H310 A 2.0
CPU
Intel i5-9400 2.9
GPU
Intel UHD630
#3
@jaysnuh, Ok I glad the post you linked helped you but it is never a good thing to use someone else's DSDT, unless you know it is from an identical system/bios and that you know which patches have been applied to the DSDT.

To say I am surprised your system boots with the patched DSDT is an understatement. I have no idea why your system doesn't boot with your original DSDT. I agree from a quick review of the two DSDT's side by side it is very apparent that they are laid out very differently and the patched DSDT has approximately 17,000 additional lines of code. It may be that the two DSDT's have very similar entries and the patching that has been applied deals with the issues your system would have encountered. But it is very hard to explain how and why this patched DSDT worked for you.

If you want to learn about DSDT patching then Rehabman's guide over at Tonymacx86 is the place to start - https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/

It is aimed at Laptop DSDT patching because they need to be tweaked more than the Desktop systems. Which can usually get by without the DSDT being patched, unless it uses a Server board. As these are less macOS friendly.
Hello Edhawk!

Thank you so much for taking the time to reply. So, yes. Using the DSDT from a different system is a terrible idea, and it's why I'd like to figure out what changes are needed to the original DSDT so that my computer will boot using that file / those patches instead. It was never my intention to use this DSDT; initially I tried dropping in the entire EFI folder from that post out of sheer desperation to see if it would boot my system. To my utter gobsmacked amazement, it did!

At that point, it was a process of walking back / removing things from the downloaded EFI folder to see what pieces, at minimum, needed to be in place for the system to boot. At first I was pretty sure that it was the _XOSI SSDT file + patch that had done the trick, but removing the DSDT file with both of those pieces in place does not boot the system.

So now, I have the mixed blessing of a Hackintosh that appears to be working perfectly, and what appears to be a ticking time-bomb of a DSDT that works today, but that may not work tomorrow.

I wish I'd found your site and followed your hardware recommendations before embarking on this build! I have the sense that purchasing a different motherboard, or an 8th-gen processor, might have avoided this situation altogether.

In the meantime:

I will visit RehabMan's DSDT guide. I have to be honest; he writes at a level that too often is just barely out of my reach. Occasionally, I can make the jump and grasp the thread of his writing; more often than not, I'm left feeling overwhelmed and confused. If I have any success in modifying my DSDT, I will report back here.

In the meantime: I certainly don't expect that anyone invest their time in my issues, but I'm always grateful for the kindness of strangers. What information can I post here aside from photos of my verbose boot freeze, my EFI folder, and my BIOS settings that would make it easier to troubleshoot my boot issue? I seem to recall that there is an option for a boot.log in Clover or from the console that might give us a clearer snapshot of where the boot process is breaking down.

Thank you again for your time, and hopefully I'll find a way to get this baby running without needing a strange DSDT to do the job. :)

Jason
 

Edhawk

Well-known member
Joined
Apr 10, 2018
macOS
10.14.5
Mobo
GA-Z97X-UD5H
CPU
i7-4790K
GPU
Powercolor RX 580
#4
Yeah, Rehabman's guides can leave you feeling like WTF! They are not really written for noobs, but for people who have a bit of knowledge about APCI files and the way they work.

It is why when he produced the Clover Hot-Patch guide I started using that method over the DSDT/SSDT disassembly and patching method. It is easier to understand and covers all the bases on a desktop system. Whether that is just using the DSDT/SSDT rename patches or creating a new SSDT for a particular component.

It is also possible to disable the patches and SSDT's from the CLOVER boot screen, if they cause a KP.

Best of luck.
 

jaysnuh

New member
Joined
Jul 11, 2019
macOS
10.14.5
Mobo
Gigabyte H310 A 2.0
CPU
Intel i5-9400 2.9
GPU
Intel UHD630
#5
Thank you so much, Ed. I think I will approach this in a different way; maybe the community here would be willing to help me troubleshoot my non-booting Clover installation rather than trying to figure out what magic is allowing the DSDT file to work. My guess is that one or more of the fixes that we would normally hotpatch in have actually been edited into the working DSDT. Fingers crossed for a solution. This is for my daughter's birthday on Monday so I'm very motivated. :)

Warmly,
Jason