Contribute
Register

Clover DSDT Fixes

I have a hackintosh sierra on a gigabyte Z97 HD3, Intel i5. All working well (finally), but.... when I boot, I go into clover and disable all the DSDT, and tell it not to load the intel video drivers. EVERY time. Is there a 'save' option that I'm just not seeing?

Clover configuration is determined by the content in EFI/Clover/config.plist.
 
Brilliant!!! Thanks so much for sharing this pertinent info!!!
 
where does the values R0ZYMA== and SUdQVQ== come from, please?

Code:
            <dict>
                    <key>Comment</key>
                    <string>Rename GFX0 to IGPU</string>
                    <key>Find</key>
                    <data>
                    R0ZYMA==
                    </data>
                    <key>Replace</key>
                    <data>
                    SUdQVQ==
                    </data>
                </dict>
 
where does the values R0ZYMA== and SUdQVQ== come from, please?

Code:
            <dict>
                    <key>Comment</key>
                    <string>Rename GFX0 to IGPU</string>
                    <key>Find</key>
                    <data>
                    R0ZYMA==
                    </data>
                    <key>Replace</key>
                    <data>
                    SUdQVQ==
                    </data>
                </dict>

Base64:
Code:
SPEEDY-NUC:~ rehabman$ echo -n R0ZYMA==|base64 --decode|xxd
00000000: 4746 5830                                GFX0
SPEEDY-NUC:~ rehabman$ echo -n SUdQVQ==|base64 --decode|xxd
00000000: 4947 5055                                IGPU
 
Will the DSDT fixes also adress things located in a SSDT ?
 
Will the DSDT fixes also adress things located in a SSDT ?

config.plist/ACPI/DSDT/Patches apply to native DSDT, DSDT at ACPI/patched/DSDT.aml, and native static SSDTs.

It does not currently apply to SSDTs at ACPI/patched/SSDT*.aml (although my version of Clover changes that for SSDTs that meet certain criteria when config.plist/ACPI/AutoMerge=true).

It never applies to SSDTs that are loaded via ACPI Load opcode.
 
What does Fix Headers do?

Thank you :)

It replaces non-ASCII (well, really non-printable) characters in the ACPI header CreatorId, OemI,d and OemTableId fields with ' ' or '_'.

Note, from Clover source:
Code:
// by cecekpawon, edited by Slice
VOID FixAsciiTableHeader(UINT8  *Str, UINTN Len)
{
  UINTN   i = 0;

  while (i++ < Len) {
    if (*Str < 0x20) {
      *Str = 0x20;  //space
    }
    if (*Str > 0x7E) {
      *Str = 0x5F;  //underscore
    }
    Str++;
  }
}

VOID PatchTableHeader(EFI_ACPI_DESCRIPTION_HEADER *Header)
{
  FixAsciiTableHeader((UINT8*)&Header->CreatorId, 4);
  FixAsciiTableHeader((UINT8*)&Header->OemTableId, 8);
  FixAsciiTableHeader((UINT8*)&Header->OemId, 6);
}
 
Back
Top