1
0
Fork 0
mirror of https://github.com/tylernguyen/x1c6-hackintosh.git synced 2025-02-05 09:33:13 -06:00

Fixed rare shutdown=restart issue and patched out legacy IRQ conflicts

This commit is contained in:
Tyler Nguyen 2020-04-06 05:20:18 -05:00
parent 24f0a7afb7
commit 4840160703
No known key found for this signature in database
GPG key ID: DB5B102B914991DA
14 changed files with 789 additions and 219 deletions

Binary file not shown.

Binary file not shown.

View file

@ -8,7 +8,7 @@
<array>
<dict>
<key>Comment</key>
<string>Battery Status</string>
<string>Battery (Needs TPbattery.plist)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -16,7 +16,7 @@
</dict>
<dict>
<key>Comment</key>
<string>plugin-type=1</string>
<string>Intel Power Management</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -24,7 +24,7 @@
</dict>
<dict>
<key>Comment</key>
<string>brightness</string>
<string>Brightness Adjustment</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -32,7 +32,7 @@
</dict>
<dict>
<key>Comment</key>
<string>fake als</string>
<string>Fake ALS0 (Brightness Preservation, starting with Catalina)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -48,7 +48,7 @@
</dict>
<dict>
<key>Comment</key>
<string>Thinkpad Keyboard</string>
<string>Thinkpad Keyboard (Need x1c6-keyboard.plist)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -56,7 +56,7 @@
</dict>
<dict>
<key>Comment</key>
<string>Comprehensive Sleep/ Wake Patch</string>
<string>Comprehensive Sleep/ Wake Patch (Needs PTSWAK.plist)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -64,7 +64,15 @@
</dict>
<dict>
<key>Comment</key>
<string>PTSWAK EXT3</string>
<string>Fix Reboot after Shutdown</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-EXT1-FixShutdown.aml</string>
</dict>
<dict>
<key>Comment</key>
<string>TP Light Sleep/Wake Fix</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -80,7 +88,7 @@
</dict>
<dict>
<key>Comment</key>
<string>DMAC</string>
<string>Fake DMAC (Completeness)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -88,7 +96,7 @@
</dict>
<dict>
<key>Comment</key>
<string>MCHC</string>
<string>Fake MCHC (Completeness)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -96,7 +104,7 @@
</dict>
<dict>
<key>Comment</key>
<string>PMCR</string>
<string>Fake PMCR (Completeness)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -112,7 +120,7 @@
</dict>
<dict>
<key>Comment</key>
<string>GPRW 0D/6D Patch</string>
<string>Fix Instant Wake (Need GPRW.plist)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -120,7 +128,7 @@
</dict>
<dict>
<key>Comment</key>
<string>DTPG</string>
<string>TB3 Hotplug Support</string>
<key>Enabled</key>
<true/>
<key>Path</key>
@ -128,17 +136,133 @@
</dict>
<dict>
<key>Comment</key>
<string>TB3HP</string>
<string>TB3 Hotplug</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-Z390-TB3HP.aml</string>
</dict>
<dict>
<key>Comment</key>
<string>HPET _CRS (Needs HPET.plist)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-HPET.aml</string>
</dict>
</array>
<key>Block</key>
<array/>
<key>Patch</key>
<array>
<dict>
<key>Comment</key>
<string>HPET _CRS to XCRS Rename</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X0NSUwig
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
AAAAAA==
</data>
<key>Replace</key>
<data>
WENSUwig
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
AAAAAA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>RTC IRQ 8 Patch</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
IgABeQA=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
AAAAAA==
</data>
<key>Replace</key>
<data>
IgAAeQA=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
AAAAAA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>TIMR IRQ 0 Patch</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
IgEAeQA=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
AAAAAA==
</data>
<key>Replace</key>
<data>
IgAAeQA=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
AAAAAA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>Name6D-03 to 00</string>

View file

@ -20,20 +20,23 @@
`Lastly, if my work here helped you. Please consider donating, it would mean a lot to me.`
**`In short, x1c6-hackintosh is very stable and is currently my daily driver. I fully recommend this project to anyone looking for a MacBook alternative.`**
> ## Update
##### Recent | [Changelog Archive](https://github.com/tylernguyen/x1c6-hackintosh/docs/CHANGELOG.md)
> ### 2020-4-1
> ### 2020-4-6
#### Added
- ALCPlugFix to automatically change output to headphones after being plugged in, and to change it back to speakers after being unplugged.
- ALCPlugFix to fix the rare condition that audio is messed up after waking from sleep.
- SSDT-EXT1-FixShutdown to fix the rare issue that sometimes a shutdown would result in a restart instead.
- SSDT-HPET to patch out legacy IRQ conflicts.
#### Changed
- More documentation about recommended macOS settings.
- Better notes and documentation with `config.plist`
- Modularized each needed OpenCore config patches.
> ## SUMMARY:
@ -42,7 +45,7 @@
| WiFi, Bluetooth, Apple Continuity ✅ \*need card replacement | Fingerprint Reader (not needed, DISABLED at BIOS) ❌ | HDMI, currently only outputs at 1080p.Though capable of 4K 4096x2150. ⚠️ |
| USB A, USB C, Webcam, Audio Playback/Recording Sleep, Ethernet, Intel Graphics, TrackPoint and Trackpad ✅ | Wireless WAN (DISABLED at BIOS) \*ENABLED if you have a 2nd drive connected❌ | Thunderbolt 3 Hotplug: partially working [More details](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) ⚠️ |
| iCloud suite: App Store, iMessage, FaceTime, iCloud Drive, etc... ✅ | Hibernation ❌ | Power management and optimizations. See [Issue #28](https://github.com/tylernguyen/x1c6-hackintosh/issues/28) ⚠️ |
| Multimedia Fn keys ✅ \*need [Karabiner Elements](https://ke-complex-modifications.pqrs.org/) and [BetterTouchTool](https://folivora.ai/) | | USB power property injection - unsure of real values. ⚠️ |
| Multimedia Fn keys ✅ \*need [Karabiner Elements](https://ke-complex-modifications.pqrs.org/) and [BetterTouchTool](https://folivora.ai/) | | |
| MicroSD card reader ✅ | | |
> ## NEEDED:
@ -94,11 +97,12 @@ TrackPad: PS/2
**Thunderbolt:**
`Intel JHL6540 (Alpine Ridge 4C) Thunderbolt 3 Bridge`
> ## REFERENCES:
> ## Read These (References):
- [The Vanilla Laptop Guide](https://fewtarius.gitbook.io/laptopguide/)
- Daliansky's [Hackintool tutorial](https://translate.google.com/translate?js=n&sl=auto&tl=en&u=https://blog.daliansky.net/Intel-FB-Patcher-tutorial-and-insertion-pose.html).
- [An iDiot's Guide To Lilu and its Plug-ins](https://www.tonymacx86.com/threads/an-idiots-guide-to-lilu-and-its-plug-ins.260063/)
- [Getting Started with ACPI](https://khronokernel.github.io/Getting-Started-With-ACPI/)
- [General Framebuffer Patching Guide (HDMI Black Screen Problem)](https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/)
- [Intel Framebuffer patching using WhateverGreen](https://www.tonymacx86.com/threads/guide-intel-framebuffer-patching-using-whatevergreen.256490/)

View file

@ -1,17 +1,19 @@
> ## ACPI Patching:
1. Download and install [MaciASL](https://github.com/acidanthera/MaciASL/releases) if you do not have it already.
2. Dump your original ACPI tables. There are a number of ways to do this, using Clover, Hackintool, Linux.
2. Dump your original ACPI tables. There are a number of ways to do this, using Clover, Hackintool, Linux. See [here](https://khronokernel.github.io/Getting-Started-With-ACPI/Manual/dump.html).
3. In Terminal, disassemble the copied ACPI tables with "iasl-stable -dl DSDT.aml". For our purpose, the only file that really matters is DSDT.dsl
- Your DSDT file will be used as a reference table in determining that needs to be patched and what patches need to be added.
4. Source SSDT\*.dsl patch files are located in `patches` folder.
5. Refer to my `EFI-OpenCore` folder to see which patches are currently being used by me.
6. Refer to `PATCHES.md` for hotpatching documentation, most of my compiled hotpatches and can be copied straight to your setup. However, some patches may require certain directories or variables to be changed depending on your hardware (examine your own disasemebled DSDT). For these, edit the .dsl patch files. Also, note that some SSDT patches also require accompanying OpenCore/ Clover ACPI patches to work.
6. If your x1c6's model is 20KH*, most of my compiled hotpatches and can likely be copied straight to your setup. However, some patches may require certain directories or variables to be changed depending on your hardware (examine your own disasemebled DSDT). For these, edit the .dsl patch files. Also, note that some SSDT patches also require accompanying OpenCore/ Clover ACPI patches to work.
A good way to see if you need to edit and compile your own SSDT patches is to compare your DSDT.dsl with mine of the same BIOS version. You can find my disasemebled DSDT file in `ACPI/Disassembled ACPI/BIOS-v*`.
Should your source DSDT be similar enough (in regards to certain items in these ACPI patches)to mine. Congrats! You can simply try my compiled patches. Should it differ however, please carefully examine these notes and create your own SSDT patches.
7. Once you have the compiled ACPI patches, place them in `EFI/OC/ACPI/` and make sure to create matching entries within OpenCore's `config.plist`'s `ACPI/Add/` section.
# Hotpatching Notes
@ -69,17 +71,14 @@ Why?: `Processor` search in DSDT, rename `PR` to other variables as needed.
Why?: `Skylake/ KabyLake/ KabyLake-R` CPU.
Used in conjuction with `WhateverGreen.kext`
> ### SSDT-HPET_RTC_TIMR-fix
> ### SSDT-HPET
- This patch cannot be used with the following patches:
   - **_SSDT-RTC_Y-AWAC_N_** of the "Preset Variable Method"
   - OC official **_SSDT-AWAC_**
   - "Counterfeit Device" or OC official **_SSDT-RTC0_**
   - **_SSDT-RTC0-NoFlags for CMOS Reset Patch_**
- Patch out IRQ conflicts. Credits to [corpnewt/SSDTTime](https://github.com/corpnewt/SSDTTime).
**Needs `OpenCore Patches/ HPET.plist`**
> ### SSDT-Keyboard - Remapping Fn and PrtSc Keys
Keyboard path is `\ _SB.PCI0.LPCB.KBD`.  
Keyboard path is `\ _SB.PCI0.LPCB.KBD`.  
For multimedia functions:
- Remap 1: F4 (Network) to F4
@ -97,22 +96,28 @@ For multimedia functions:
For Fn 1-12 functions, check the following option within `Preferences/Keyboard`:
![Fn keys](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/fnkeys.png)
**Needs `OpenCore Patches/ x1c6-keyboard.plist`**
> ### SSDT-PTSWAK
### SSDT-EXT3-LedReset-TP
- Comprehensive sleep/wake patch.
**Needs `OpenCore Patches/ PTSWAK.plist`**
### SSDT-EXT4-WakeScreen
**Need `OpenCore Patches/ Comprehensive Patch Changed Its Name To.plist`**
Look up `_PTS` and `_WAK` and only apply the corresponding patches:
Look up `_PTS` and `_WAK` in source DSDT and confirm the following, modify if different:
`_PTS` is `NotSerialized` in my DSDT
`_WAK` is `Serialized` in my DSDT
- **_SSDT-PTSWAK_** —— Comprehensive Patch。
### SSDT-EXT1-FixShutdown
- **_SSDT-EXT3-LedReset-TP_**`EXT3` extension patch. Solve the problem that the breathing light does not return to normal after the TP machine wakes up。
- PTSWAK extension patch. Fixes reboot after shutdown.
- **_SSDT-EXT4-WakeScreen_**`EXT4` extension patch. Solve the problem that some machines need to press any key to light up the screen after waking up. When using, you should inquire whether the `PNP0C0D` device name and path already exist in the patch file, such as`_SB.PCI0.LPCB.LID0`. If not, add it yourself.
### SSDT-EXT3-LedReset-TP
- PTSWAK extension patch. Solve the problem that the breathing light does not return to normal after the TP machine wakes up.
### SSDT-EXT4-WakeScreen
- PTSWAK extension patch. Solve the problem that some machines need to press any key to light up the screen after waking up. When using, you should inquire whether the `PNP0C0D` device name and path already exist in the patch file, such as`_SB.PCI0.LPCB.LID0`. If not, add it yourself.
> ### SSDT-SBUS
@ -136,6 +141,7 @@ Why?: `PNP0C0C` missing in DSDT.
> ### SSDT-ALS0
Starting with Catalina, an ambient light sensor device is required for brightness preservation. This patch fakes an ambient light sensor device `ALS0` since the x1c6 does not have one.
Why?: `ACPI0008` missing in DSDT.
> ### SSDT-GPRW
@ -143,5 +149,5 @@ Why?: `ACPI0008` missing in DSDT.
Why?: Fix instant wake by hooking GPRW (0D/6D Patch)
```
Special thanks to [daliansky](https://github.com/daliansky) and [jsassu20](https://github.com/jsassu20) for their work.
Special thanks to [daliansky](https://github.com/daliansky).
```

View file

@ -1,14 +1,21 @@
> ## Upgrading and other Major Changes:
- macOS minor version upgrade works just as any Mac would.
- It is generally a good idea to hold off on new major macOS releases until kexts and other dependencies have been tested.
- Upon upgrading macOS, even minor releases, it is recommended to clear NVRAM to reduce problems.
- Upon changing SSDT patches and/or changing BIOS settings, it is also recommended to clear NVRAM variables.
> ## Dual Booting:
- I recommend that you dual boot using another drive in the WAN slot.
- I've found that dual booting with OpenCore can be quite troulesome. Instead, what I recommend is to use rEFInd Boot Manager should you need to dual boot Windows or Linux.
## Modifier Key Patching:
> ## Modifier Key Patching:
By default, Windows, Left Alt, and Right Alt are mismapped. An easy fix for this is to install [Karabiner-Elements](https://karabiner-elements.pqrs.org/) and configure it as:
![karabiner_modifier](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/karabiner_modifier.png)
## Multimedia Fn Key Patching:
> ## Multimedia Fn Key Patching:
Since macOS doesn't not natively support some multimedia Fn key actions. BetterTouchTool is required to program these actions. Keyboard Mastero is also an alternative but I've found that BetterTouchTool is a simpler and easier option.
Simply import `patches/BetterTouchTool/x1c6-functions.bttpreset`. My settings are as followed:
@ -21,14 +28,14 @@ Simply import `patches/BetterTouchTool/x1c6-functions.bttpreset`. My settings ar
- PrtSc = Window Screen Capture
Of course, feel free to change this to your preference in BetterTouchTool.
## Touchpad Settings in macOS:
> ## Touchpad Settings in macOS:
- Force Click is enabled by default, which turns any click on the trackpad into a force touch. I suggest you turn this off.
- In addition, I prefer to have tap to click on.
See my touchpad settings:
![touchpad](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/touchpad.png)
## Headphone Patch:
> ## Headphone Patch:
- Installing ALCPlugFix addresses the following:
- Change output to headphones after being plugged in, and to change it back to speakers after being unplugged.

View file

@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
> ### 2020-4-6
#### Added
- SSDT-EXT1-FixShutdown to fix the rare issue that sometimes a shutdown would result in a restart instead.
- SSDT-HPET to patch out legacy IRQ conflicts.
#### Changed
- Better notes and documentation with `config.plist`
- Modularized each needed OpenCore config patches.
> ### 2020-4-1
#### Added

View file

@ -4,18 +4,29 @@
<dict>
<key>ACPI</key>
<dict>
<key>Add</key>
<array>
<dict>
<key>Comment</key>
<string>HPET _CRS (Needs _CRS to XCRS Rename)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-HPET.aml</string>
</dict>
</array>
<key>Patch</key>
<array>
<dict>
<key>Comment</key>
<string>_PTS to ZPTS(1,N)</string>
<string>HPET _CRS to XCRS Rename</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1BUUwE=
X0NSUwig
</data>
<key>Limit</key>
<integer>0</integer>
@ -24,10 +35,11 @@
</data>
<key>OemTableId</key>
<data>
AAAAAA==
</data>
<key>Replace</key>
<data>
WlBUUwE=
WENSUwig
</data>
<key>ReplaceMask</key>
<data>
@ -36,17 +48,21 @@
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
AAAAAA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>_PTS to ZPTS(1,S)</string>
<string>RTC IRQ 8 Patch</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1BUUwk=
IgABeQA=
</data>
<key>Limit</key>
<integer>0</integer>
@ -55,10 +71,11 @@
</data>
<key>OemTableId</key>
<data>
AAAAAA==
</data>
<key>Replace</key>
<data>
WlBUUwk=
IgAAeQA=
</data>
<key>ReplaceMask</key>
<data>
@ -67,17 +84,21 @@
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
AAAAAA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>_WAK to ZWAK(1,N)</string>
<string>TIMR IRQ 0 Patch</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1dBSwE=
IgEAeQA=
</data>
<key>Limit</key>
<integer>0</integer>
@ -86,10 +107,11 @@
</data>
<key>OemTableId</key>
<data>
AAAAAA==
</data>
<key>Replace</key>
<data>
WldBSwE=
IgAAeQA=
</data>
<key>ReplaceMask</key>
<data>
@ -98,37 +120,10 @@
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
</dict>
<dict>
<key>Comment</key>
<string>_WAK to ZWAK(1,S)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<key>TableSignature</key>
<data>
X1dBSwk=
AAAAAA==
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WldBSwk=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
</dict>
</array>
</dict>

View file

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>Patch</key>
<array>
<dict>
<key>Comment</key>
<string>_PTS to ZPTS(1,N)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1BUUwE=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WlBUUwE=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
</dict>
<dict>
<key>Comment</key>
<string>_WAK to ZWAK(1,S)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1dBSwk=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WldBSwk=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
</dict>
</array>
</dict>
</dict>
</plist>

View file

@ -1,139 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>Patch</key>
<array>
<dict>
<key>Comment</key>
<string>TP-BAT:GBIF03 to XBIF03</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
R0JJRgM=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WEJJRgM=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
</dict>
<dict>
<key>Comment</key>
<string>TP-BAT:GBIX03 to XBIX03</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
R0JJWAM=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WEJJWAM=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
</dict>
<dict>
<key>Comment</key>
<string>TP-BAT:GBST04 to XBST04</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
R0JTVAQ=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WEJTVAQ=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
</dict>
<dict>
<key>Comment</key>
<string>TP-BAT:AJTP03 to XJTP03</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
QUpUUAM=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WEpUUAM=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
</array>
</dict>
</dict>
</plist>

View file

@ -6,6 +6,133 @@
<dict>
<key>Patch</key>
<array>
<dict>
<key>Comment</key>
<string>TP-BAT:GBIF03 to XBIF03</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
R0JJRgM=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WEJJRgM=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
</dict>
<dict>
<key>Comment</key>
<string>TP-BAT:GBIX03 to XBIX03</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
R0JJWAM=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WEJJWAM=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
</dict>
<dict>
<key>Comment</key>
<string>TP-BAT:GBST04 to XBST04</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
R0JTVAQ=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WEJTVAQ=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
</dict>
<dict>
<key>Comment</key>
<string>TP-BAT:AJTP03 to XJTP03</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
QUpUUAM=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WEpUUAM=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
<dict>
<key>Comment</key>
<string>Mutex:MDGS=0</string>

View file

@ -0,0 +1,329 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>Add</key>
<array>
<dict>
<key>Comment</key>
<string>Thinkpad Keyboard (Need x1c6-keyboard.plist)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-Keyboard.aml</string>
</dict>
</array>
<key>Patch</key>
<array>
<dict>
<key>Comment</key>
<string>_Q6A to XQ6A (F4 - Microphone Mute)</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1E2QQ==
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WFE2QQ==
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
<dict>
<key>Comment</key>
<string>_Q15 to XQ15 (F5 - Brightness Down)</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1ExNQ==
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WFExNQ==
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
<dict>
<key>Comment</key>
<string>_Q14 to XQ14 (F6 - Brightness Up)</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1ExNA==
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WFExNA==
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
<dict>
<key>Comment</key>
<string>_Q16 to XQ16 (F7 - Dual Display)</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1ExNg==
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WFExNg==
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
<dict>
<key>Comment</key>
<string>_Q64 to XQ64 (F8 - Network)</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1E2NA==
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WFE2NA==
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
<dict>
<key>Comment</key>
<string>_Q66 to XQ66 (F9 - Settings)</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1E2Ng==
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WFE2Ng==
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
<dict>
<key>Comment</key>
<string>_Q60 to XQ60 (F10 - Bluetooth)</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1E2MA==
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WFE2MA==
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
<dict>
<key>Comment</key>
<string>_Q61 to XQ61 (F11 - Keyboard)</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1E2MQ==
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WFE2MQ==
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
<dict>
<key>Comment</key>
<string>_Q62 to XQ62 (F12 - Star)</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X1E2Mg==
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
WFE2Mg==
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
</data>
</dict>
</array>
</dict>
</dict>
</plist>

View file

@ -0,0 +1,14 @@
// Fix "restart after shutdown"
// Credit RehabMan (Laptop-DSDT-Patch)
DefinitionBlock("", "SSDT", 2, "OCLT", "EXT4", 0)
{
External (_SB_.PCI0.XHC_.PMEE, FieldUnitObj)
Method (EXT1, 1, NotSerialized)
{
If ((5 == Arg0) && CondRefOf (\_SB.PCI0.XHC.PMEE)) {
\_SB.PCI0.XHC.PMEE = 0
}
}
}
//EOF

17
patches/SSDT-HPET.dsl Normal file
View file

@ -0,0 +1,17 @@
//
// Supplementary HPET _CRS from Goldfish64
// Requires the HPET's _CRS to XCRS rename
//
DefinitionBlock ("", "SSDT", 2, "CORP", "HPET", 0x00000000)
{
External (_SB.PCI0.LPCB, DeviceObj) // (from opcode)
Name (\_SB.PCI0.LPCB.HPET._CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
IRQNoFlags ()
{0,8,11}
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
)
})
}