diff --git a/.gitignore b/.gitignore
index f4fbe44..e8f5564 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@ Library/Extensions/HighPointIOP.kext
Library/Extensions/HighPointRR.kext
Library/Extensions/PromiseSTEX.kext
Library/Extensions/SoftRAID.kext
+SMBIOS.plist
diff --git a/EFI-OpenCore/EFI/OC/ACPI/SSDT-HPET.aml b/EFI-OpenCore/EFI/OC/ACPI/SSDT-HPET.aml
index da1e744..7494cd7 100644
Binary files a/EFI-OpenCore/EFI/OC/ACPI/SSDT-HPET.aml and b/EFI-OpenCore/EFI/OC/ACPI/SSDT-HPET.aml differ
diff --git a/EFI-OpenCore/EFI/OC/ACPI/SSDT-Keyboard.aml b/EFI-OpenCore/EFI/OC/ACPI/SSDT-Keyboard.aml
index 7383fa0..26093c0 100644
Binary files a/EFI-OpenCore/EFI/OC/ACPI/SSDT-Keyboard.aml and b/EFI-OpenCore/EFI/OC/ACPI/SSDT-Keyboard.aml differ
diff --git a/EFI-OpenCore/EFI/OC/ACPI/SSDT-MCHC.aml b/EFI-OpenCore/EFI/OC/ACPI/SSDT-MCHC.aml
deleted file mode 100644
index d6c07f2..0000000
Binary files a/EFI-OpenCore/EFI/OC/ACPI/SSDT-MCHC.aml and /dev/null differ
diff --git a/EFI-OpenCore/EFI/OC/ACPI/SSDT-SBUS.aml b/EFI-OpenCore/EFI/OC/ACPI/SSDT-SBUS.aml
deleted file mode 100644
index 39ff0dc..0000000
Binary files a/EFI-OpenCore/EFI/OC/ACPI/SSDT-SBUS.aml and /dev/null differ
diff --git a/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/Info.plist b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/Info.plist
new file mode 100644
index 0000000..6d8276d
--- /dev/null
+++ b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/Info.plist
@@ -0,0 +1,95 @@
+
+
+
+
+ BuildMachineOSBuild
+ 17G13035
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ VoodooRMI
+ CFBundleIdentifier
+ com.1Revenger1.VoodooRMI
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ VoodooRMI
+ CFBundlePackageType
+ KEXT
+ CFBundleShortVersionString
+ 0.4
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 0.4
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 9F2000
+ DTPlatformVersion
+ GM
+ DTSDKBuild
+ 17E189
+ DTSDKName
+ macosx10.13
+ DTXcode
+ 0941
+ DTXcodeBuild
+ 9F2000
+ IOKitPersonalities
+
+ RMIDevice
+
+ CFBundleIdentifier
+ com.1Revenger1.VoodooRMI
+ Configuration
+
+ DisableWhileTypingTimeout
+ 500
+ TrackstickMultiplier
+ 5
+ TrackstickScrollMultiplierX
+ 5
+ TrackstickScrollMultiplierY
+ 5
+
+ IOClass
+ RMIBus
+ IOProbeScore
+ 2910
+ IOProviderClass
+ RMISMBus
+
+ RMISMBus
+
+ CFBundleIdentifier
+ com.1Revenger1.VoodooRMI
+ IOClass
+ RMISMBus
+ IOProbeScore
+ 500
+ IOProviderClass
+ VoodooSMBusDeviceNub
+
+
+ NSHumanReadableCopyright
+ Copyright © 2020 1Revenger1. All rights reserved.
+ OSBundleLibraries
+
+ com.apple.iokit.IOHIDFamily
+ 2.0
+ com.apple.kpi.iokit
+ 18.5
+ com.apple.kpi.libkern
+ 18.5
+ com.apple.kpi.mach
+ 18.5
+ de.leo-labs.VoodooSMBus
+ 2.1
+
+ OSBundleRequired
+ Console
+
+
diff --git a/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/MacOS/VoodooRMI b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/MacOS/VoodooRMI
new file mode 100755
index 0000000..904431b
Binary files /dev/null and b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/MacOS/VoodooRMI differ
diff --git a/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Info.plist b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Info.plist
new file mode 100644
index 0000000..304731f
--- /dev/null
+++ b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/Info.plist
@@ -0,0 +1,76 @@
+
+
+
+
+ BuildMachineOSBuild
+ 17G13035
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ VoodooInput
+ CFBundleIdentifier
+ me.kishorprins.VoodooInput
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ VoodooInput
+ CFBundlePackageType
+ KEXT
+ CFBundleShortVersionString
+ 1.0.6
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 1.0.6
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 9F2000
+ DTPlatformVersion
+ GM
+ DTSDKBuild
+ 17E189
+ DTSDKName
+ macosx10.13
+ DTXcode
+ 0941
+ DTXcodeBuild
+ 9F2000
+ IOKitPersonalities
+
+ Voodoo Input
+
+ CFBundleIdentifier
+ me.kishorprins.VoodooInput
+ IOClass
+ VoodooInput
+ IOProbeScore
+ 200
+ IOPropertyMatch
+
+ VoodooInputSupported
+
+
+ IOProviderClass
+ IOService
+
+
+ NSHumanReadableCopyright
+ Copyright © 2019 Kishor Prins. All rights reserved.
+ OSBundleLibraries
+
+ com.apple.iokit.IOHIDFamily
+ 2.0
+ com.apple.kpi.iokit
+ 14
+ com.apple.kpi.libkern
+ 14
+ com.apple.kpi.mach
+ 13.0
+
+ OSBundleRequired
+ Root
+
+
diff --git a/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/MacOS/VoodooInput b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/MacOS/VoodooInput
new file mode 100755
index 0000000..06d5b05
Binary files /dev/null and b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/MacOS/VoodooInput differ
diff --git a/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/_CodeSignature/CodeResources b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/_CodeSignature/CodeResources
new file mode 100644
index 0000000..d5d0fd7
--- /dev/null
+++ b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/PlugIns/VoodooInput.kext/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,115 @@
+
+
+
+
+ files
+
+ files2
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/_CodeSignature/CodeResources b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/_CodeSignature/CodeResources
new file mode 100644
index 0000000..36af21b
--- /dev/null
+++ b/EFI-OpenCore/EFI/OC/Kexts/VoodooRMI.kext/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,125 @@
+
+
+
+
+ files
+
+ files2
+
+ PlugIns/VoodooInput.kext
+
+ cdhash
+
+ gBdThkR8m9/gtvD9Z2KxYBK6oro=
+
+ requirement
+ cdhash H"881d29fc8cf0eb6fcd23679deb0d7837fdce9a85" or cdhash H"80175386447c9bdfe0b6f0fd6762b16012baa2ba"
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/Info.plist b/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/Info.plist
new file mode 100644
index 0000000..a348759
--- /dev/null
+++ b/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/Info.plist
@@ -0,0 +1,528 @@
+
+
+
+
+ BuildMachineOSBuild
+ 17G13035
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ VoodooSMBus
+ CFBundleIdentifier
+ de.leo-labs.VoodooSMBus
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ VoodooSMBus
+ CFBundlePackageType
+ KEXT
+ CFBundleShortVersionString
+ 2.1
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CFBundleVersion
+ 2.1
+ DTCompiler
+ com.apple.compilers.llvm.clang.1_0
+ DTPlatformBuild
+ 9F2000
+ DTPlatformVersion
+ GM
+ DTSDKBuild
+ 17E189
+ DTSDKName
+ macosx10.13
+ DTXcode
+ 0941
+ DTXcodeBuild
+ 9F2000
+ IOKitPersonalities
+
+ Custom MT2 Personality
+
+ ApplePreferenceCapability
+ 2
+ ApplePreferenceIdentifier
+ com.apple.AppleMultitouchTrackpad
+ ApplePreferencesDefaultPreferences
+
+ ActuateDetents
+ 0
+ Clicking
+ 1
+ DragLock
+ 0
+ Dragging
+ 0
+ FirstClickThreshold
+ 1
+ ForceSuppressed
+
+ SecondClickThreshold
+ 1
+ TrackpadCornerSecondaryClick
+ 0
+ TrackpadFiveFingerPinchGesture
+ 2
+ TrackpadFourFingerHorizSwipeGesture
+ 2
+ TrackpadFourFingerPinchGesture
+ 2
+ TrackpadFourFingerVertSwipeGesture
+ 2
+ TrackpadHorizScroll
+ 1
+ TrackpadMomentumScroll
+
+ TrackpadPinch
+ 1
+ TrackpadRightClick
+
+ TrackpadRotate
+ 1
+ TrackpadScroll
+
+ TrackpadThreeFingerDrag
+
+ TrackpadThreeFingerHorizSwipeGesture
+ 2
+ TrackpadThreeFingerVertSwipeGesture
+ 2
+
+ CFBundleIdentifier
+ com.apple.driver.AppleTopCaseHIDEventDriver
+ DefaultMultitouchProperties
+
+ ActuationSupported
+
+ ExtractAndPostDeviceButtonState
+
+ ForceSupported
+
+ HIDServiceSupport
+
+ IOCFPlugInTypes
+
+ 0516B563-B15B-11DA-96EB-0014519758EF
+ AppleMultitouchDriver.kext/Contents/PlugIns/MultitouchHID.plugin
+
+ MT Built-In
+
+ MTHIDDevice
+
+ MTPowerStatsDisable
+
+ SupportsGestureScrolling
+
+ TrackpadFourFingerGestures
+
+ TrackpadMomentumScroll
+
+ TrackpadSecondaryClickCorners
+
+ TrackpadThreeFingerDrag
+
+ parser-options
+ 39
+ parser-type
+ 1000
+
+ DeviceUsagePairs
+
+
+ DeviceUsage
+ 2
+ DeviceUsagePage
+ 1
+
+
+ DoReportIntervalHack
+
+ HIDAccelCurves
+
+
+ HIDAccelGainLinear
+ 65536
+ HIDAccelIndex
+ 0
+ HIDAccelTangentSpeedLinear
+ 484966
+ HIDAccelTangentSpeedParabolicRoot
+ 1376256
+
+
+ HIDAccelGainCubic
+ 5243
+ HIDAccelGainLinear
+ 64881
+ HIDAccelGainParabolic
+ 32768
+ HIDAccelIndex
+ 8192
+ HIDAccelTangentSpeedLinear
+ 478413
+ HIDAccelTangentSpeedParabolicRoot
+ 1310720
+
+
+ HIDAccelGainCubic
+ 6554
+ HIDAccelGainLinear
+ 64225
+ HIDAccelGainParabolic
+ 43254
+ HIDAccelIndex
+ 32768
+ HIDAccelTangentSpeedLinear
+ 471859
+ HIDAccelTangentSpeedParabolicRoot
+ 1245184
+
+
+ HIDAccelGainCubic
+ 7864
+ HIDAccelGainLinear
+ 62915
+ HIDAccelGainParabolic
+ 54395
+ HIDAccelIndex
+ 45056
+ HIDAccelTangentSpeedLinear
+ 465306
+ HIDAccelTangentSpeedParabolicRoot
+ 1179648
+
+
+ HIDAccelGainCubic
+ 9830
+ HIDAccelGainLinear
+ 61604
+ HIDAccelGainParabolic
+ 65536
+ HIDAccelIndex
+ 57344
+ HIDAccelTangentSpeedLinear
+ 458752
+ HIDAccelTangentSpeedParabolicRoot
+ 1114112
+
+
+ HIDAccelGainCubic
+ 11796
+ HIDAccelGainLinear
+ 60293
+ HIDAccelGainParabolic
+ 75366
+ HIDAccelIndex
+ 65536
+ HIDAccelTangentSpeedLinear
+ 458752
+ HIDAccelTangentSpeedParabolicRoot
+ 1048576
+
+
+ HIDAccelGainCubic
+ 13763
+ HIDAccelGainLinear
+ 58327
+ HIDAccelGainParabolic
+ 85197
+ HIDAccelIndex
+ 98304
+ HIDAccelTangentSpeedLinear
+ 458752
+ HIDAccelTangentSpeedParabolicRoot
+ 983040
+
+
+ HIDAccelGainCubic
+ 15729
+ HIDAccelGainLinear
+ 56361
+ HIDAccelGainParabolic
+ 95027
+ HIDAccelIndex
+ 131072
+ HIDAccelTangentSpeedLinear
+ 458752
+ HIDAccelTangentSpeedParabolicRoot
+ 917504
+
+
+ HIDAccelGainCubic
+ 18350
+ HIDAccelGainLinear
+ 54395
+ HIDAccelGainParabolic
+ 108790
+ HIDAccelIndex
+ 163840
+ HIDAccelTangentSpeedLinear
+ 458752
+ HIDAccelTangentSpeedParabolicRoot
+ 851968
+
+
+ HIDAccelGainCubic
+ 23593
+ HIDAccelGainLinear
+ 65536
+ HIDAccelGainParabolic
+ 123208
+ HIDAccelIndex
+ 196608
+ HIDAccelTangentSpeedLinear
+ 458752
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDDisallowRemappingOfPrimaryClick
+
+ HIDPointerAccelerationTable
+ AACAAFVTQioABwAAAAAAAgAEAAAABAAAABAAAAAQAAAAACAAAA0AAIAAAACAAAABQAAAAYAAAAIAAAAC4AAAAwAAAATgAAAEAAAAB0AAAAUAAAAKAAAABgAAAA1AAAAIAAAAFgAAAArAAAAjAAAADQAAAC8AAAAOwAAAOMAAABBAAABBAAAAEcAAAEjAAAAAUAAADwAAgAAAAIAAAAEAAAABQAAAAYAAAAJAAAACAAAAA4AAAAKAAAAE4AAAAwAAAAZgAAAEAAAACgAAAAUAAAAOQAAABgAAABNAAAAIAAAAHsAAAArAAAAuwAAADQAAADyAAAAOwAAARwAAABBAAABPwAAAEcAAAFiAAAAAgAAADwAAgAAAAIAAAAEAAAABYAAAAYAAAAKgAAACAAAABEAAAAKAAAAGAAAAAwAAAAgAAAAEAAAADQAAAAUAAAASwAAABgAAABkAAAAIAAAAKAAAAArAAAA7wAAADQAAAEuAAAAOwAAAV0AAABBAAABgQAAAEcAAAGkAAAAAsAAADwAAgAAAAIAAAAEAAAABoAAAAYAAAAMAAAACAAAABQAAAAKAAAAHQAAAAwAAAAnAAAAEAAAAEEAAAAUAAAAXgAAABgAAAB/AAAAIAAAAMgAAAArAAABKAAAADQAAAFyAAAAOwAAAaQAAABBAAABywAAAEcAAAHrAAAAA4AAADwAAgAAAAKAAAAEAAAABwAAAAYAAAANgAAACAAAABeAAAAKAAAAIoAAAAwAAAAvAAAAEAAAAE8AAAAUAAAAdQAAABgAAACfAAAAIAAAAPcAAAArAAABZAAAADQAAAG3AAAAOwAAAe0AAABBAAACFQAAAEcAAAIxAAAABAAAADwAAgAAAAMAAAAEAAAACAAAAAYAAAAPgAAACAAAABsAAAAKAAAAKQAAAAwAAAA5gAAAEAAAAGMAAAAUAAAAkwAAABgAAADLAAAAIAAAATUAAAArAAABugAAADQAAAIMAAAAOwAAAj0AAABBAAACXAAAAEcAAAJxA
+ HIDPointerAccelerationType
+ HIDTrackpadAcceleration
+ HIDScrollAccelCurves
+
+
+ HIDAccelGainLinear
+ 65536
+ HIDAccelIndex
+ 0
+ HIDAccelTangentSpeedLinear
+ 393216
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDAccelGainLinear
+ 62259
+ HIDAccelGainParabolic
+ 39322
+ HIDAccelIndex
+ 8192
+ HIDAccelTangentSpeedLinear
+ 406323
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDAccelGainLinear
+ 58982
+ HIDAccelGainParabolic
+ 58982
+ HIDAccelIndex
+ 32768
+ HIDAccelTangentSpeedLinear
+ 419430
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDAccelGainLinear
+ 55706
+ HIDAccelGainParabolic
+ 78643
+ HIDAccelIndex
+ 45056
+ HIDAccelTangentSpeedLinear
+ 432538
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDAccelGainLinear
+ 52429
+ HIDAccelGainParabolic
+ 91750
+ HIDAccelIndex
+ 57344
+ HIDAccelTangentSpeedLinear
+ 445645
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDAccelGainLinear
+ 49152
+ HIDAccelGainParabolic
+ 104858
+ HIDAccelIndex
+ 65536
+ HIDAccelTangentSpeedLinear
+ 458752
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDAccelGainLinear
+ 45875
+ HIDAccelGainParabolic
+ 117965
+ HIDAccelIndex
+ 98304
+ HIDAccelTangentSpeedLinear
+ 471859
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDAccelGainLinear
+ 42598
+ HIDAccelGainParabolic
+ 131072
+ HIDAccelIndex
+ 131072
+ HIDAccelTangentSpeedLinear
+ 484966
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDAccelGainLinear
+ 39322
+ HIDAccelGainParabolic
+ 144179
+ HIDAccelIndex
+ 163840
+ HIDAccelTangentSpeedLinear
+ 498074
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDAccelGainLinear
+ 36045
+ HIDAccelGainParabolic
+ 157286
+ HIDAccelIndex
+ 196608
+ HIDAccelTangentSpeedLinear
+ 511181
+ HIDAccelTangentSpeedParabolicRoot
+ 786432
+
+
+ HIDScrollAccelerationTable
+ AACAAFVTQioABwAAAAAAAQABAAAAAQAAAAAgAAAQAABxOwAATOMAAwAAAAdgAAAEwAAADoAAAAbxSgAX6V4ACVeCACMQWgALZ6EALBF7AA2N1AA03ToAD36aADvQuAASWKAARl01ABUAAABO2dgAF8AAAFXK7QAas+UAW2FQAB2QAABe0qoAIL75AGEgywAkLXsAYnXvACewAABjRl8AAIAAABMAAHE7AABWfwABAAAAAuAAAAIAAAAJYAAAAwAAABIAAAAEwAAAIMAAAAaAAAAwgAAACGp5AEH9tgAK7bUAV4ZuAA0B2ABrPTkADv1/AIEEcAAQy5gAkdRWABJouQCe3VAAE+c/AKikCgAXAucAtn2SABot3ADARE4AHVjQAMX4OgAg35IAytuYACQ4bgDO7mUAJ6CXANIwowAAsAAAFAAAcTsAAGFOAADAAAABwAAAAQAAAANgAAACAAAADCAAAAMAAAAW4AAABMAAACnAAAAGQAAAOsAAAAfOggBP7OcACgWAAGo8rgAL658AhMCkAA2RCwCfR+EADzjIALWDbwAQ/k8AxqbEABLNUQDUeCMAFepmAOTKxwAZoVYA8qFmAB1CvwD7fXwAIQuCAQFpdAAkS20BBVKIACegAAEIK4wAAOAAABQAAHE7AABtdwAAwAAAAeAAAAEAAAAD4AAAAgAAAA6AAAADAAAAHEAAAATAAAA0AAAABgAAAEdAAAAHN4wAXL7hAAkAAACAwAAACoAAAKGAAAALz7IAvU7UAA01yQDadikADvtPAPKF4gARLu4BCSWiABUlDwEfV8QAGT9oASzRKgAdChkBNQrGACDz5QE6cR4AJEARAT3XdgAnn1YBQMHWAABQAAATAABxOwAAS7AAAQAAAAJgAAACAAAABuAAAAMAAAAMYAAABMAAABcAAAAGwAAAJAAAAAkAAAAyAAAACz1uAEFngAANcE8AUMGhAA+sTQBgSTMAEagdAG5NTAATT9YAd9WQABTQfgB+26MAF3odAIbYXQAagocAjp+lAB2J6QCTvnkAIN/yAJdcWwAkO0IAmYu9ACegOACacdcAAQAAABUAAHE7AABWfwAAwAAAAiAAAAEAAAAEgAAAAYAAAAqAAAACAAAAEaAAAAMAAAAhgAAABMAAAD6AAAAFwAAAVEAAAAbAAABrAAAACAAAAIxAAAAJAAAAqYAAAApAAADKwAAAC8AAAPTAAAANwAABJAAAABAAAAFEn9IAFEAAAV49zAAZAAABbrsYABzQAAFz78AAIOAAAXhvwAAkIAABem/AACegAAF8JGg=
+ HIDScrollAccelerationType
+ HIDTrackpadScrollAcceleration
+ HIDScrollResolution
+ 26214400
+ IOCFPlugInTypes
+
+ 0516B563-B15B-11DA-96EB-0014519758EF
+ AppleMultitouchDriver.kext/Contents/PlugIns/MultitouchHID.plugin
+
+ IOClass
+ AppleMultitouchTrackpadHIDEventDriver
+ IOProbeScore
+ 9999
+ IOProviderClass
+ IOHIDInterface
+ MTEventSource
+
+ ProductIDArray
+
+ 628
+
+ TrackpadEmbedded
+
+ VendorID
+ 1452
+
+ ELANTouchpadDriver
+
+ CFBundleIdentifier
+ de.leo-labs.VoodooSMBus
+ Configuration
+
+ DisableWhileTrackpoint
+
+ DisableWhileTrackpointTimeoutMs
+ 500
+ DisableWhileTypingTimeoutMs
+ 400
+ IgnoreSetTouchpadStatus
+
+
+ IOClass
+ ELANTouchpadDriver
+ IOProbeScore
+ 400
+ IOProviderClass
+ VoodooSMBusDeviceNub
+ RM,deliverNotifications
+
+
+ Native Multitouch Engine
+
+ CFBundleIdentifier
+ de.leo-labs.VoodooSMBus
+ IOClass
+ VoodooI2CNativeEngine
+ IOMatchCategory
+ VoodooI2CNativeEngine
+ IOProviderClass
+ VoodooI2CMultitouchInterface
+
+ VoodooSMBusControllerDriver
+
+ Addresses
+
+ 44
+ 21
+
+ CFBundleIdentifier
+ de.leo-labs.VoodooSMBus
+ IOClass
+ VoodooSMBusControllerDriver
+ IOPCIMatch
+ 0x9d238086 0xa3238086
+ IOPCIMatchComment
+ Intel SMBus Controller i80 (9d23: Sunrise Point-LP (PCH), a323: Cannon Lake-H (PCH))
+ IOProbeScore
+ 400
+ IOProviderClass
+ IOPCIDevice
+
+ VoodooSMBusIntelLpssI2C
+
+ CFBundleIdentifier
+ de.leo-labs.VoodooSMBus
+ IOClass
+ VoodooSMBusIntelLpssI2C
+ IOPCIMatch
+ 0x9d608086
+ IOPCIMatchComment
+ Dummy IntelLpssI2CDriver
+ IOProbeScore
+ 400
+ IOProviderClass
+ IOPCIDevice
+
+
+ NSHumanReadableCopyright
+ Copyright © 2019 leo-labs. All rights reserved.
+ OSBundleCompatibleVersion
+ 2.1
+ OSBundleLibraries
+
+ com.apple.iokit.IOHIDFamily
+ 2.0
+ com.apple.iokit.IOPCIFamily
+ 2.9
+ com.apple.kpi.iokit
+ 18.5
+ com.apple.kpi.libkern
+ 18.5
+ com.apple.kpi.mach
+ 18.5
+
+ OSBundleRequired
+ Root
+
+
diff --git a/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus b/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus
new file mode 100755
index 0000000..b3f26bb
Binary files /dev/null and b/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/MacOS/VoodooSMBus differ
diff --git a/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/Resources/Headers/VoodooSMBusDeviceNub.hpp b/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/Resources/Headers/VoodooSMBusDeviceNub.hpp
new file mode 100644
index 0000000..af2a217
--- /dev/null
+++ b/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/Resources/Headers/VoodooSMBusDeviceNub.hpp
@@ -0,0 +1,50 @@
+/*
+ * VoodooSMBusDeviceNub.hpp
+ * SMBus Controller Driver for macOS X
+ *
+ * Copyright (c) 2019 Leonard Kleinhans
+ *
+ */
+
+
+#ifndef VoodooSMBusDeviceNub_hpp
+#define VoodooSMBusDeviceNub_hpp
+
+#include
+
+class VoodooSMBusControllerDriver;
+class VoodooSMBusSlaveDevice;
+typedef UInt8 u8;
+
+#ifndef EXPORT
+#define EXPORT __attribute__((visibility("default")))
+#endif
+
+class EXPORT VoodooSMBusDeviceNub : public IOService {
+ OSDeclareDefaultStructors(VoodooSMBusDeviceNub);
+
+public:
+ bool init() override;
+ bool attach(IOService* provider, UInt8 address);
+ bool start(IOService* provider) override;
+ void stop(IOService* provider) override;
+ void free(void) override;
+
+ void handleHostNotify();
+ void setSlaveDeviceFlags(unsigned short flags);
+
+ IOReturn writeByteData(u8 command, u8 value);
+ IOReturn readByteData(u8 command);
+ IOReturn readBlockData(u8 command, u8 *values);
+ IOReturn writeByte(u8 value);
+ IOReturn writeBlockData(u8 command, u8 length, const u8 *values);
+ IOReturn wakeupController();
+
+private:
+ VoodooSMBusControllerDriver* controller;
+ void releaseResources();
+ VoodooSMBusSlaveDevice* slave_device;
+ void handleHostNotifyThreaded();
+};
+
+#endif /* VoodooSMBusDeviceNub_hpp */
diff --git a/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources b/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources
new file mode 100644
index 0000000..ade480b
--- /dev/null
+++ b/EFI-OpenCore/EFI/OC/Kexts/VoodooSMBus.kext/Contents/_CodeSignature/CodeResources
@@ -0,0 +1,132 @@
+
+
+
+
+ files
+
+ Resources/Headers/VoodooSMBusDeviceNub.hpp
+
+ Gkz/vNrHlRcTeb3TNsAqUb24aZ4=
+
+
+ files2
+
+ Resources/Headers/VoodooSMBusDeviceNub.hpp
+
+ hash
+
+ Gkz/vNrHlRcTeb3TNsAqUb24aZ4=
+
+ hash2
+
+ OgYn96uJNktmjX+20pkPJEVgMAFTgyFCGxbanbDpdzA=
+
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/EFI-OpenCore/EFI/OC/config.plist b/EFI-OpenCore/EFI/OC/config.plist
index 6cbe8e9..11f9709 100755
--- a/EFI-OpenCore/EFI/OC/config.plist
+++ b/EFI-OpenCore/EFI/OC/config.plist
@@ -38,14 +38,6 @@
Path
SSDT-ALS0.aml
-
- Comment
- SBUS
- Enabled
-
- Path
- SSDT-SBUS.aml
-
Comment
Thinkpad Keyboard (Need x1c6-keyboard.plist)
@@ -94,14 +86,6 @@
Path
SSDT-DMAC.aml
-
- Comment
- Fake MCHC (Completeness)
- Enabled
-
- Path
- SSDT-MCHC.aml
-
Comment
Fake PMCR (Completeness)
@@ -492,254 +476,6 @@
-
- Comment
- Mutex:MDGS=0
- Count
- 0
- Enabled
-
- Find
-
- AU1ER1MH
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AU1ER1MA
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:MCPU=0
- Count
- 0
- Enabled
-
- Find
-
- AU1DUFUH
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AU1DUFUA
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:BATM=0
- Count
- 0
- Enabled
-
- Find
-
- AUJBVE0H
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AUJBVE0A
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:MSMI=0
- Count
- 0
- Enabled
-
- Find
-
- AU1TTUkH
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AU1TTUkA
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:BFWM=0
- Count
- 0
- Enabled
-
- Find
-
- AUJGV00H
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AUJGV00A
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:XDHK=0
- Count
- 0
- Enabled
-
- Find
-
- AVhESEsH
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AVhESEsA
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:MWMI=0
- Count
- 0
- Enabled
-
- Find
-
- AU1XTUkH
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AU1XTUkA
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:NPWM=0
- Count
- 0
- Enabled
-
- Find
-
- AU5QV00H
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AU5QV00A
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
Comment
_PTS to ZPTS(1,N)
@@ -1148,6 +884,40 @@
+
+ Comment
+ _Q74 to XQ74 (FnLock - Fn + Esc)
+ Count
+ 1
+ Enabled
+
+ Find
+
+ X1E3NA==
+
+ Limit
+ 0
+ Mask
+
+
+ OemTableId
+
+
+ Replace
+
+ WFE3NA==
+
+ ReplaceMask
+
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
+
Quirks
@@ -1224,30 +994,30 @@
FlkAAA==
- enable-hdmi20
+ disable-external-gpu
AQAAAA==
+ framebuffer-con1-alldata
+
+ AQUJAAAIAADHAwAA
+
framebuffer-con1-enable
AQAAAA==
- framebuffer-con1-type
+ framebuffer-con2-alldata
- AAgAAA==
+ AgQKAAAEAADHAwAA
- framebuffer-fbmem
+ framebuffer-con2-enable
- AACQAA==
+ AQAAAA==
framebuffer-patch-enable
AQAAAA==
- framebuffer-stolenmem
-
- AAAwAQ==
-
Delete
@@ -1417,6 +1187,70 @@
PlistPath
Contents/Info.plist
+
+ BundlePath
+ VoodooRMI.kext/Contents/Plugins/VoodooInput.kext
+ Comment
+ Input for Synaptics SMBUS touchpad support
+ Enabled
+
+ ExecutablePath
+ Contents/MacOS/VoodooInput
+ MaxKernel
+
+ MinKernel
+
+ PlistPath
+ Contents/Info.plist
+
+
+ BundlePath
+ VoodooSMBus.kext
+ Comment
+ Synaptics SMBUS touchpad support
+ Enabled
+
+ ExecutablePath
+ Contents/MacOS/VoodooSMBus
+ MaxKernel
+
+ MinKernel
+
+ PlistPath
+ Contents/Info.plist
+
+
+ BundlePath
+ VoodooRMI.kext
+ Comment
+ Synaptics SMBUS touchpad support
+ Enabled
+
+ ExecutablePath
+ Contents/MacOS/VoodooRMI
+ MaxKernel
+
+ MinKernel
+
+ PlistPath
+ Contents/Info.plist
+
+
+ BundlePath
+ VoodooPS2Controller.kext/Contents/Plugins/VoodooInput.kext
+ Comment
+
+ Enabled
+
+ ExecutablePath
+ Contents/MacOS/VoodooInput
+ MaxKernel
+
+ MinKernel
+
+ PlistPath
+ Contents/Info.plist
+
BundlePath
VoodooPS2Controller.kext
@@ -1433,29 +1267,13 @@
PlistPath
Contents/Info.plist
-
- BundlePath
- VoodooPS2Controller.kext/Contents/Plugins/VoodooInput.kext
- Comment
-
- Enabled
-
- ExecutablePath
- Contents/MacOS/VoodooInput
- MaxKernel
-
- MinKernel
-
- PlistPath
- Contents/Info.plist
-
BundlePath
VoodooPS2Controller.kext/Contents/Plugins/VoodooPS2Mouse.kext
Comment
Mouse
Enabled
-
+
ExecutablePath
Contents/MacOS/VoodooPS2Mouse
MaxKernel
@@ -1471,7 +1289,7 @@
Comment
Trackpad
Enabled
-
+
ExecutablePath
Contents/MacOS/VoodooPS2Trackpad
MaxKernel
@@ -1590,7 +1408,76 @@
Patch
-
+
+
+ Base
+
+ Comment
+ KBL-DVMTpatch-10.15-10.15.1-10.15.2-10.15.3 (Enable 4K UHD HDMI/DisplayPort Output)
+ Count
+ 0
+ Enabled
+
+ Find
+
+ D4KnAwAA
+
+ Identifier
+ com.apple.driver.AppleIntelKBLGraphicsFramebuffer
+ Limit
+ 0
+ Mask
+
+
+ MaxKernel
+ 19.3.0
+ MinKernel
+
+ Replace
+
+ D4IAAAAA
+
+ ReplaceMask
+
+
+ Skip
+ 0
+
+
+ Base
+
+ Comment
+ KBL-DVMTpatch-10.15.4 (Enable 4K UHD HDMI/DisplayPort Output)
+ Count
+ 0
+ Enabled
+
+ Find
+
+ D4KPAwAA
+
+ Identifier
+ com.apple.driver.AppleIntelKBLGraphicsFramebuffer
+ Limit
+ 0
+ Mask
+
+
+ MaxKernel
+
+ MinKernel
+ 19.4.0
+ Replace
+
+ D4IAAAAA
+
+ ReplaceMask
+
+
+ Skip
+ 0
+
+
Quirks
AppleCpuPmCfgLock
@@ -1634,7 +1521,7 @@
ConsoleAttributes
0
HibernateMode
- None
+ Auto
HideAuxiliary
PickerAudioAssist
diff --git a/EFI-OpenCore/README.md b/EFI-OpenCore/README.md
index fcf43d9..af5bd99 100644
--- a/EFI-OpenCore/README.md
+++ b/EFI-OpenCore/README.md
@@ -19,17 +19,39 @@ See [`docs/5_README-other`](https://github.com/tylernguyen/x1c6-hackintosh/blob/
`CPUFriendDataProvider` can be generated with [CPUFriendFriend](https://github.com/corpnewt/CPUFriendFriend_) or [one-key-cpufriend](https://github.com/stevezhengshiqi/one-key-cpufriend). This is especially important if you have a different CPU than mine. Even if you have the same CPU as me, you may prefer a different Energy Performance Preference (EPP) so do generate your own CPUFriendDataProvider.
-> ## Important Note:
-
-Unlike Clover, where SSDT patches are only being applied when booting macOS. OpenCore will apply SSDT patches regardless of the operating system. This is critical when multi-booting, since Windows and Linux do not need the additional patches that macOS does. In many cases, if Windows/Linux fails to boot under OpenCore, it is likely that your macOS intended SSDT patch(s) is being applied universally. To prevent OpenCore from doing this, it is important that your SSDT patches specify its intended OS, which in our case is "Darwin."
-See highlighted example:
-
-![OpenCore SSDT patching notice](https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/master/docs/assets/img/OpenCore%20SSDT%20patching%20notice.png)
-
> ## Checking your OpenCore config.plist
It is important to keep your OpenCore config.plist properly up-to-spec, as OpenCore configurations tend to change accordingly with OpenCore versions. A good resource to check your config plist is https://opencore.slowgeek.com/.
+> ## `config.plist` Comments:
+* Notes on kexts and ACPI patches are on the respective Add OpenCore entry.
+* Injects AppleALC layout-id `21`:
+`Device Properties` > `PciRoot(0x0)/Pci(0x1f,0x3)` > `layout-id`:
+* Intel iGPU and HDMI patches:
+`Device Properties` > `PciRoot(0x0)/Pci(0x2,0x0)` >
+ * `device-id` = `16590000` per [WhateverGreen/IntelHD.en.md](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md)
+* FileVault compatibility:
+ * Misc -> Boot
+ * `PollAppleHotKeys` set to YES(While not needed can be helpful)
+ * Misc -> Security
+ * `AuthRestart` set to YES(Enables Authenticated restart for FileVault 2 so password is not required on reboot. Can be considered a security risk so optional)
+ * NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
+ * `UIScale` set to `02` for high resolution small displays
+ * UEFI -> Input
+ * `KeySupport` set to YES(Only when using OpenCore's builtin input, users of OpenUsbKbDxe should avoid)
+ * UEFI -> Output
+ * `ProvideConsoleGop` to YES
+ * UEFI -> ProtocolOverrides
+ * `FirmwareVolume` set to YES
+ * `AppleSmcIo` set to YES(this replaces VirtualSMC.efi)
+ * UEFI -> Quirks
+ * `RequestBootVarRouting` set to YES
+
+* OpenCanopy Support:
+I prefer OpenCanopy for its looks. However, it is completely optional and can take up space in your EFI. If you would rather use OpenCore's built in picker. Change `PickerMode` to `Builtin` and remove `OpenCanopy.efi` from `UEFI` > `Drivers`.
+
+* OpenCore tools and utilities are removed for a clean setup and can be added when needed.
+
> ## Updating:
To update your OpenCore folder to my current version, simply backup your `PlatformInfo` information and move it to the new OpenCore config. Keep in mind that, depending on your setup, you may wish to keep other settings you've made so make sure to note your OpenCore `config.plist` changes as you make them.
diff --git a/EFI-install_USB/EFI/OC/config.plist b/EFI-install_USB/EFI/OC/config.plist
index 21c024c..fd8f096 100755
--- a/EFI-install_USB/EFI/OC/config.plist
+++ b/EFI-install_USB/EFI/OC/config.plist
@@ -184,13 +184,13 @@
BundlePath
- VoodooPS2Controller.kext
+ VoodooPS2Controller.kext/Contents/Plugins/VoodooInput.kext
Comment
- VoodooPS2Controller
+
Enabled
ExecutablePath
- Contents/MacOS/VoodooPS2Controller
+ Contents/MacOS/VoodooInput
MaxKernel
MinKernel
@@ -200,13 +200,13 @@
BundlePath
- VoodooPS2Controller.kext/Contents/Plugins/VoodooInput.kext
+ VoodooPS2Controller.kext
Comment
-
+ VoodooPS2Controller
Enabled
ExecutablePath
- Contents/MacOS/VoodooInput
+ Contents/MacOS/VoodooPS2Controller
MaxKernel
MinKernel
diff --git a/README.md b/README.md
index 5cfcb35..dab7e39 100644
--- a/README.md
+++ b/README.md
@@ -25,38 +25,53 @@
##### Recent | [Changelog Archive](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/CHANGELOG.md)
-> ### 2020-6-1
+> ### 2020-6-26
+
+#### Added
+
+- `VoodooRMI` as alternative trackpad option. **Enabled by default, feel free to revert back to `VoodooPS2Mouse` and `VoodooPS2Trackpad` if you prefer**. *Note, there's currently a bug with RMI where the touchpad would not load once in a while. The RMI kext uploaded in this repo has a temp fix by me (See [VoodooSMBUS/PR](https://github.com/VoodooSMBus/VoodooSMBus/pull/41)). However, the issue is still ongoing and the dev team is aware of it. I'm switching this repo to VoodooRMI because I believe it's the future and I want to possible bugs to be reported to be fixed for the kext's first stable release.
+- Kernel patches to enable 4K external graphics, thank you so much [@benbender](https://github.com/benbender)
+- `XQ74` patch in `SSDT-Keyboard` to support `FnLock` HUD per ThinkpadAssistant 1.8.0
+- In [EFI-OpenCore/README.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/EFI-OpenCore/README.md), I've added a short section explaining why certain variables are the way they are in my `config.plist`. I will continue to update this section with more details as time goes on.
#### Changed
-- OpenCore to 0.5.9
-- Upgraded various Acidanthera kexts.
-- Recompiled various SSDT with new iasl libraries.
-- Replaced `SSDT-EXT3` with `SSDT-LED`
-- Change SSDT OEM ID to `tyler` to somewhat track distributions and usage across various projects
+- iGPU Framebuffer patching for HDMI issue in Catalina.
+ - In Catalina/WhateverGreen version, for some reasons my previous framebuffer patches for HDMI no longer worked. So I re-did the patch in mode details but eventually the property that fixed it was `disable-external-gpu` or `-wegnoegpu`. For some strange reasons, that variable activated on-board HDMI. See [similar reports here](https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/page-123). I'm going to create an issue on acidanthera/bugtracker soon to report to the dev team. In the mean time, keep this property if you rely on HDMI and do not have an eGPU. Delete this property if you have an eGPU (You're likely using the HDMI on the eGPU anyway).
+- Fixed `VoodooPS2` kexts loading order.
+- Various reference docs to dortania.
+- `HibernateMode` to `Auto`
+
+#### Removed
+
+- Unnecessary Mutex OpenCore patches, all Mutex are already 0 in stock `DSDT`.
+- `SSDT-MCHC` and `SSDT-SBUS` for `VoodooRMI` compatibility.
> ## SUMMARY:
**`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.`**
-| Fully functional | Non-functional | Semi-functional. Additional pulls needed and welcomed. |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| WiFi, Bluetooth, Apple Continuity ✅ \*need [network card replacement](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) | Fingerprint Reader (not needed, DISABLED at BIOS) ❌ | Video Output: Currently only output `2560x1440`. Though capable of 4K `4096x2150`. See [Issue #40](https://github.com/tylernguyen/x1c6-hackintosh/issues/40) ⚠️ |
-| USB A, USB C, Webcam, Audio Playback/Recording Sleep, Ethernet, Intel Graphics, TrackPoint and Trackpad, MicroSD card reader ✅ | Wireless WAN (DISABLED at BIOS) \*ENABLED if you have a 2nd drive connected❌ | Thunderbolt 3 hotplug partially working. See [Issue #24](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 [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant) | | |
-| PM981 installation. ✅ See [Issue #43](https://github.com/tylernguyen/x1c6-hackintosh/issues/43) | | |
+| Fully functional | Non-functional | Semi-functional. Additional pulls needed and welcomed. |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
+| WiFi, Bluetooth, Apple Continuity ✅ \*need [network card replacement](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) | Fingerprint Reader (not needed, DISABLED at BIOS) ❌ | Power management and optimizations. See [Issue #28](https://github.com/tylernguyen/x1c6-hackintosh/issues/28) ⚠️ |
+| USB A, USB C, Webcam, Audio Playback/Recording Sleep, Ethernet, Intel Graphics, TrackPoint and Trackpad, MicroSD card reader ✅ | Wireless WAN (DISABLED at BIOS) \*ENABLED if you have a 2nd drive connected❌ | Thunderbolt 3 hotplug partially working. See [Issue #24](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) ⚠️ |
+| iCloud suite: App Store, iMessage, FaceTime, iCloud Drive, etc... ✅ | Hibernation mode 25 ❌ CMOS error, see [Issue #44](https://github.com/tylernguyen/x1c6-hackintosh/issues/44) | |
+| Multimedia Fn keys ✅ \*need [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant) | | |
+| PM981 installation. ✅ See [Issue #43](https://github.com/tylernguyen/x1c6-hackintosh/issues/43) | | |
+| 4K UHD via HDMI/DisplayPort. ✅ \*one minor quirk with Recovery and macOS updates, See [Issue #28](https://github.com/tylernguyen/x1c6-hackintosh/issues/28#issuecomment-649107190) | | |
**For more information regarding certain features, please refer to [`docs/3_README-POSTinstallation.md`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-POSTinstallation.md)**
> ## NEEDED:
A macOS machine would be VERY useful: to create install drives, and for when your ThinkPad cannot boot. Though it is not completely necessary.
-Flash drive, 16GB or more.
-Xcode works fine for editing plist files, but I prefer [PlistEdit Pro](https://www.fatcatsoftware.com/plisteditpro/).
+Flash drive, 12GB or more.
+Xcode works fine for editing plist files on macOS, but I prefer [PlistEdit Pro](https://www.fatcatsoftware.com/plisteditpro/).
+[ProperTree](https://github.com/corpnewt/ProperTree) if you need to edit plist files on Windows.
[MaciASL](https://github.com/acidanthera/MaciASL), for patching ACPI tables.
+[MountEFI](https://github.com/corpnewt/MountEFI) to quickly mount EFI partitions.
[IOJones](https://github.com/acidanthera/IOJones), for diagnosis.
-[Hackintool](https://www.insanelymac.com/forum/topic/335018-hackintool-v286/), for diagnosis.
+[Hackintool](https://www.insanelymac.com/forum/topic/335018-hackintool-v286/), for diagnostic ONLY, Hackintool should not be used for patching, it is outdated.
> ## WHERE TO START:
@@ -100,10 +115,14 @@ TrackPad: PS/2
> ## Read These (References):
-- [dortania Hackintosh guides](https://github.com/dortania)
-- [The Vanilla Laptop Guide](https://fewtarius.gitbook.io/laptopguide/)
+- [dortania's Hackintosh guides](https://github.com/dortania)
+- [dortania/ Getting Started with ACPI](https://dortania.github.io/Getting-Started-With-ACPI/)
+- [dortania/ vanilla laptop guide](https://dortania.github.io/vanilla-laptop-guide/)
+- [dortania/ opencore `laptop` guide](https://dortania.github.io/oc-laptop-guide/)
+- [dortania/ opencore `desktop` guide](https://dortania.github.io/OpenCore-Desktop-Guide/)
+- [dortania/ opencore `multiboot`](https://github.com/dortania/OpenCore-Multiboot)
+- [dortania/ `USB map` guide](https://github.com/dortania/USB-Map-Guide)
- 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).
-- [Getting Started with ACPI](https://khronokernel.github.io/Getting-Started-With-ACPI/)
- [WhateverGreen Intel HD Manual](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md)
> ## OTHER x1c6-hackintosh REPOSITORIES:
@@ -115,7 +134,7 @@ Create a pull request if you like to be added, final decision at my discreation.
> ## CONTACT:
https://tylerspaper.com/contact
-Signal: (202)-644-9951 \*This is a Signal ONLY number. You will not get a reply of you text me at this number.
+Signal: +1 (202)-644-9951 \*This is a Signal ONLY number. You will not get a reply of you text me at this number.
> ## DONATE AND SUPPORT:
@@ -128,8 +147,11 @@ https://tylerspaper.com/support/
[@corpnewt](https://github.com/corpnewt) for CPUFriendFriend.
[@Sniki](https://github.com/Sniki) and [@goodwin](https://github.com/goodwin) for ALCPlugFix.
[@xzhih](https://github.com/xzhih) for one-key-hidpi.
-[@daliansky](https://github.com/daliansky) for all the hotpatches.
+[@daliansky](https://github.com/daliansky) for various hotpatches.
[@velaar](https://github.com/velaar) for your continual support and contributions.
+[@benbender](https://github.com/benbender) for the the 4K output patch.
+[@Porco-Rosso](https://github.com/Porco-Rosso) putting up with my requests to test repo changes.
+[@MSzturc](https://github.com/MSzturc) for adding my requested features to ThinkpadAssistant.
The greatest thank you and appreciation to [@Acidanthera](https://github.com/acidanthera), without whom's work, none of this would be possible.
diff --git a/docs/2_README-installMEDIA.md b/docs/2_README-installMEDIA.md
index b1d8f7f..b75bd57 100644
--- a/docs/2_README-installMEDIA.md
+++ b/docs/2_README-installMEDIA.md
@@ -1,7 +1,10 @@
+> ## Partitioning to dual-boot on one drive:
+Please refer to [dortania/ opencore `multiboot`](https://github.com/dortania/OpenCore-Multiboot).
+*Note that on the x1c6, it is possible, and better to dual boot off of a second drive in the WWAN slot.
+
> ## Creating a macOS Installation Media:
> ### If you have a macOS machine:
-
1. Download macOS installer from the App Store.
2. Erase the installation media as GUID Partition Map, Mac OS Extended "Journaled". Name it "Install macOS (MacOS version)" - Example: "Install macOS Catalina".
3. Use 'createinstallermedia' command to copy installer to install media. [guide](https://support.apple.com/en-us/ht201372)
@@ -13,3 +16,8 @@
8. Complete the installation.
9. Boot into the newly installed Hackintosh partition using the installation media. That is to say, boot into the installtion media for OpenCore to boot into the installed Hackintosh partition.
10. Proceed with post installation configurations.
+
+> ### If you do not have a macOS machine:
+Use [gibMacOS](https://github.com/corpnewt/gibMacOS) to create installation media on Windows/Linux. I prefer an offline installation as opposed to the recovery method.
+
+> ## **Refer to [Dortania](https://github.com/dortania) for more detailed documentations.**
\ No newline at end of file
diff --git a/docs/3_README-POSTinstallation.md b/docs/3_README-POSTinstallation.md
index 8b94408..0341ac6 100644
--- a/docs/3_README-POSTinstallation.md
+++ b/docs/3_README-POSTinstallation.md
@@ -24,20 +24,20 @@ For the kexts you will be using, make sure to create matching entries within `Op
| Bluetooth | ✅ | Native with BCM94360CS2. `BrcmFirmwareRepo.kext`, `BrcmPatchRAM3.kext`, and `BrcmBluetoothInjector.kext` otherwise. | See `patches/OpenCore Patches/` for specific network card. |
| Continuty | ✅ | Native with BCM94360CS2. `BT4LEContiunityFixup.kext` otherwise. Working Blutetooth and WiFi setup | See `patches/OpenCore Patches/` for specific network card. |
| AirDrop | ✅ | Native with BCM94360CS2. `BT4LEContiunityFixup.kext` otherwise. Working Blutetooth and WiFi setup | See `patches/OpenCore Patches/` for specific network card. |
-| TrackPoint | ✅ | Patched `VoodooPS2Controller.kext` | - |
-| TrackPad | ✅ | `VoodooPS2Controller.kext` | - |
-| Built-in Keyboard | ✅ | `VoodooPS2Controller.kext` Optimizations recommended, see [`docs/5_README-other.md`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-POSTinstallation.md) | - |
+| TrackPoint | ✅ | `VoodooPS2Controller.kext` | - |
+| TrackPad | ✅ | `VoodooPS2Controller. kext` or `VoodooRMI.kext` | - |
+| Built-in Keyboard | ✅ | `VoodooPS2Controller.kext` and [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant). Optimizations recommended, see [`docs/5_README-other.md`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/5_README-other.md) | - |
| Battery Percentage Indication | ✅ | `SSDT-OCBAT0-TP_tx80_x1c6th.aml` | Use [MaciASL](https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/) |
| CPU Power Management (SpeedShift) | ✅ | `XCPM` and `CPUFriend.kext`, generate your own CPUFriendDataProvider with [CPUFriendFriend](https://github.com/corpnewt/CPUFriendFriend_) or [one-key-cpufriend](https://github.com/stevezhengshiqi/one-key-cpufriend). |
| IGPU Power Management | ✅ | `XCPM`, enabled by `SSDT-PLUG-_PR.PR00.aml` | - |
| PCIe Ethernet | ✅ | `IntelMausi.kext` | Needs Lenovo Ethernet adapter | |
| Audio Recording | ✅ | `AppleALC.kext` with Layout ID = 21 | - |
| Audio Playback | ✅ | `AppleALC.kext` with Layout ID = 21 | - |
-| Automatic Headphone Output Switching | ✅ | `ALCPlugFix` | - |
+| Automatic Headphone Output Switching | ✅ | [ALCPlugFix](https://github.com/tylernguyen/x1c6-hackintosh/tree/master/patches/ALCPlugFix) | - |
| Full Graphics Accleration (QE/CI) | ✅ | `WhateverGreen.kext` | - |
| Brightness Adjustments | ✅ | `WhateverGreen.kext` and `SSDT-PNLF-SKL_KBL.aml` | - |
-| Micro SD Card Reader | ✅ | Custom `USBPorts.kext` See current OpenCore-EFI kext folder. You can create your own with Hackintool. | - |
-| USB 3.1 | ✅ | Custom `USBPorts.kext` See current OpenCore-EFI kext folder. You can create your own with Hackintool. | - |
+| Micro SD Card Reader | ✅ | Custom `USBPorts.kext` See current OpenCore-EFI kext folder. You can create your own with [USBMap](https://github.com/corpnewt/USBMap). | - |
+| USB 3.1 | ✅ | Custom `USBPorts.kext` See current OpenCore-EFI kext folder. You can create your own with [USBMap](https://github.com/corpnewt/USBMap). | - |
| DisplayPort on Thunderbolt 3 Dock | ⚠️ | `SSDT-TB3.aml`, `IOElectrify.kext` | [More details](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) |
| Thunderbolt 3 Dock (Port Replicator) | ✅ | `SSDT-TB3.aml`, `IOElectrify.kext` | - |
| Thunderbolt 3 Hotplug | ⚠️ | `SSDT-TB3.aml`, `IOElectrify.kext` | [More details](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) |
diff --git a/docs/4_README-ACPIpatching.md b/docs/4_README-ACPIpatching.md
index 9ee84c0..321e8c9 100644
--- a/docs/4_README-ACPIpatching.md
+++ b/docs/4_README-ACPIpatching.md
@@ -24,6 +24,13 @@ Should your source DSDT be similar enough (in regards to certain items in these
## Some patches here may be unused. Refer to the current OpenCore-EFI folder to see which one I am currently using. While other patches may be needed case-by-case, such as the WiFi/Bluetooth patches.
+> ## Important Note:
+
+Unlike Clover, where SSDT patches are only being applied when booting macOS. OpenCore will apply SSDT patches regardless of the operating system. This is critical when multi-booting, since Windows and Linux do not need the additional patches that macOS does. In many cases, if Windows/Linux fails to boot under OpenCore, it is likely that your macOS intended SSDT patch(s) is being applied universally. To prevent OpenCore from doing this, it is important that your SSDT patches specify its intended OS, which in our case is "Darwin."
+See highlighted example:
+
+![OpenCore SSDT patching notice](https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/master/docs/assets/img/OpenCore%20SSDT%20patching%20notice.png)
+
## Some Thinkpad machines are `LPC` and some are`LPCB`. Please examine your own DSDT and modify patches as needed.
> ### Non-native WiFi and Bluetooth
@@ -33,13 +40,13 @@ Should your source DSDT be similar enough (in regards to certain items in these
\*Notice that these patches require additional kexts to be installed. See them in `Kernel/Add/`
-> ### SSDT-OCBAT0-TP_tx80_x1c6th - Enabling Battery Status in macOS
+> ### SSDT-OCBAT0-TP_tx80_x1c6th - Enables Battery Status in macOS
**Need `OpenCore Patches/ TPbattery.plist`**
- Single battery system: only `BAT0` in ACPI, no `BAT1`.
-> ### SSDT-PLUG-\_PR.PR00 - Enablaing Native Intel Power Managements
+> ### SSDT-PLUG-\_PR.PR00 - Enables Native Intel Power Managements
Why?: `Processor` search in DSDT, rename `PR` to other variables as needed.
@@ -65,11 +72,11 @@ Why?: `Processor` search in DSDT, rename `PR` to other variables as needed.
}
```
-> ### SSDT-PNLF-SKL_KBL - Enabling Brightness Mangement in macOS
+> ### SSDT-PNLF-SKL_KBL - Enables Brightness Management in macOS
iGPU is `PCI0.GFX0`
Why?: `Skylake/ KabyLake/ KabyLake-R` CPU.
-Used in conjuction with `WhateverGreen.kext`
+Used in conjunction with `WhateverGreen.kext`
> ### SSDT-HPET
@@ -88,7 +95,7 @@ For multimedia functions:
- Remap 4: F7 (Dual Display) to F16 (for use with ThinkpadAssistant)
- Remap 5: F8 (Network) to F17 (for use with ThinkpadAssistant)
- Remap 6: F9 (Settings) to F18 (for use with ThinkpadAssistant)
-- Remap 7: F10 (Bluetooth) to [Shift+Down]
+- Remap 7: F10 (Bluetooth) to [Left Shift + F8] ((for use with ThinkpadAssistant))
- Remap 8: F11 (Keyboard) to [Shift+Up]
- Remap 9: F12 (Star) to F19 (for use with ThinkpadAssistant)
- Remap 10: PrtSc to F13
@@ -120,18 +127,10 @@ Look up `_PTS` and `_WAK` in source DSDT and confirm the following, modify if di
- 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
-
-Why?: `0x001F0004` under Device (SBUS).
-
> ### SSDT-DMAC
Why?: `PNP0200` is missing in DSDT.
-> ### SSDT-MCHC
-
-Why?: `MCHC` is missing in DSDT.
-
> ### SSDT-PMCR
Why?: `PMCR`,`APP9876` missing in DSDT.
diff --git a/docs/5_README-other.md b/docs/5_README-other.md
index 5929ec7..0a2774f 100644
--- a/docs/5_README-other.md
+++ b/docs/5_README-other.md
@@ -15,6 +15,8 @@
- Disable Power Nap for both [`Battery`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/Batter_powernap.png) and [`Power Adapter`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/Poweradt_powernap.png).
- Disable [`Wake for Network Access`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/Poweradt_powernap.png) in `Power Adapter`.
- Uncheck [`Allow Bluetooth devices to wake this computer`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/Bluetooth_wake.png).
+- Do not disable `hibernatefile`.
+- `sudo pmset -a tcpkeepalive 0` to disable Network while sleeping.
> ## Multimedia Fn Key Patching:
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index d848ef6..6bb1cec 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -3,6 +3,28 @@
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-6-26
+
+#### Added
+
+- `VoodooRMI` as alternative trackpad option. **Enabled by default, feel free to revert back to `VoodooPS2Mouse` and `VoodooPS2Trackpad` if you prefer**. *Note, there's currently a bug with RMI where the touchpad would not load once in a while. The RMI kext uploaded in this repo has a temp fix by me (See [VoodooSMBUS/PR](https://github.com/VoodooSMBus/VoodooSMBus/pull/41)). However, the issue is still ongoing and the dev team is aware of it. I'm switching this repo to VoodooRMI because I believe it's the future and I want to possible bugs to be reported to be fixed for the kext's first stable release.
+- Kernel patches to enable 4K external graphics, thank you so much [@benbender](https://github.com/benbender)
+- `XQ74` patch in `SSDT-Keyboard` to support `FnLock` HUD per ThinkpadAssistant 1.8.0
+- In [EFI-OpenCore/README.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/EFI-OpenCore/README.md), I've added a short section explaining why certain variables are the way they are in my `config.plist`. I will continue to update this section with more details as time goes on.
+
+#### Changed
+
+- iGPU Framebuffer patching for HDMI issue in Catalina.
+ - In Catalina/WhateverGreen version, for some reasons my previous framebuffer patches for HDMI no longer worked. So I re-did the patch in mode details but eventually the property that fixed it was `disable-external-gpu` or `-wegnoegpu`. For some strange reasons, that variable activated on-board HDMI. See [similar reports here](https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/page-123). I'm going to create an issue on acidanthera/bugtracker soon to report to the dev team. In the mean time, keep this property if you rely on HDMI and do not have an eGPU. Delete this property if you have an eGPU (You're likely using the HDMI on the eGPU anyway).
+- Fixed `VoodooPS2` kexts loading order.
+- Various reference docs to dortania.
+- `HibernateMode` to `Auto`
+
+#### Removed
+
+- Unnecessary Mutex OpenCore patches, all Mutex are already 0 in stock `DSDT`.
+- `SSDT-MCHC` and `SSDT-SBUS` for `VoodooRMI` compatibility.
+
> ### 2020-6-1
#### Changed
diff --git a/docs/assets/img/ALCPlugFix_fixAudio.png b/docs/assets/img/ALCPlugFix_fixAudio.png
index ba7c1d2..3f946a0 100644
Binary files a/docs/assets/img/ALCPlugFix_fixAudio.png and b/docs/assets/img/ALCPlugFix_fixAudio.png differ
diff --git a/docs/assets/img/macOS Settings/Battery_powernap.png b/docs/assets/img/macOS Settings/Battery_powernap.png
index ad62944..1178fb3 100644
Binary files a/docs/assets/img/macOS Settings/Battery_powernap.png and b/docs/assets/img/macOS Settings/Battery_powernap.png differ
diff --git a/docs/assets/img/macOS Settings/Bluetooth_wake.png b/docs/assets/img/macOS Settings/Bluetooth_wake.png
index c019442..494c206 100644
Binary files a/docs/assets/img/macOS Settings/Bluetooth_wake.png and b/docs/assets/img/macOS Settings/Bluetooth_wake.png differ
diff --git a/docs/assets/img/macOS Settings/Poweradt_powernap.png b/docs/assets/img/macOS Settings/Poweradt_powernap.png
index 25d888e..15de895 100644
Binary files a/docs/assets/img/macOS Settings/Poweradt_powernap.png and b/docs/assets/img/macOS Settings/Poweradt_powernap.png differ
diff --git a/docs/assets/img/macOS Settings/touchpad.png b/docs/assets/img/macOS Settings/touchpad.png
index ceaf4b3..7f18c07 100644
Binary files a/docs/assets/img/macOS Settings/touchpad.png and b/docs/assets/img/macOS Settings/touchpad.png differ
diff --git a/patches/OpenCore Patches/TPbattery.plist b/patches/OpenCore Patches/TPbattery.plist
index d84c144..db31818 100755
--- a/patches/OpenCore Patches/TPbattery.plist
+++ b/patches/OpenCore Patches/TPbattery.plist
@@ -133,254 +133,6 @@
-
- Comment
- Mutex:MDGS=0
- Count
- 0
- Enabled
-
- Find
-
- AU1ER1MH
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AU1ER1MA
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:MCPU=0
- Count
- 0
- Enabled
-
- Find
-
- AU1DUFUH
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AU1DUFUA
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:BATM=0
- Count
- 0
- Enabled
-
- Find
-
- AUJBVE0H
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AUJBVE0A
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:MSMI=0
- Count
- 0
- Enabled
-
- Find
-
- AU1TTUkH
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AU1TTUkA
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:BFWM=0
- Count
- 0
- Enabled
-
- Find
-
- AUJGV00H
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AUJGV00A
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:XDHK=0
- Count
- 0
- Enabled
-
- Find
-
- AVhESEsH
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AVhESEsA
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:MWMI=0
- Count
- 0
- Enabled
-
- Find
-
- AU1XTUkH
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AU1XTUkA
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
-
- Comment
- Mutex:NPWM=0
- Count
- 0
- Enabled
-
- Find
-
- AU5QV00H
-
- Limit
- 0
- Mask
-
-
- OemTableId
-
-
- Replace
-
- AU5QV00A
-
- ReplaceMask
-
-
- Skip
- 0
- TableLength
- 0
-
diff --git a/patches/OpenCore Patches/x1c6-keyboard.plist b/patches/OpenCore Patches/x1c6-keyboard.plist
index abf7f05..2c7e60a 100644
--- a/patches/OpenCore Patches/x1c6-keyboard.plist
+++ b/patches/OpenCore Patches/x1c6-keyboard.plist
@@ -357,6 +357,40 @@
+
+ Comment
+ _Q74 to XQ74 (FnLock - Fn + Esc)
+ Count
+ 1
+ Enabled
+
+ Find
+
+ X1E3NA==
+
+ Limit
+ 0
+ Mask
+
+
+ OemTableId
+
+
+ Replace
+
+ WFE3NA==
+
+ ReplaceMask
+
+
+ Skip
+ 0
+ TableLength
+ 0
+ TableSignature
+
+
+
diff --git a/patches/SSDT-HPET.dsl b/patches/SSDT-HPET.dsl
index 0911e02..c7d927a 100644
--- a/patches/SSDT-HPET.dsl
+++ b/patches/SSDT-HPET.dsl
@@ -4,16 +4,12 @@
//
DefinitionBlock ("", "SSDT", 2, "tyler", "HPET", 0x00000000)
{
+ External (_SB.PCI0.LPCB, DeviceObj) // (from opcode)
External (_SB.PCI0.LPCB.HPET, DeviceObj) // (from opcode)
-
Name (\_SB.PCI0.LPCB.HPET._CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
- IRQNoFlags()
- {0}
- IRQNoFlags()
- {8}
- IRQNoFlags()
- {11}
+ IRQNoFlags ()
+ {0,8,11}
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
diff --git a/patches/SSDT-Keyboard.dsl b/patches/SSDT-Keyboard.dsl
index d321342..9d98857 100644
--- a/patches/SSDT-Keyboard.dsl
+++ b/patches/SSDT-Keyboard.dsl
@@ -1,23 +1,66 @@
+/*
+LED1 is F4 - Mic Mute
+LED2 is Keyboard Backlight
+LED3 is FnLock LED
+*/
DefinitionBlock("", "SSDT", 2, "tyler", "x1input", 0)
{
External(_SB.PCI0.LPCB.KBD, DeviceObj)
External(_SB.PCI0.LPCB.EC, DeviceObj)
- External(_SB.PCI0.LPCB.EC.XQ6A, MethodObj)
- External(_SB.PCI0.LPCB.EC.XQ15, MethodObj)
- External(_SB.PCI0.LPCB.EC.XQ14, MethodObj)
- External(_SB.PCI0.LPCB.EC.XQ16, MethodObj)
- External(_SB.PCI0.LPCB.EC.XQ64, MethodObj)
- External(_SB.PCI0.LPCB.EC.XQ66, MethodObj)
- External(_SB.PCI0.LPCB.EC.XQ60, MethodObj)
- External(_SB.PCI0.LPCB.EC.XQ61, MethodObj)
- External(_SB.PCI0.LPCB.EC.XQ62, MethodObj)
- External(_SB.PCI0.LPCB.EC.XQ1F, MethodObj)
- External(_SB.PCI0.LPCB.EC.HKEY.MMTS, MethodObj)
- External(_SB.PCI0.LPCB.EC.HKEY.MMTG, MethodObj)
- External(_SB.PCI0.LPCB.EC.HKEY.MLCS, MethodObj)
+ External(_SB.PCI0.LPCB.EC.XQ74, MethodObj) // FnLock
+ External(_SB.PCI0.LPCB.EC.XQ6A, MethodObj) // F4 - Mic Mute
+ External(_SB.PCI0.LPCB.EC.XQ15, MethodObj) // F5
+ External(_SB.PCI0.LPCB.EC.XQ14, MethodObj) // F6
+ External(_SB.PCI0.LPCB.EC.XQ16, MethodObj) // F7
+ External(_SB.PCI0.LPCB.EC.XQ64, MethodObj) // F8
+ External(_SB.PCI0.LPCB.EC.XQ66, MethodObj) // F9
+ External(_SB.PCI0.LPCB.EC.XQ60, MethodObj) // F10
+ External(_SB.PCI0.LPCB.EC.XQ61, MethodObj) // F11
+ External(_SB.PCI0.LPCB.EC.XQ62, MethodObj) // F12
+ External(_SB.PCI0.LPCB.EC.XQ1F, MethodObj) // Keyboard Backlight (Fn+Space)
+ External(_SB.PCI0.LPCB.EC.HKEY.MHKQ, MethodObj) // FnLock LED
+ External(_SB.PCI0.LPCB.EC.HKEY.MMTS, MethodObj) // F4 - Mic Mute LED
+ External(_SB.PCI0.LPCB.EC.HKEY.MLCS, MethodObj) // Keyboard Backlight LED
Scope (_SB.PCI0.LPCB.EC)
{
+ Name (LED3, Zero)
+ Method (_Q74, 0, NotSerialized) // FnLock (Fn + Esc)
+ {
+ If (_OSI ("Darwin"))
+ {
+ // Toggle FnLock LED
+ If ((LED3 == Zero))
+ {
+ // Right Shift + F18
+ Notify (\_SB.PCI0.LPCB.KBD, 0x012A)
+ Notify (\_SB.PCI0.LPCB.KBD, 0x0369)
+ Notify (\_SB.PCI0.LPCB.KBD, 0x01aa)
+
+ // 0x02 = Enable LED
+ \_SB.PCI0.LPCB.EC.HKEY.MHKQ (0x02)
+ LED3 = One
+ }
+ Else
+ {
+ // Left Shift + F18
+ Notify (\_SB.PCI0.LPCB.KBD, 0x0136)
+ Notify (\_SB.PCI0.LPCB.KBD, 0x0369)
+ Notify (\_SB.PCI0.LPCB.KBD, 0x01b6)
+
+ // 0x00 = Disable LED
+ \_SB.PCI0.LPCB.EC.HKEY.MHKQ (Zero)
+ LED3 = Zero
+ }
+
+ }
+ Else
+ {
+ // Call original _Q74 method.
+ \_SB.PCI0.LPCB.EC.XQ74()
+ }
+ }
+
Name (LED1, Zero)
// _Q6A - Microphone Mute
Method (_Q6A, 0, NotSerialized) // F4 - Microphone Mute = F20
diff --git a/patches/SSDT-MCHC.dsl b/patches/SSDT-MCHC.dsl
deleted file mode 100644
index 08b10e1..0000000
--- a/patches/SSDT-MCHC.dsl
+++ /dev/null
@@ -1,25 +0,0 @@
-// This SSDT adds the missing Memory (DRAM) Controller to the system.
-
-DefinitionBlock ("", "SSDT", 2, "tyler", "MCHC", 0x00000000)
-{
- External (_SB_.PCI0, DeviceObj)
-
- Scope (_SB.PCI0)
- {
- Device (MCHC)
- {
- Name (_ADR, Zero) // _ADR: Address
- Method (_STA, 0, NotSerialized) // _STA: Status
- {
- If (_OSI ("Darwin"))
- {
- Return (0x0F)
- }
- Else
- {
- Return (Zero)
- }
- }
- }
- }
-}
diff --git a/patches/SSDT-SBUS.dsl b/patches/SSDT-SBUS.dsl
deleted file mode 100644
index c4b376b..0000000
--- a/patches/SSDT-SBUS.dsl
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-DefinitionBlock ("", "SSDT", 2, "tyler", "SBUS", 0)
-{
- External (_SB_.PCI0.SBUS, DeviceObj)
-
- Scope (_SB.PCI0.SBUS)
- {
- Device (BUS0)
- {
- Name (_CID, "smbus")
- Name (_ADR, Zero)
- Device (DVL0)
- {
- Name (_ADR, 0x57)
- Name (_CID, "diagsvault")
- Method (_DSM, 4, NotSerialized)
- {
- If (!Arg2)
- {
- Return (Buffer (One)
- {
- 0x03
- })
- }
-
- Return (Package (0x02)
- {
- "address",
- 0x57
- })
- }
- }
- Method (_STA, 0, NotSerialized)
- {
- If (_OSI ("Darwin"))
- {
- Return (0x0F)
- }
- Else
- {
- Return (Zero)
- }
- }
- }
- }
-}
-