diff --git a/404.html b/404.html index 75b7c40..3519ed0 100644 --- a/404.html +++ b/404.html @@ -11,13 +11,13 @@ - + -

404

Looks like we've got some broken links.
+ - + diff --git a/CONTRIBUTING.html b/CONTRIBUTING.html index f598c4d..da8315c 100644 --- a/CONTRIBUTING.html +++ b/CONTRIBUTING.html @@ -11,7 +11,7 @@ - + @@ -58,6 +58,6 @@

- + diff --git a/Desktops/desktop-disable.html b/Desktops/desktop-disable.html index a8782e1..b4a027a 100644 --- a/Desktops/desktop-disable.html +++ b/Desktops/desktop-disable.html @@ -11,7 +11,7 @@ - + @@ -57,6 +57,6 @@ Method (_SB.PCI0.PEG0.PEGP._DSM, 4, NotSerialized) ⟶

- + diff --git a/Desktops/desktop-ec.html b/Desktops/desktop-ec.html index 1744810..0f0672f 100644 --- a/Desktops/desktop-ec.html +++ b/Desktops/desktop-ec.html @@ -11,7 +11,7 @@ - + @@ -44,6 +44,6 @@ (opens new window) GitHub (opens new window)

# Fixing Embedded Controller (Desktop)

# You'll want to go to SSDT-EC under the Universal tab for the new SSDT-EC page

- + diff --git a/Laptops/backlight-methods/manual.html b/Laptops/backlight-methods/manual.html index c9a42e3..6fd4c39 100644 --- a/Laptops/backlight-methods/manual.html +++ b/Laptops/backlight-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -74,6 +74,6 @@ Device(_SB.PCI0.GPU0.PNLF) <- Renamed ⟶

- + diff --git a/Laptops/backlight-methods/prebuilt.html b/Laptops/backlight-methods/prebuilt.html index 78b4d38..22fdf06 100644 --- a/Laptops/backlight-methods/prebuilt.html +++ b/Laptops/backlight-methods/prebuilt.html @@ -11,7 +11,7 @@ - + @@ -53,6 +53,6 @@ ⟶

- + diff --git a/Laptops/backlight.html b/Laptops/backlight.html index bb5ae64..844c1c5 100644 --- a/Laptops/backlight.html +++ b/Laptops/backlight.html @@ -11,7 +11,7 @@ - + @@ -52,6 +52,6 @@ ⟶

- + diff --git a/Laptops/laptop-disable.html b/Laptops/laptop-disable.html index 1819ae0..a2b4189 100644 --- a/Laptops/laptop-disable.html +++ b/Laptops/laptop-disable.html @@ -11,7 +11,7 @@ - + @@ -63,6 +63,6 @@ External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) // dGPU ACPI Path ⟶

- + diff --git a/Laptops/laptop-ec.html b/Laptops/laptop-ec.html index d1fc4ec..140fd8b 100644 --- a/Laptops/laptop-ec.html +++ b/Laptops/laptop-ec.html @@ -11,7 +11,7 @@ - + @@ -44,6 +44,6 @@ (opens new window) GitHub (opens new window)

# Fixing Embedded Controller (Laptop)

# You'll want to go to SSDT-EC under the Universal tab for the new SSDT-EC page

- + diff --git a/Laptops/trackpad-methods/manual.html b/Laptops/trackpad-methods/manual.html index 7339c7b..b63084f 100644 --- a/Laptops/trackpad-methods/manual.html +++ b/Laptops/trackpad-methods/manual.html @@ -11,7 +11,7 @@ - + @@ -97,14 +97,14 @@ If (_OSI ("Darwin")) Return (0x0F) } -

The value OSYS, stores information about the current OS running. We will want to look for any place in which OSYS is set (OSYS = 0x07DC for example). In this DSDT, this is set under \_SB.PCI0._INI as shown below:

There are various checks for many different versions of Windows, but there is no check for Darwin (which Apple's ACPI usually checks for). We generally want to set OSYS to the highest possible value to enable the most features. In this case, the highest value is set when the version of Windows is "Windows 2015", or Windows 10 (opens new window). This means that we should set OSYS to 0x07DF. Notice that this value is greater than 0x07DC, which is the value that was checked for earlier. If we set OSYS to 0x07DF, then the check in LSTA should return 0x0F.

The best way to patch these checks is to use _OSI to XOSI with SSDT-XOSI. You can also set OSYS within the scope of the I2C device, though this may not always work (The above example would not work here as LSTA is not within the scope of the I2C device).

# _OSI to XOSI

Requires the below SSDT and patch

Comment String Change _OSI to XOSI
Enabled Boolean YES
Count Number 0
Limit Number 0
Find Data 5f4f5349
Replace Data 584f5349
Dell Machines

You may need to add the below patch to allow the backlight keys to work. +

The value OSYS, stores information about the current OS running. We will want to look for any place in which OSYS is set (OSYS = 0x07DC for example). In this DSDT, this is set under \_SB.PCI0._INI as shown below:

There are various checks for many different versions of Windows, but there is no check for Darwin (which Apple's ACPI usually checks for). We generally want to set OSYS to the highest possible value to enable the most features. In this case, the highest value is set when the version of Windows is "Windows 2015", or Windows 10 (opens new window). This means that we should set OSYS to 0x07DF. Notice that this value is greater than 0x07DC, which is the value that was checked for earlier. If we set OSYS to 0x07DF, then the check in LSTA should return 0x0F.

The best way to patch these checks is to use _OSI to XOSI with SSDT-XOSI. You can also set OSYS within the scope of the I2C device, though this may not always work (The above example would not work here as LSTA is not within the scope of the I2C device).

# _OSI to XOSI

Requires the below SSDT and patch

Comment String Change _OSI to XOSI
Enabled Boolean YES
Count Number 0
Limit Number 0
Find Data 5f4f5349
Replace Data 584f5349
Dell Machines

You may need to add the below patch to allow the backlight keys to work. Make sure that this patch appears BEFORE the previous _OSI to XOSI patch in your config.plist Credit to Rehabman for the below patch:

Comment String Change _OSID to XSID (to avoid match against _OSI patch)
Enabled Boolean YES
Count Number 0
Limit Number 0
Find Data 4F534944
Replace Data 58534944

# Create OSYS Variable Under I2C Scope

You will need to find the device path where OSYS is checked, then create a new OSYS variable within that scope. This will only change OSYS for devices under this scope, which can allow for finer control over what is enabled. Note that in the example above, LSTA exists under \_SB.PCI0.LSTA, meaning that both \_SB.PCI0._INI and \_SB.PCI0.LSTA will control the same OSYS variable. If this is the case, this method will not work.

If (_OSI("Darwin")) {
     Scope (\_SB.PCI0.I2C0) { // I2C0 scope
         Name (OSYS, 0x7DF)
     }
 }
-

Multiple Windows Versions

Windows will also return true for checks of earlier versions of Windows. For example, Windows 7 would return true for "Windows 2000" through "Windows 2009", but not any version after. This is important as some features are only enabled in earlier Windows checks. For example, DYTC thermal management on newer ThinkPads is only enabled in the check for "Windows 2001". You will need to check your own DSDT and see what values it sets and where they are used. At this point, you should compiling the SSDT and see if the trackpad works.

# Further Setup

If you need further help getting your trackpad to work, then the best place to look is VoodooI2C's readme (opens new window)

# 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:

Multiple Windows Versions

Windows will also return true for checks of earlier versions of Windows. For example, Windows 7 would return true for "Windows 2000" through "Windows 2009", but not any version after. This is important as some features are only enabled in earlier Windows checks. For example, DYTC thermal management on newer ThinkPads is only enabled in the check for "Windows 2001". You will need to check your own DSDT and see what values it sets and where they are used. At this point, you should compiling the SSDT and see if the trackpad works.

# Further Setup

If you need further help getting your trackpad to work, then the best place to look is VoodooI2C's readme (opens new window)

# 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: