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

Add Alder Lake and Rocket Lake support #73

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
55 changes: 37 additions & 18 deletions .vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -177,16 +177,26 @@ module.exports = {
]
},
['/Universal/plug', 'CPU Power Management'],
{
title: 'Methods',
collapsable: true,
sidebarDepth: 2,
children: [
['/Universal/plug-methods/prebuilt', 'Prebuilt'],
['/Universal/plug-methods/ssdttime', 'SSDTTime'],
['/Universal/plug-methods/manual', 'Manual'],
]
},
{
title: 'Methods',
collapsable: true,
sidebarDepth: 2,
children: [
['/Universal/plug-methods/prebuilt', 'Prebuilt'],
['/Universal/plug-methods/ssdttime', 'SSDTTime'],
['/Universal/plug-methods/manual', 'Manual'],
]
},
['/Universal/plug-alt', 'CPU Power Management and Processor Definition'],
{
title: 'Methods',
collapsable: true,
sidebarDepth: 2,
children: [
['/Universal/plug-alt-methods/prebuilt', 'Prebuilt'],
['/Universal/plug-alt-methods/manual', 'Manual'],
]
},
['/Universal/awac', 'AWAC vs RTC'],
{
title: 'Methods',
Expand Down Expand Up @@ -242,14 +252,23 @@ module.exports = {
]
},
['/Universal/smbus', 'Fixing SMBus Support'],
{
title: 'Methods',
collapsable: true,
sidebarDepth: 2,
children: [
['/Universal/smbus-methods/manual', 'Manual'],
]
},
{
title: 'Methods',
collapsable: true,
sidebarDepth: 2,
children: [
['/Universal/smbus-methods/manual', 'Manual'],
]
},
['/Universal/brg0', 'Fixing Property Injection'],
{
title: 'Methods',
collapsable: true,
sidebarDepth: 2,
children: [
['/Universal/brg0-methods/ssdttime', 'SSDTTime'],
]
},
['/Universal/irq', 'IRQ Fix'],
['/Universal/spoof', 'GPU Spoof'],
]
Expand Down
16 changes: 16 additions & 0 deletions Universal/brg0-methods/ssdttime.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Fixing Property Injection: SSDTTime

This method involves using SSDTTime which automates most of the process. See here on how to use it: [SSDTs: Easy Way](/ssdt-methods/ssdt-easy.md)

To get SSDT-BRG0, run the following:

* `7. Dump DSDT` then run `9. PCI Bridge`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explain how to get a device path, and which devices this should be done for.


This will provide you with some files, the main one you care about is SSDT-BRG0.**aml**. The DSDT and .dsl are only left for referencing or verification.


## Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

* [**Cleanup**](/cleanup.md)
17 changes: 17 additions & 0 deletions Universal/brg0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Fixing Property Injection (SSDT-BRG0)

* [Fixing Property Injection (SSDT-BRG0)](#fixing-property-injection-ssdt-brg0)
* [What this SSDT does](#what-this-ssdt-does)
* [Methods to make this SSDT](#methods-to-make-this-ssdt)

## What this SSDT does

On some platforms, the PCI bridge your GPU is connected to is not defined.
tarbaII marked this conversation as resolved.
Show resolved Hide resolved
This can prevent Device Properties being added to these devices from your config.plist.
This SSDT fixes that by defining the bridge device (BRG0) and your GPU under that bridge.

## Methods to make this SSDT

For SSDT-BRG0, there's currently only one option:

* [SSDTTime](/Universal/brg0-methods/ssdttime.md)
19 changes: 19 additions & 0 deletions Universal/plug-alt-methods/manual.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Fixing Power Management and Processor Definition: Manual

* [Grabbing the SSDT](#grabbing-the-ssdt)
* [Compiling the SSDT](#compiling-the-ssdt)
* [Wrapping up](#wrapping-up)

## Grabbing the SSDT

[Download SSDT-PLUG-ALT.dsl from here.](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/Source/SSDT-PLUG-ALT.dsl)

## Compiling the SSDT

This SSDT requires no editing, so you're now [ready to compile the SSDT!](/Manual/compile.md)

## Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

* [**Cleanup**](/cleanup.md)
18 changes: 18 additions & 0 deletions Universal/plug-alt-methods/prebuilt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Fixing Power Management and Processor Definition: Prebuilt

By far the easiest way to get SSDT-PLUG-ALT is just downloading the below file:

* [SSDT-PLUG-ALT.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-PLUG-ALT.aml)

This prebuilt file is just a precompiled version of [SSDT-PLUG-ALT.dsl](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/Source/SSDT-PLUG-ALT.dsl) provided by Acidanthera.

The main things to note with this method:

* Doesn't really teach you anything
* For most, this doesn't matter. But to some knowing what makes your hackintosh tick is part of the journey

## Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

* [**Cleanup**](/cleanup.md)
16 changes: 16 additions & 0 deletions Universal/plug-alt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Fixing Power Management and Processor Definition (SSDT-PLUG-ALT)

* [Fixing Power Management and Processor Definition (SSDT-PLUG-ALT)](#fixing-power-management-and-processor-definition-ssdt-plug-alt)
* [What this SSDT does](#what-this-ssdt-does)
* [Methods to make this SSDT](#methods-to-make-this-ssdt)

## What this SSDT does

The purpose of SSDT-PLUG-ALT is to allow the kernel's XCPM (XNU's CPU Power Management) to manage our CPU's power management. It's pretty self explanatory why you'd want this. In addition to that, newer boards such as the Intel 600 series define CPU objects as `Device` according to the new ACPI 5.0 specification, but macOS expects them to be defined as `Processor`. This SSDT fixes this issue by defining `Processor` objects for macOS.

## Methods to make this SSDT

For SSDT-PLUG-ALT, there are 3 methods you can choose from:

* [Prebuilt](/Universal/plug-alt-methods/prebuilt.md)
* [Manual](/Universal/plug-alt-methods/manual.md)
2 changes: 1 addition & 1 deletion Universal/plug.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

## What this SSDT does

The purpose of SSDT-PLUG is to allow the kernel's XCPM(XNU's CPU Power Management) to manage our CPU's power management. It's pretty self explanatory why you'd want this.
The purpose of SSDT-PLUG is to allow the kernel's XCPM (XNU's CPU Power Management) to manage our CPU's power management. It's pretty self explanatory why you'd want this.

**Note**: SSDT-PLUG is only compatible with Intel's Haswell and newer CPUs, Sandy Bridge and Ivy Bridge will need to follow the [ssdtPRgen method](https://dortania.github.io/OpenCore-Post-Install/universal/pm.html#sandy-and-ivy-bridge-power-management)(in post-install) while AMD users should not use this(unless attempting to attach AGPM which is outside the scope of Dortania's guides)

Expand Down
31 changes: 31 additions & 0 deletions Universal/usbw-methods/prebuilt-manual.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Fixing USB Wake: Prebuilt and Manual

* [Prebuilt](#prebuilt)
* [Manual](#manual)
* [Grabbing the sample SSDT](#grabbing-the-sample-ssdt)
* [Compiling the SSDT](#compiling-the-ssdt)
* [Wrapping up](#wrapping-up)

## Prebuilt

By far the easiest way to get SSDT-USBW is just downloading the below file:

* [SSDT-USBW.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-USBW.aml)

This prebuilt file is just a precompiled version of [SSDT-USBW](https://raw.githubusercontent.com/osy/USBWakeFixup/master/SSDT-USBW.dsl).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think just providing the prebuilt method here is fine, since the decompiled version is linked here.


## Manual

### Grabbing the sample SSDT

[Download SSDT-USBW.dsl here.](https://raw.githubusercontent.com/osy/USBWakeFixup/master/SSDT-USBW.dsl)

### Compiling the SSDT

This SSDT requires no modification, so you're now [ready to compile the SSDT!](/Manual/compile.md)

## Wrapping up

Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to wrap up:

* [**Cleanup**](/cleanup.md)
15 changes: 15 additions & 0 deletions Universal/usbw.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Fixing USB Wake (SSDT-USBW)

* [Fixing USB Wake (SSDT-USBW)](#fixing-usb-wake-ssdt-usbw)
* [What this SSDT does](#what-this-ssdt-does)
* [Methods to make this SSDT](#methods-to-make-this-ssdt)

## What this SSDT does

SSDT-USBW is a companion to the [USBWakeFixup kext](https://github.com/osy/USBWakeFixup), which addresses USB wake issues on certain Intel platforms. Do not use this SSDT unless you have the USBWakeFixup kext.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like a last resort when adding acpi-wake-type doesn't work. Could you maybe explain a bit more about what is going on here and other prerequisites?


## Methods to make this SSDT

For SSDT-USBW, there are 2 methods you can choose from, both on one page:

* [Prebuilt and Manual](/Universal/usbw-methods/prebuilt-manual.md)
Binary file added extra-files/compiled/SSDT-PLUG-ALT.aml
Binary file not shown.
Binary file added extra-files/compiled/SSDT-USBW.aml
Binary file not shown.
Loading