Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document UX582 ACPI patches #7

Closed
Qonfused opened this issue Aug 18, 2022 · 11 comments · Fixed by #19
Closed

Document UX582 ACPI patches #7

Qonfused opened this issue Aug 18, 2022 · 11 comments · Fixed by #19
Labels
help wanted Extra attention is needed project:UX581 For variants UX581GV (15.6", 2019) and UX581LV (15.6", 2020) project:UX582 For variant UX582LV (15.6", 2021) type:documentation Improvements or additions to documentation

Comments

@Qonfused
Copy link
Owner

Qonfused commented Aug 18, 2022

A basic breakdown of each file is given below:

File Required Description
SSDT-ALC294.aml No Incorporated into AppleALC; not needed w/o CodecCommander kext.
SSDT-ASUSFN.aml No Refactored; implements custom media key mapping.
SSDT-AsusSMC.aml No Refactored; Handles implementing some keyboard backlight patches and primary-display backlight interrupts.
SSDT-AWAC Yes Also called RTC0; re-enables legacy RTC clock for macOS compatibility.
SSDT-DDGPU.aml Yes Disables dGPU through a SSDT
SSDT-DTGP.aml Yes? Handles early device property injection for thunderbolt 3, which may otherwise fail to reliably inject. Unclear if needed.
SSDT-EC-USBX-LAPTOP.aml Yes Creates a fake EC controller (satisfying an Apple ec-naming requirement) and creates a USBX device for USB power properties.
SSDT-ELAN-POLLING.aml No
SSDT-GPRW.aml No Instant wake patch (e.g. USB or power state changes wakes device from sleep).
SSDT-OC-XOSI.aml No Spoofs windows compatibility for _OSI checks; this method has very sharp edges, and is better to avoid if another solution exists.
SSDT-Plug.aml Yes Enables XCPM (XNU CPU power management) to manage the CPU's power management. Note that this is no longer needed for Monterey 11.3+, but required for earlier macOS versions.
SSDT-PNLFCFL.aml No Handles backlight control of main display. Later WhateverGreen versions have incorporated CFL-specific backlight quirks, so use of the more generic SSDT-PNLF is advised.
SSDT-RHUB.aml No Disables USB RHUB to avoid issues booting macOS. Not needed with proper USB-mapping and/or thunderbolt patches.
SSDT-TB3.aml Yes Related to enabling Thunderbolt 3 controllers?
SSDT-PTS.aml No? Overrides USB controller shutdown to prevent shutdown/reboot conflict.
SSDT-DMAC.aml/SSDT-MEM2.aml No Allows for more 'mac-like' memory behavior (see this post)
SSDT-IMEI.aml No Creates new IMEI device to allow applying device-ids (required if no IMEI device with any name is present in ACPI tables).
SSDT-PMCR.aml/SSDT-PPMC.aml No Adds an undocumented & missing PMCR device to enable native NVRAM for non-native NVRAM.
SSDT-SBUS-MCHC.aml Yes Fixes AppleSMBus support (e.g. CPU temp, fans, low bandwidth PCI, memory reporting, etc).
SSDT-XSPI.aml No Adds a PCH or platform controller hub device to IORegistry; this patch is cosmetic and serves no functional use.
SSDT-ETPD.aml No Refactored; Enables GPI0 interrupts (for ELAN trackpad polling)
@Qonfused
Copy link
Owner Author

Qonfused commented Nov 22, 2022

It seems that an ambient light sensor is needed for backlight to function (since macOS 15 Catalina). The SMCLightSensor kext handles reporting actual SMC values or dummy values; if there is no ambient light sensor I'd have to remove the ALS0 kext (since there is no physical device to define).

Edit: I can't find an ambient light sensor in the schematic, so I'm ommiting reporting SMC values and instead using dummy values.

@Qonfused
Copy link
Owner Author

Another note: SSDT-PLUG is no longer needed on Monterey 12.3+

@Qonfused
Copy link
Owner Author

Qonfused commented Nov 23, 2022

IMEI SSDT is not necessary:
Screen Shot 2022-11-23 at 12 06 22 AM

More info in https://dortania.github.io/Getting-Started-With-ACPI/Universal/imei.html.

@Qonfused
Copy link
Owner Author

Qonfused commented Nov 23, 2022

ACPI spec for PTS is "prepare to sleep"; it's possible that the PTS SSDT may be needed for some S0-S5 signal?

Edit: More info in https://dortania.github.io/OpenCore-Post-Install/usb/misc/shutdown.html confirms a plausible S5 patch.

@Qonfused
Copy link
Owner Author

Posting this resource for later documentation:
https://5t33z0.gitbook.io/oc-litte-translated/oc-little/acpi/acpi-basics

@Qonfused
Copy link
Owner Author

Will only have to document this repo's ACPI.

@Qonfused Qonfused closed this as not planned Won't fix, can't repro, duplicate, stale Dec 14, 2022
@Qonfused Qonfused unpinned this issue Dec 14, 2022
@Qonfused Qonfused linked a pull request Jan 3, 2023 that will close this issue
28 tasks
@Qonfused Qonfused added type:documentation Improvements or additions to documentation help wanted Extra attention is needed labels Jan 5, 2023
@Qonfused
Copy link
Owner Author

Qonfused commented Jan 9, 2023

Fix issue status

@Qonfused Qonfused closed this as not planned Won't fix, can't repro, duplicate, stale Jan 9, 2023
@Qonfused Qonfused added project:UX581 For variants UX581GV (15.6", 2019) and UX581LV (15.6", 2020) project:UX582 For variant UX582LV (15.6", 2021) labels Jan 12, 2023
@shiecldk
Copy link
Contributor

shiecldk commented Feb 2, 2023

SSDT-DTGP.aml is required to be used with SSDT-TB3.aml since the Device (UPSB) in SSDT-TB3.aml is calling the _DSM method. (for UX582 model)

@shiecldk
Copy link
Contributor

shiecldk commented Feb 2, 2023

It seems that without SSDT-PTS.aml, on UX582, the shutdown or restart on macOS would fail sometimes. But this problem only existed a long time ago when I initially pushed the OC EFI to GitHub; not sure if it has been fixed by other patches.

@shiecldk
Copy link
Contributor

shiecldk commented Feb 2, 2023

Do you have a working NVRAM on your model? (saves the boot disk in OpenCore)

@Qonfused
Copy link
Owner Author

Qonfused commented Feb 2, 2023

SSDT-DTGP.aml is required to be used with SSDT-TB3.aml since the Device (UPSB) in SSDT-TB3.aml is calling the _DSM method. (for UX582 model)

My initial comments on DTGP were misled; the DTGP method may be necessary in order to inject device properties during earlier parts of macOS's initialization. I'd see if you can use device property injection instead, but it may not reliably inject w/o using DTGP.

I'm not familiar with the thunderbolt SSDTs/patches, though I have a z490i system with thunderbolt 3 I can test with. It may be more involved on a laptop with multiple thunderbolt controllers.

It seems that without SSDT-PTS.aml, on UX582, the shutdown or restart on macOS would fail sometimes. But this problem only existed a long time ago when I initially pushed the OC EFI to GitHub; not sure if it has been fixed by other patches.

I'd still verify whether you still need this SSDT. Reviewing this SSDT, all it seems to do is power down a USB controller, which can conflict with shutdown/restart (possibly sleep as well).

Do you have a working NVRAM on your model? (saves the boot disk in OpenCore)

NVRAM does work natively on my model. I was unsure when I was first investigating it, but macOS does correctly read the csr-active-config NVRAM variable, and custom boot entry creation was tested as working.

@Qonfused Qonfused changed the title Document Original Repo's ACPI patches Document UX582 ACPI patches Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed project:UX581 For variants UX581GV (15.6", 2019) and UX581LV (15.6", 2020) project:UX582 For variant UX582LV (15.6", 2021) type:documentation Improvements or additions to documentation
Projects
Development

Successfully merging a pull request may close this issue.

2 participants