Contribute
Register

VoodooI2C Help and Support

Status
Not open for further replies.
As RehabMan already said, there's no need to use the Windows 2015 patch with XOSI. Just modify it to emulate Windows 2015 (and previous versions as well, as per ACPI spec).
According to your files from here:
https://www.tonymacx86.com/threads/...er-uefi-hotpatch.232948/page-186#post-1718633
GPIO controller is already enabled. No need for this patch.
I2C controllers patch is Skylake only (Might not be needed after a BIOS update on SKL, BTW...). Not applicable for your hardware.

Try just disabling Apple's I2C kexts first (After emulating Windows 2015), see here:
https://www.tonymacx86.com/threads/...h-m3-7y30-mix-plus.249611/page-4#post-1738045

:) ok thx ben! will try to accomplish that and follow rehabman's and your advice of changing XOSI to Windows 2015 and use the plain voodooI2C-kexts without patching.

kind regards!
 
Last edited:
attempt of compiling the DSDT.dsl without patches leads to lots of errors. attempt of compiling DSDT.dsl with only GPIO and I2C-Controllers-Patches from the voodooI2C-repository leads to only one error again, the above mentioned one in the same line. attached are the original .aml's and decompiled .dsl's. Thanks so much RehabMan!

No unusual errors in your DSDT.dsl...
All errors are caused by iasl bugs that emit External ops when not needed...
As per guide, you simply need to remove or comment them for a clean compile:
Code:
//    External (EMOD, IntObj)    // (from opcode)
..
//    External (PPL1, UnknownObj)    // (from opcode)
..
//    External (WCLN, UnknownObj)    // (from opcode)
//    External (WPPE, UnknownObj)    // (from opcode)
//    External (WPRP, UnknownObj)    // (from opcode)
//    External (WPWK, UnknownObj)    // (from opcode)

But first you should spoof Win10 with changes to XOSI, then evaluate whether additional patching is necessary or not.
 
But first you should spoof Win10 with changes to XOSI, then evaluate whether additional patching is necessary or not.

ok, obviously I did something terribly wrong trying to accomplish that, but finally restored the system back up. what I did was:

1. grab SSDT-XOSI.dsl from your repository Rehabman (OS-X-USB-Inject-All/SSDT-XOSI.dsl), uncomment windows 2013 and 2015, compile it to SSDT-XOSI.aml (with Maciasl, no errors), put that into EFI/CLOVER/PATCHED
2. disable AppleIntelLpssI2C.kext + AppleIntelLpssI2CController.kext by renaming them
3. put voodooI2C.kext + voodooI2CHID.kext into L/E
4. disable voodoops2controller.kext in L/E by renaming it
5. rebuild caches

obviously step 1 is terribly wrong. but how do I spoof win 2015 (=10) in XOSI? in the prebook repository under /User/xxx/Projects/probook.git/hotpatch I found a SSDT-HACK.asl, but have no clue how to handle that file.

thanks again for your help dear all!
 
1. grab SSDT-XOSI.dsl from your repository Rehabman (OS-X-USB-Inject-All/SSDT-XOSI.dsl), uncomment windows 2013 and 2015, compile it to SSDT-XOSI.aml (with Maciasl, no errors), put that into EFI/CLOVER/PATCHED

No.
The XOSI method is in SSDT-HACK.asl which is combined with all the other applicable .asl files and compiled into the model specific SSDT, in your case in SSDT-4x0-G5-Kabylake-R.aml, which is really the same as SSDT-4x0-G4-KabyLake.aml from the ./build directory (look closely at what install_acpi.sh does). These files are built by ./build.sh, or 'make'.

Best to make your changes to SSDT-HACK.asl, then use ./build.sh to build it. Then use ./install_acpi.sh.

2. disable AppleIntelLpssI2C.kext + AppleIntelLpssI2CController.kext by renaming them

I would recommend the I2C disabler patches by CoolStar. You will find them in the main Clover laptop repo in config_patches.plist.

3. put voodooI2C.kext + voodooI2CHID.kext into L/E

That's fine if you install them correctly.
Refer to the FAQ for correct kext installation procedures.

4. disable voodoops2controller.kext in L/E by renaming it

You will likely need it for the PS2 keyboard. You can, of course, remove the VoodooPS2Mouse.kext and VoodooPS2Trackpad.kext from the Plugins directory.

Note: You can also disable the mouse and trackpad drivers with configuration data (by setting "DisableDevice" to ">y"). If you dig a bit, you can see how this is done in enable_mouse.asl (requires a bit of digging to see how enable_mouse.asl fits into the picture, but if you understand #include and a bit of ACPI, and are familiar with RMCF configuration overrides).

Since, VoodooPS2Mouse.kext is already disabled in for Probooks in the Info.plist (by default), you only have to worry about disabling the VoodooPS2Trackpad.

The diffs would look something like this:
Code:
diff --git a/Patches.xcodeproj/project.pbxproj b/Patches.xcodeproj/project.pbxproj
index 416ed65..81dc197 100644
--- a/Patches.xcodeproj/project.pbxproj
+++ b/Patches.xcodeproj/project.pbxproj
@@ -97,6 +97,7 @@
        ED341D5F1FA370BC00455E78 /* SSDT-4230s.dsl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "SSDT-4230s.dsl"; path = "hotpatch/SSDT-4230s.dsl"; sourceTree = "<group>"; };
        ED3717731D578CD700FC4CC3 /* layout7.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = layout7.plist; path = Resources_ProBook/layout7.plist; sourceTree = "<group>"; };
        ED3717741D578CD700FC4CC3 /* layout6.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = layout6.plist; path = Resources_ProBook/layout6.plist; sourceTree = "<group>"; };
+        ED3BFB6620992CB9007D8439 /* disable_trackpad.asl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = disable_trackpad.asl; path = hotpatch/include/disable_trackpad.asl; sourceTree = "<group>"; };
        ED407DA41CF4FBA900A03010 /* config_HD4000_hdmi_audio.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = config_HD4000_hdmi_audio.plist; path = config_parts/config_HD4000_hdmi_audio.plist; sourceTree = "<group>"; };
        ED407DA51CF4FC8B00A03010 /* config_Skylake_hdmi_audio.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = config_Skylake_hdmi_audio.plist; path = config_parts/config_Skylake_hdmi_audio.plist; sourceTree = "<group>"; };
        ED407DA61CF4FC8B00A03010 /* config_Broadwell_hdmi_audio.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = config_Broadwell_hdmi_audio.plist; path = config_parts/config_Broadwell_hdmi_audio.plist; sourceTree = "<group>"; };
@@ -557,6 +558,7 @@
                ED6354D31D38643B00C77357 /* standard_PS2K_data.asl */,
                ED6354D21D38643B00C77357 /* key86_data.asl */,
                ED63DC271FDED5310001E2F4 /* enable_mouse.asl */,
+                ED3BFB6620992CB9007D8439 /* disable_trackpad.asl */,
                ED97E91D1CC75350006C757A /* disable_HECI.asl */,
                ED97E9121CC75350006C757A /* layout3_HDAU.asl */,
                ED97E9131CC75350006C757A /* layout3_HDEF.asl */,
diff --git a/hotpatch/SSDT-4x0-G4-Kabylake.dsl b/hotpatch/SSDT-4x0-G4-Kabylake.dsl
index 1c37fae..ed659d1 100644
--- a/hotpatch/SSDT-4x0-G4-Kabylake.dsl
+++ b/hotpatch/SSDT-4x0-G4-Kabylake.dsl
@@ -5,10 +5,21 @@ DefinitionBlock ("", "SSDT", 2, "hack", "4x0g4k", 0)
     #define OVERRIDE_XPEE 1
     #include "SSDT-RMCF.asl"
     #include "SSDT-RP01_PXSX_RDSS.asl"
+    #define SPOOF_WIN10
     #include "SSDT-HACK.asl"
     #include "include/layout20_HDEF.asl"
     #include "include/disable_HECI.asl"
-    #include "include/key86_PS2K.asl"
+    //#include "include/key86_PS2K.asl"
+    External(\_SB.PCI0.LPCB.PS2K, DeviceObj)
+    Scope (\_SB.PCI0.LPCB.PS2K)
+    {
+        // overrides for VoodooPS2 configuration...
+        Name(RMCF, Package()
+        {
+            #include "include/disable_trackpad.asl"
+            #include "include/key86_data.asl"
+        })
+    }
     #include "SSDT-KEY87.asl"
     #include "SSDT-USB-4x0-G4.asl"
     #include "SSDT-XHC.asl"
diff --git a/hotpatch/SSDT-HACK.asl b/hotpatch/SSDT-HACK.asl
index 72e6d71..7e3be5e 100644
--- a/hotpatch/SSDT-HACK.asl
+++ b/hotpatch/SSDT-HACK.asl
@@ -31,9 +31,15 @@
             "Windows 2006 SP1",     // Windows Vista SP1
             "Windows 2006.1",       // Windows Server 2008
             "Windows 2009",         // Windows 7/Windows Server 2008 R2
+#ifndef SPOOF_WIN10
             //"Windows 2012",       // Windows 8/Windows Server 2012
             //"Windows 2013",       // Windows 8.1/Windows Server 2012 R2
             //"Windows 2015",       // Windows 10/Windows Server TP
+#else
+            "Windows 2012",         // Windows 8/Windows Server 2012
+            "Windows 2013",         // Windows 8.1/Windows Server 2012 R2
+            "Windows 2015",         // Windows 10/Windows Server TP
+#endif
         }
         Return (Ones != Match(Local0, MEQ, Arg0, MTR, 0, 0))
     }

And the addition of hotpatch/include/disable_trackpad.dsl:
Code:
NUC6i7KYK:probook.git rehabman$ git diff --staged
diff --git a/hotpatch/include/disable_trackpad.asl b/hotpatch/include/disable_trackpad.asl
new file mode 100644
index 0000000..a32ba82
--- /dev/null
+++ b/hotpatch/include/disable_trackpad.asl
@@ -0,0 +1,9 @@
+// for including into RMCF at PCI0.LPCB.PS2K.RMCF
+// this could be used for laptops with I2C trackpad...
+// it disables the Synaptics PS2 trackpad kext
+
+    "Synaptics TouchPad", Package()
+    {
+        "DisableDevice", ">y",
+    },
+

Note to those reading: This is all very specific to how the ProBook repo is constructed.
 
Last edited:
No.
The XOSI method is in SSDT-HACK.asl which is combined with all the other applicable .asl files and compiled into the model specific SSDT, in your case in SSDT-4x0-G5-Kabylake-R.aml, which is really the same as SSDT-4x0-G4-KabyLake.aml from the ./build directory (look closely at what install_acpi.sh does). These files are built by ./build.sh, or 'make'.

Best to make your changes to SSDT-HACK.asl, then use ./build.sh to build it. Then use ./install_acpi.sh.

great thanks! edited ssd-hack.asl, built it and manually copied the SSDT (after renaming G4 to G5 :) ) to EFI/Clover/ACPI/patched/

No.

I would recommend the I2C disabler patches by CoolStar. You will find them in the main Clover laptop repo in config_patches.plist.

pasted the lines from your repo into my config.plist

No.

That's fine if you install them correctly.
Refer to the FAQ for correct kext installation procedures.

installed the 2 kexts with KextBeast to /L/E

No.

You will likely need it for the PS2 keyboard. You can, of course, remove the VoodooPS2Mouse.kext and VoodooPS2Trackpad.kext from the Plugins directory.

Note: You can also disable the mouse and trackpad drivers with configuration data (by setting "DisableDevice" to ">y").

great hint, did the second thing.

still things aren't working out as expected, probably installed the voodooi2c kexts wrong, maybe I need more then these 2, will read more the FAQ here in post #1 or the voodooi2c - homepage.

thanks a lot RehabMan for your patience!

kindest regards!
 
great thanks! edited ssd-hack.asl, built it and manually copied the SSDT (after renaming G4 to G5 :) ) to EFI/Clover/ACPI/patched/



pasted the lines from your repo into my config.plist



installed the 2 kexts with KextBeast to /L/E



great hint, did the second thing.

still things aren't working out as expected, probably installed the voodooi2c kexts wrong, maybe I need more then these 2, will read more the FAQ here in post #1 or the voodooi2c - homepage.

thanks a lot RehabMan for your patience!

kindest regards!

You might look at the diffs I added in post #340...

Note: Those diffs and more added to the 'i2c' branch.

If you need analysis regarding what you did:
Read FAQ, "Problem Reporting". Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
Last edited:
You might look at the diffs I added in post #340...

Note: Those diffs and more added to the 'i2c' branch.

If you need analysis regarding what you did:
Read FAQ, "Problem Reporting". Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.

now I gotta do a whole lotta reading to understand all of this ;) thx a lot RehabMan! Will get back as soon as possible.

Cheerio!
 
now I gotta do a whole lotta reading to understand all of this ;) thx a lot RehabMan! Will get back as soon as possible.

Cheerio!

Let me know what happens with the i2c branch...
 
Status
Not open for further replies.
Back
Top