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

June 27 2018

This commit is contained in:
Tyler Nguyen 2018-06-27 19:15:14 -05:00
parent cf9e18d539
commit 81725b6394
13 changed files with 943 additions and 12 deletions

2
1_README-hardware.md Normal file
View file

@ -0,0 +1,2 @@
1. Stock Samsung PM981 should be replaced to avoid installation problems with macOS. It should be noted that since there is no NVMe power management, a SATA m.2 SSD drive will drastically increase battery life [Reference](https://www.tonymacx86.com/threads/solved-lenovo-x1-carbon-6th-gen-battery-life.254508/#post-1768978).
2. Stock Intel Wifi/Bluetooth card must be replaced with a macOS compatible card. See [Broadcom Wifi/Bluetooth Guide](https://www.tonymacx86.com/threads/broadcom-wifi-bluetooth-guide.242423/#post-1664577).

9
2_README-installMEDIA.md Normal file
View file

@ -0,0 +1,9 @@
1. Download macOS installer from the App Store.
2. Erase the installation media as HFS, named "Install macOS (MacOS version)" - Example: Install macOS High Sierra.
3. Use 'createinstallermedia' command to copy installer to install media. [guide](https://support.apple.com/en-us/ht201372)
4. Install CLOVER onto the installation media, use tonymacx86 UEFI Clover Builds. [Download](https://www.tonymacx86.com/resources/categories/clover-builds.12/)
5. Rename "config_installMEDIA.plist" to "config.plist" and replace the stock "config.plist"
6. Place [FakeSMC.kext](https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/) and [VoodooPS2Controller.kext](https://bitbucket.org/RehabMan/os-x-voodoo-ps2-controller/downloads/) in 'EFI/CLOVER/kexts/Other/'
7. Proceed to boot using the installation media and go through the process.
8. *Optional: Since TRIM on NVMe drives cannot be disabled. And APFS with TRIM enabled can result in a slow boot (~30-50 seconds). Skip APFS conversion and use HFS as the default filesystem: boot back into the installation media after installation has completed and rebooted, open the Terminal, and execute "/Volumes/Image\ Volume/No-Convert", then finally reboot.
9. Complete the installation.

1
3_README-BIOSsettings.md Normal file
View file

@ -0,0 +1 @@
asdas

View file

@ -0,0 +1,127 @@
#Maintained by: RehabMan for: Laptop Patches
#battery_Lenovo-X230i.txt
# Created by Jarett, 2015-06-15
# some fixes by Rehabman
# added Thinkpad X1 Carbon support based on submittal by dealecth
# added Thinkpad P50 (Skylake) support based on info from msharaf
# Works for:
# Lenovo ThinkPad X230i
# Lenovo ThinkPad X1 Carbon (5th gen)
# Lenovo ThinkPad P50 (6th gen)
# Lenovo Thinkpad P51 (KabyLake) (per szclsya)
# Lenovo E580 (per jamesst20)
# Lenovo Thinkpad X1 Carbon (6th gen) (per jhonizzle)
# Note: This DSDT requires "Fix Mutex with non-zero SyncLevel"
# Note: disable secondary battery
# *** remove this line if you have a second battery installed)
into method label _STA parent_label BAT1 replace_content begin Return(0) end;
into method label B1B2 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n
end;
into method label B1B4 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B4, 4, NotSerialized)\n
{\n
Store(Arg3, Local0)\n
Or(Arg2, ShiftLeft(Local0, 8), Local0)\n
Or(Arg1, ShiftLeft(Local0, 8), Local0)\n
Or(Arg0, ShiftLeft(Local0, 8), Local0)\n
Return(Local0)\n
}\n
end;
into method label RE1B parent_label EC remove_entry;
into method label RECB parent_label EC remove_entry;
into device label EC insert
begin
Method (RE1B, 1, NotSerialized)\n
// Arg0 - offset in bytes from zero-based EC\n
{\n
OperationRegion(ECOR, EmbeddedControl, Arg0, 1)\n
Field(ECOR, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n
Return(BYTE)\n
}\n
Method (RECB, 2, Serialized)\n
// Arg0 - offset in bytes from zero-based EC\n
// Arg1 - size of buffer in bits\n
{\n
ShiftRight(Arg1, 3, Arg1)\n
Name(TEMP, Buffer(Arg1) { })\n
Add(Arg0, Arg1, Arg1)\n
Store(0, Local0)\n
While (LLess(Arg0, Arg1))\n
{\n
Store(RE1B(Arg0), Index(TEMP, Local0))\n
Increment(Arg0)\n
Increment(Local0)\n
}\n
Return(TEMP)\n
}\n
end;
# Change EC register declarations bigger than 8 bit
into device label EC code_regex HWAK,\s+16, replace_matched begin AK00,8,AK01,8, end;
into device label EC code_regex SBRC,\s+16, replace_matched begin RC00,8,RC01,8, end;
into device label EC code_regex SBFC,\s+16, replace_matched begin FC00,8,FC01,8, end;
into device label EC code_regex SBAC,\s+16, replace_matched begin AC00,8,AC01,8, end;
into device label EC code_regex SBVO,\s+16, replace_matched begin BV00,8,BV01,8, end;
into device label EC code_regex SBBM,\s+16, replace_matched begin SB00,8,SB01,8, end;
into device label EC code_regex SBDC,\s+16, replace_matched begin DC00,8,DC01,8, end;
into device label EC code_regex SBDV,\s+16, replace_matched begin DV00,8,DV01,8, end;
into device label EC code_regex SBSN,\s+16 replace_matched begin SN00,8,SN01,8 end;
into device label EC code_regex SBCH,\s+32 replace_matched begin CH00,8,CH01,8,CH02,8,CH03,8 end;
into device label EC code_regex (SBMN,)\s+(128) replace_matched begin BMNX,%2,//%1%2 end;
into device label EC code_regex (SBDN,)\s+(128) replace_matched begin BDNX,%2,//%1%2 end;
# SBCC added for newer Lenovo laptops, such as X1 Carbon
into device label EC code_regex SBCC,\s+16 replace_matched begin CC00,8,CC01,8, end;
# HWAC added for newer Lenovo laptops, such as X1 Carbon
into device label EC code_regex HWAC,\s+16, replace_matched begin AC10,8,AC11,8, end;
into method label _L17 code_regex \(\\_SB\.PCI0\.LPCB\.EC\.HWAC, replaceall_matched begin (B1B2(\\_SB.PCI0.LPCB.EC.AC10,\\_SB.PCI0.LPCB.EC.AC11), end;
into method label OWAK code_regex \(\\_SB\.PCI0\.LPCB\.EC\.HWAC, replaceall_matched begin (B1B2(\\_SB.PCI0.LPCB.EC.AC10,\\_SB.PCI0.LPCB.EC.AC11), end;
# HWAK in OWAK added for Thinkpad E580
into method label OWAK code_regex \(\\_SB\.PCI0\.LPCB\.EC\.HWAK, replaceall_matched begin (B1B2(\\_SB.PCI0.LPCB.EC.AK00,\\_SB.PCI0.LPCB.EC.AK01), end;
# HWAK in _L43 also for Thinkpad E580
into method label _L43 code_regex \(\\_SB\.PCI0\.LPCB\.EC\.HWAK, replaceall_matched begin (B1B2(\\_SB.PCI0.LPCB.EC.AK00,\\_SB.PCI0.LPCB.EC.AK01), end;
# added for P50
into method label _WAK code_regex \(\\_SB\.PCI0\.LPC\.EC\.HWAC, replaceall_matched begin (B1B2(\\_SB.PCI0.LPC.EC.AC10,\\_SB.PCI0.LPC.EC.AC11), end;
into method label \_WAK code_regex \(\\_SB\.PCI0\.LPC\.EC\.HWAC, replaceall_matched begin (B1B2(\\_SB.PCI0.LPC.EC.AC10,\\_SB.PCI0.LPC.EC.AC11), end;
into method label _L17 code_regex \(\\_SB\.PCI0\.LPC\.EC\.HWAC, replaceall_matched begin (B1B2(\\_SB.PCI0.LPC.EC.AC10,\\_SB.PCI0.LPC.EC.AC11), end;
# added for X1 Cabon 6th gen
into method label AJTP code_regex \(SBRC, replaceall_matched begin (B1B2(RC00,RC01), end;
#put 8-bit variable together
into method label _L1D code_regex \(\\_SB\.PCI0\.LPC\.EC\.HWAK, replaceall_matched begin (B1B2(\\_SB.PCI0.LPC.EC.AK00,\\_SB.PCI0.LPC.EC.AK01), end;
into method label GBST code_regex \(SBRC, replaceall_matched begin (B1B2(RC00,RC01), end;
into method label GBIF code_regex \(SBFC, replaceall_matched begin (B1B2(FC00,FC01), end;
into method label GBST code_regex \(SBAC, replaceall_matched begin (B1B2(AC00,AC01), end;
into method label GBST code_regex \(SBVO, replaceall_matched begin (B1B2(BV00,BV01), end;
into method label GBIF code_regex \(SBBM, replaceall_matched begin (B1B2(SB00,SB01), end;
into method label GBIF code_regex \(SBDC, replaceall_matched begin (B1B2(DC00,DC01), end;
into method label GBIF code_regex \(SBDV\) replaceall_matched begin (B1B2(DV00,DV01)) end;
into method label GBIF code_regex SBDV, replaceall_matched begin B1B2(DV00,DV01), end;
into method label GBIF code_regex \(SBSN, replaceall_matched begin (B1B2(SN00,SN01), end;
into method label GBIF code_regex \(SBCH, replaceall_matched begin (B1B4(CH00,CH01,CH02,CH03), end;
into method label GBIF code_regex \(SBMN, replaceall_matched begin (RECB(0xA0,128), end;
into method label GBIF code_regex \(SBDN, replaceall_matched begin (RECB(0xA0,128), end;
#GBIX added for newer Lenovo such as Lenovo X1 Carbon
into method label GBIX code_regex \(SBFC, replaceall_matched begin (B1B2(FC00,FC01), end;
into method label GBIX code_regex \(SBBM, replaceall_matched begin (B1B2(SB00,SB01), end;
into method label GBIX code_regex \(SBCC, replaceall_matched begin (B1B2(CC00,CC01), end;
into method label GBIX code_regex \(SBDC, replaceall_matched begin (B1B2(DC00,DC01), end;
into method label GBIX code_regex \(SBDV\) replaceall_matched begin (B1B2(DV00,DV01)) end;
into method label GBIX code_regex SBDV, replaceall_matched begin B1B2(DV00,DV01), end;
into method label GBIX code_regex \(SBSN, replaceall_matched begin (B1B2(SN00,SN01), end;
into method label GBIX code_regex \(SBCH, replaceall_matched begin (B1B4(CH00,CH01,CH02,CH03), end;
into method label GBIX code_regex \(SBMN, replaceall_matched begin (RECB(0xA0,128), end;
into method label GBIX code_regex \(SBDN, replaceall_matched begin (RECB(0xA0,128), end;

View file

@ -0,0 +1,23 @@
#Maintained by: RehabMan for: Laptop Patches
#system_HPET.txt
# If you have panic "No HPETs available..." or have a abrubt restart
# after waking from sleep, you may need this patch.
# The patch makes sure the HPET device is always available.
# HPET fix to avoid AppleIntelCPUPowerManagement panic
into method label _STA parent_hid PNP0103 remove_entry;
into device name_hid PNP0103 code_regex Name\s\(_STA\,\s+0x0F\) remove_matched;
into device name_hid PNP0103 insert
begin
Name (_STA, 0x0F)\n
end;
into method label _CRS parent_hid PNP0103 remove_entry;
into device name_hid PNP0103 insert
begin
Method (_CRS, 0, NotSerialized)\n
{\n
Return (BUF0)\n
}\n
end;

View file

@ -0,0 +1,21 @@
#Maintained by: RehabMan for: Laptop Patches
#system_IRQ.txt
# This can fix non-working audio and also has an affect on HPET.
#
# Use this if you have issues with patched AppleHDA (required on almost all laptops)
# or if you have issues with HPET (restart after wake).
# IRQ fix
into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
into device name_hid PNP0103 code_regex IRQNoFlags\s\(\)\n\s+\{.*\} removeall_matched;
into device name_hid PNP0103 code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\).*\n\s+\{((?:.|\n)*)\}\) replace_matched
begin
Name (%1, ResourceTemplate()\n
{\n
IRQNoFlags() { 0, 8, 11, 15 }\n
%2
})\n
end;

View file

@ -0,0 +1,34 @@
#Maintained by: RehabMan for: Laptop Patches
#system_Mutex.txt
#
# Some DSDTs use Mutex objects with non-zero a SyncLevel. Evidently,
# OS X has some difficulty with this part of the ACPI spec, either that
# or the DSDTs are, in fact, codec incorrectly and Windows is ignoring
# it.
# The common result of a non-zero SyncLevel is failure of methods at the
# point of Acquire on the mutext in question. This can result in strange
# behavior, failed battery status, or other issues.
#
# This patch corrects all Mutex objects declared with a non-zero
# SyncLevel to use zero.
#
# 2x as there is some sort of MaciASL bug...
# (code_regex_not seems broken)
#into_all all code_regex_not Mutex\s+\([^,]*,\s+0x00\) code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
#into_all all code_regex_not Mutex\s+\([^,]*,\s+0x00\) code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
# 10x as workaround for MaciASL bug...
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;
into_all all code_regex Mutex\s+\(([^,]*),\s+[^)]*\) replaceall_matched begin Mutex(%1, 0) end;

View file

@ -0,0 +1,5 @@
#Maintained by: RehabMan for: Laptop Patches
#system_RTC.txt
# RTC fix
into device name_hid PNP0B00 code_regex (IO\s\((?:\s*[^,]+,\s*(?:\/\/\s.*)?\s*\n)+\s*)(\dx\d+)(,\s*(?:\/\/\s.*)?\s*\n\s*\)) replace_matched begin %10x02%3 end;

View file

@ -0,0 +1,24 @@
#Maintained by: RehabMan for: Laptop Patches
#system_SMBUS.txt
# SMBUS fix
into device label BUS0 parent_adr 0x001F0003 remove_entry;
into device name_adr 0x001F0003 insert
begin
Device (BUS0)\n
{\n
Name (_CID, "smbus")\n
Name (_ADR, Zero)\n
Device (DVL0)\n
{\n
Name (_ADR, 0x57)\n
Name (_CID, "diagsvault")\n
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package() { "address", 0x57 })\n
}\n
}\n
}\n
end;

View file

@ -0,0 +1,35 @@
#Maintained by: RehabMan for: Laptop Patches
#system_WAK2.txt
#
# In 10.8.5 and perhaps later versions of OS X, DSDT method _WAK
# called after resuming from S3 suspend (Sleep, or suspend to RAM),
# is called with garbage in Arg0, where it should be a value
# representing the sleep state being left (1-5).
#
# This causes problems for code in DSDT _WAK method which expects
# and checks against Arg0==3 for wake from sleep to turn on various
# devices or restore internal state to a working state.
#
# This patch adds code at the very beginning of the method to
# force an an out-of-range Arg0 to 3.
#
# See system_WAK1.txt for an alternate patch
#
# Note regarding Yosemite:
# At least in Yosemite 10.10.2, this bug appears to be fixed.
# I didn't notice/verify on other versions of Yosemite
#
into method label _WAK code_regex ([\s\S]*) replace_matched
begin
If (LOr(LLess(Arg0,1),LGreater(Arg0,5))) { Store(3,Arg0) }\n
%1
end;
into method label \_WAK code_regex ([\s\S]*) replace_matched
begin
If (LOr(LLess(Arg0,1),LGreater(Arg0,5))) { Store(3,Arg0) }\n
%1
end;

View file

@ -1,6 +1,6 @@
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/ [FAQ READ FIRST! Laptop Frequent Questions](https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/)
https://www.tonymacx86.com/threads/guide-2015-x1-carbon-yosemite.162391/ [GUIDE 2015 X1 Carbon Yosemite](https://www.tonymacx86.com/threads/guide-2015-x1-carbon-yosemite.162391/)
https://www.tonymacx86.com/threads/99-perfect-sierra-10-12-6-on-thinkpad-x1-carbon-5th-gen-with-dual-boot-unchanged-win7.237922/ [(99% perfect) Sierra 10.12.6 on Thinkpad x1 carbon 5th-gen with dual-boot unchanged Win7](https://www.tonymacx86.com/threads/99-perfect-sierra-10-12-6-on-thinkpad-x1-carbon-5th-gen-with-dual-boot-unchanged-win7.237922/)
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/ https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
https://www.tonymacx86.com/threads/laptop-screen-goes-blank-when-plugging-in-external-monitor.226226/ https://www.tonymacx86.com/threads/laptop-screen-goes-blank-when-plugging-in-external-monitor.226226/
https://www.tonymacx86.com/threads/override-edid-for-display-problem.47200/ https://www.tonymacx86.com/threads/override-edid-for-display-problem.47200/

650
config_installMEDIA.plist Executable file
View file

@ -0,0 +1,650 @@
<?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>AutoMerge</key>
<true/>
<key>Comment-DisabledAML</key>
<string>Disable other forms of CPU PM due to SSDT/Generate/PluginType=true</string>
<key>DSDT</key>
<dict>
<key>DropOEM_DSM</key>
<false/>
<key>Fixes</key>
<dict>
<key>Comment-IRQ Fix</key>
<string>The following fixes may be needed for onboard audio/USB/etc</string>
<key>FixHPET</key>
<false/>
<key>FixIPIC</key>
<false/>
<key>FixRTC</key>
<false/>
<key>FixTMR</key>
<false/>
</dict>
<key>Patches</key>
<array>
<dict>
<key>Comment</key>
<string>change OSID to XSID (to avoid match against _OSI XOSI patch)</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
T1NJRA==
</data>
<key>Replace</key>
<data>
WFNJRA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change _OSI to XOSI</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
X09TSQ==
</data>
<key>Replace</key>
<data>
WE9TSQ==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change _DSM to XDSM</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
X0RTTQ==
</data>
<key>Replace</key>
<data>
WERTTQ==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change EC0 to EC</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
RUMwXw==
</data>
<key>Replace</key>
<data>
RUNfXw==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change H_EC to EC</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
SF9FQw==
</data>
<key>Replace</key>
<data>
RUNfXw==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change ECDV to EC</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
RUNEVg==
</data>
<key>Replace</key>
<data>
RUNfXw==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change HDAS to HDEF</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
SERBUw==
</data>
<key>Replace</key>
<data>
SERFRg==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change HECI to IMEI</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
SEVDSQ==
</data>
<key>Replace</key>
<data>
SU1FSQ==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change MEI to IMEI</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
TUVJXw==
</data>
<key>Replace</key>
<data>
SU1FSQ==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change GFX0 to IGPU</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
R0ZYMA==
</data>
<key>Replace</key>
<data>
SUdQVQ==
</data>
</dict>
<dict>
<key>Comment</key>
<string>change PCI0.VID to IGPU #1 (Thinkpad)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
UENJMFZJRF8=
</data>
<key>Replace</key>
<data>
UENJMElHUFU=
</data>
</dict>
<dict>
<key>Comment</key>
<string>change PCI0.VID to IGPU #2 (Thinkpad)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
VklEXwhfQURSDAAAAgA=
</data>
<key>Replace</key>
<data>
SUdQVQhfQURSDAAAAgA=
</data>
</dict>
</array>
</dict>
<key>DisabledAML</key>
<array>
<string>SSDT.aml</string>
<string>SSDT-XCPM.aml</string>
<string>SSDT-PluginType1.aml</string>
</array>
<key>DropTables</key>
<array>
<dict>
<key>Signature</key>
<string>#MCFG</string>
</dict>
<dict>
<key>Signature</key>
<string>DMAR</string>
</dict>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>xh_rvp10</string>
</dict>
</array>
<key>FixHeaders</key>
<true/>
<key>SSDT</key>
<dict>
<key>DropOem</key>
<false/>
<key>Generate</key>
<dict>
<key>PluginType</key>
<true/>
</dict>
<key>NoOemTableId</key>
<false/>
</dict>
</dict>
<key>Boot</key>
<dict>
<key>#DefaultVolume</key>
<string>LastBootedVolume</string>
<key>Arguments</key>
<string>dart=0 nv_disable=1 kext-dev-mode=1 -disablegfxfirmware</string>
<key>NeverHibernate</key>
<true/>
<key>Secure</key>
<false/>
<key>Timeout</key>
<integer>5</integer>
</dict>
<key>Comment</key>
<string>This file is for 10.12.6+ with native KabyLake support</string>
<key>Devices</key>
<dict>
<key>#AddProperties</key>
<array>
<dict>
<key>Comment</key>
<string>hda-gfx=onboard-1 for HDMI audio</string>
<key>Device</key>
<string>IntelGFX</string>
<key>Key</key>
<string>hda-gfx</string>
<key>Value</key>
<data>
b25ib2FyZC0xAA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>hda-gfx=onboard-1 for HDMI audio</string>
<key>Device</key>
<string>HDA</string>
<key>Key</key>
<string>hda-gfx</string>
<key>Value</key>
<data>
b25ib2FyZC0xAA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>layout-id=3</string>
<key>Device</key>
<string>HDA</string>
<key>Key</key>
<string>layout-id</string>
<key>Value</key>
<data>
AwAAAA==
</data>
</dict>
<dict>
<key>Device</key>
<string>HDA</string>
<key>Key</key>
<string>PinConfigurations</string>
<key>Value</key>
<data>
</data>
</dict>
</array>
<key>AddProperties</key>
<array>
<dict>
<key>Comment</key>
<string>Inject "name" as (data)"#display" to disable graphics drivers on NVidia</string>
<key>Device</key>
<string>NVidia</string>
<key>Disabled</key>
<false/>
<key>Key</key>
<string>name</string>
<key>Value</key>
<data>
I2Rpc3BsYXkA
</data>
</dict>
<dict>
<key>Comment</key>
<string>Inject "IOName" as "#display" to disable graphics drivers on NVidia</string>
<key>Device</key>
<string>NVidia</string>
<key>Disabled</key>
<false/>
<key>Key</key>
<string>IOName</string>
<key>Value</key>
<string>#display</string>
</dict>
<dict>
<key>Comment</key>
<string>Inject bogus class-code to prevent graphics drivers loading for NVidia</string>
<key>Device</key>
<string>NVidia</string>
<key>Disabled</key>
<false/>
<key>Key</key>
<string>class-code</string>
<key>Value</key>
<data>
/////w==
</data>
</dict>
<dict>
<key>Comment</key>
<string>Inject "name" as (data)"#display" to disable graphics drivers on AMD</string>
<key>Device</key>
<string>ATI</string>
<key>Disabled</key>
<false/>
<key>Key</key>
<string>name</string>
<key>Value</key>
<data>
I2Rpc3BsYXkA
</data>
</dict>
<dict>
<key>Comment</key>
<string>Inject "IOName" as "#display" to disable graphics drivers on AMD</string>
<key>Device</key>
<string>ATI</string>
<key>Disabled</key>
<false/>
<key>Key</key>
<string>IOName</string>
<key>Value</key>
<string>#display</string>
</dict>
<dict>
<key>Comment</key>
<string>Inject bogus class-code to prevent graphics drivers loading for AMD</string>
<key>Device</key>
<string>ATI</string>
<key>Disabled</key>
<false/>
<key>Key</key>
<string>class-code</string>
<key>Value</key>
<data>
/////w==
</data>
</dict>
<dict>
<key>Comment</key>
<string>Inject bogus vendor-id to prevent graphics drivers loading for AMD</string>
<key>Device</key>
<string>ATI</string>
<key>Disabled</key>
<false/>
<key>Key</key>
<string>vendor-id</string>
<key>Value</key>
<data>
//8AAA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>Inject bogus device-id to prevent graphics drivers loading for AMD</string>
<key>Device</key>
<string>ATI</string>
<key>Disabled</key>
<false/>
<key>Key</key>
<string>device-id</string>
<key>Value</key>
<data>
//8AAA==
</data>
</dict>
</array>
<key>Audio</key>
<dict>
<key>Inject</key>
<integer>0</integer>
</dict>
<key>FakeID</key>
<dict>
<key>#Kaby Lake-Comment</key>
<string>To avoid automatic Clover fake device-id (Skylake) injection</string>
<key>IntelGFX</key>
<string>0x59168086</string>
</dict>
<key>USB</key>
<dict>
<key>AddClockID</key>
<true/>
<key>FixOwnership</key>
<true/>
<key>Inject</key>
<true/>
</dict>
<key>UseIntelHDMI</key>
<false/>
</dict>
<key>DisableDrivers</key>
<array>
<string>VBoxHfs</string>
</array>
<key>GUI</key>
<dict>
<key>#ScreenResolution</key>
<string>1920x1080</string>
<key>Custom</key>
<dict>
<key>Entries</key>
<array>
<dict>
<key>Disabled</key>
<false/>
<key>Hidden</key>
<false/>
<key>Ignore</key>
<false/>
<key>NoCaches</key>
<false/>
<key>Type</key>
<string>OSXRecovery</string>
</dict>
<dict>
<key>Disabled</key>
<false/>
<key>Ignore</key>
<false/>
<key>Title</key>
<string>Windows</string>
<key>Type</key>
<string>Windows</string>
</dict>
</array>
</dict>
<key>Hide</key>
<array>
<string>Preboot</string>
</array>
<key>Mouse</key>
<dict>
<key>Enabled</key>
<false/>
</dict>
<key>Scan</key>
<dict>
<key>Entries</key>
<true/>
<key>Legacy</key>
<false/>
<key>Linux</key>
<true/>
<key>Tool</key>
<true/>
</dict>
<key>Theme</key>
<string>BGM</string>
</dict>
<key>Graphics</key>
<dict>
<key>EDID</key>
<dict>
<key>Inject</key>
<false/>
</dict>
<key>Inject</key>
<dict>
<key>ATI</key>
<false/>
<key>Intel</key>
<true/>
<key>NVidia</key>
<true/>
</dict>
<key>ig-platform-id</key>
<string>0x12345678</string>
</dict>
<key>KernelAndKextPatches</key>
<dict>
<key>AppleRTC</key>
<true/>
<key>DellSMBIOSPatch</key>
<false/>
<key>ForceKextsToLoad</key>
<array>
<string>\System\Library\Extensions\IONetworkingFamily.kext</string>
<string>\System\Library\Extensions\AppleIntelKBLGraphicsFramebuffer.kext</string>
</array>
<key>KernelLapic</key>
<true/>
<key>KernelPm</key>
<true/>
<key>KernelToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>MSR 0xE2 _xcpm_idle instant reboot(c) Pike R. Alpha</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
ILniAAAADzA=
</data>
<key>Replace</key>
<data>
ILniAAAAkJA=
</data>
</dict>
</array>
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>0x591b0000, 32MB BIOS, 19MB framebuffer 9MB cursor bytes (credit RehabMan)</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
AABgAgAAUAE=
</data>
<key>InfoPlistPatch</key>
<false/>
<key>Name</key>
<string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
<key>Replace</key>
<data>
AAAwAQAAkAA=
</data>
</dict>
<dict>
<key>Comment</key>
<string>0x591b0000, 0105 instead of 0306, HDMI</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
AgQKAAAIAACHAQAAAwYKAAAEAACHAQAA/wAAAAEAAAAg
AAAA
</data>
<key>InfoPlistPatch</key>
<false/>
<key>Name</key>
<string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
<key>Replace</key>
<data>
AQUKAAAIAACHAQAAAgQKAAAIAACHAQAA/wAAAAEAAAAg
AAAA
</data>
</dict>
<dict>
<key>Comment</key>
<string>0x591b0000, 0105 instead of 0204, HDMI</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
AgQKAAAIAACHAQAAAwYKAAAEAACHAQAA/wAAAAEAAAAg
AAAA
</data>
<key>InfoPlistPatch</key>
<false/>
<key>Name</key>
<string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
<key>Replace</key>
<data>
AQUKAAAIAACHAQAAAwYKAAAEAACHAQAA/wAAAAEAAAAg
AAAA
</data>
</dict>
<dict>
<key>Comment</key>
<string>0x591b0000, eliminate all external ports (0204 and 0306)</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
AgQKAAAIAACHAQAAAwYKAAAEAACHAQAA/wAAAAEAAAAg
AAAA
</data>
<key>InfoPlistPatch</key>
<false/>
<key>Name</key>
<string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
<key>Replace</key>
<data>
/wAAAAEAAAAgAAAA/wAAAAEAAAAgAAAA/wAAAAEAAAAg
AAAA
</data>
</dict>
</array>
</dict>
<key>RtVariables</key>
<dict>
<key>BooterConfig</key>
<string>0x28</string>
<key>CsrActiveConfig</key>
<string>0x67</string>
</dict>
<key>SMBIOS</key>
<dict>
<key>ProductName</key>
<string>MacBookPro14,1</string>
<key>Trust</key>
<true/>
</dict>
<key>SystemParameters</key>
<dict>
<key>InjectKexts</key>
<string>Detect</string>
</dict>
</dict>
</plist>