acidanthera / bugtracker

Acidanthera Bugtracker
385 stars 44 forks source link

OpenCore implements SSDT before applying ACPI patches #2174

Closed Drovosek01 closed 1 year ago

Drovosek01 commented 1 year ago

I continue to dive into the intricacies of configuring hackintosh on my x79 platform: QIYIDA x79 lga2011 | Xeon E5 2670 v2 (Ivy Bridge-EP) | Sapphire RX580 Nitro+ 4Gb | 64GB 1866MHz RAM

The SSDTTime utility generates a "FixHPET" and as a result outputs SSDT-HPET files and patches in .plist files for Clover and separately for OpenCore. One of the patches is renaming the _CRS method to XCRS inside the "Device (HPET)" and in order for the _CRS method from SSDT to be successfully implemented, you need to first rename the _CRS method to DSDT.

Experimentally, I found out that OpenCore uses ACPI patches (renaming patches) after an attempt to implement SSDT in DSDT. Accordingly, the SSDT-HPET file is not implemented due to the fact that the _CRS method is in the Device (HPET), only then after attempts to implement SSDT in DSDT ACPI patches are performed.

To fix this problem, you have to manually rename _CRS to XCRS in DSDT.

Please make sure that ACPI patches are executed before attempting to merge SSDT with DSDT and write about this step in the documentation (write about this step in the documentation regardless of whether you change the behavior of patches or not, because nothing is said about this in the documentation) https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Configuration.pdf

image

Drovosek01 commented 1 year ago

@Andrey1970AppleLife the fact that there is no important information in the project documentation is not a problem, or did I look in the wrong place and somewhere in the documentation it is written that ACPI patches are applied after an attempt to implement SSDT?

1Revenger1 commented 1 year ago

ACPI patches aren't applied after adding SSDTs. The order in the documentation is correct. Patches such as _OSI to XOSI or I2C patches wouldn't work if patches were applied after SSDTs.