Contribute
Register

<< Solved >> Lenovo 720s 15ikb trackpad issue

Joined
Sep 19, 2023
Messages
5
Motherboard
lenovo 81AC
CPU
i7-7700HQ
Graphics
HD 630
Trying to make my trackpad to work with Ventura 13.5.2 and OpenCore 0.9.5 but still no luck
my trackpad is recognized on IoRegistryExplorer under GPI0 as
Code:
IOService:/AppleACPIPlatformExpert/GPI0/VoodooGPIOSunrisePointH

using voodooI2C as core kext and voodooI2CHID as satellite kext, and already add SSDT-XOSI for tricking the trackpad to think that it is booting to windows (already with patch rename _OSI to XOSI)
this is based on dortania's guide
what do I miss?
 

Attachments

  • Screenshot 2023-09-19 at 18.51.51.png
    Screenshot 2023-09-19 at 18.51.51.png
    98 KB · Views: 18
  • config.plist
    49.5 KB · Views: 17
Last edited:
Trying to make my trackpad to work with Ventura 13.5.2 and OpenCore 0.9.5 but still no luck
my trackpad is recognized on IoRegistryExplorer under GPI0 as
Code:
IOService:/AppleACPIPlatformExpert/GPI0/VoodooGPIOSunrisePointH

using voodooI2C as core kext and voodooI2CHID as satellite kext, and already add SSDT-XOSI for tricking the trackpad to think that it is booting to windows (already with patch rename _OSI to XOSI)
this is based on dortania's guide
what do I miss?
kext order is also important, example of mine:


Code:
<dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooI2C.kext/Contents/Plugins/VoodooGPIO.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooGPIO</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooI2C.kext/Contents/Plugins/VoodooI2CServices.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooI2CServices</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooI2C.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooI2C</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooI2CELAN.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooI2CELAN</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooPS2Controller.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooPS2Controller</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooPS2Controller.kext/Contents/Plugins/VoodooPS2Keyboard.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooPS2Keyboard</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooPS2Controller.kext/Contents/Plugins/VoodooPS2Mouse.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooPS2Mouse</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooPS2Controller.kext/Contents/Plugins/VoodooInput.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooInput</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
also with my ELAN1000, i also needed the attached aml file

along with Config.plist Find and Replace entries:

Code:
<dict>
                <key>Base</key>
                <string></string>
                <key>BaseSkip</key>
                <integer>0</integer>
                <key>Comment</key>
                <string>_SB.PCI0.I2C1.ETPD._CRS to _SB.PCI0.I2C1.ETPD.XCRS</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>
                oAp7RFNZTgEApACkCg8UEV9DUlMApIRTQkZCU0JGSQA=
                </data>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data>
                </data>
                <key>OemTableId</key>
                <data>
                </data>
                <key>Replace</key>
                <data>
                oAp7RFNZTgEApACkCg8UEVhDUlMApIRTQkZCU0JGSQA=
                </data>
                <key>ReplaceMask</key>
                <data>
                </data>
                <key>Skip</key>
                <integer>0</integer>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data>
                RFNEVA==
                </data>
            </dict>
            <dict>
                <key>Base</key>
                <string></string>
                <key>BaseSkip</key>
                <integer>0</integer>
                <key>Comment</key>
                <string>GPIO._STA to GPIO.XSTA</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>
                X1NUQQCgCZNTQlJHAA==
                </data>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data>
                </data>
                <key>OemTableId</key>
                <data>
                </data>
                <key>Replace</key>
                <data>
                WFNUQQCgCZNTQlJHAA==
                </data>
                <key>ReplaceMask</key>
                <data>
                </data>
                <key>Skip</key>
                <integer>0</integer>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data>
                RFNEVA==
                </data>
            </dict>

you will nave to find out which make/model you have as the above may not work for yours:
the documentation linked above may help
 

Attachments

  • SSDT-GPI0.aml
    239 bytes · Views: 17
kext order is also important, example of mine:


Code:
<dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooI2C.kext/Contents/Plugins/VoodooGPIO.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooGPIO</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooI2C.kext/Contents/Plugins/VoodooI2CServices.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooI2CServices</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooI2C.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooI2C</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooI2CELAN.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooI2CELAN</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooPS2Controller.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooPS2Controller</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooPS2Controller.kext/Contents/Plugins/VoodooPS2Keyboard.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooPS2Keyboard</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooPS2Controller.kext/Contents/Plugins/VoodooPS2Mouse.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooPS2Mouse</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>VoodooPS2Controller.kext/Contents/Plugins/VoodooInput.kext</string>
                <key>Comment</key>
                <string>Touchpad</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooInput</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
also with my ELAN1000, i also needed the attached aml file

along with Config.plist Find and Replace entries:

Code:
<dict>
                <key>Base</key>
                <string></string>
                <key>BaseSkip</key>
                <integer>0</integer>
                <key>Comment</key>
                <string>_SB.PCI0.I2C1.ETPD._CRS to _SB.PCI0.I2C1.ETPD.XCRS</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>
                oAp7RFNZTgEApACkCg8UEV9DUlMApIRTQkZCU0JGSQA=
                </data>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data>
                </data>
                <key>OemTableId</key>
                <data>
                </data>
                <key>Replace</key>
                <data>
                oAp7RFNZTgEApACkCg8UEVhDUlMApIRTQkZCU0JGSQA=
                </data>
                <key>ReplaceMask</key>
                <data>
                </data>
                <key>Skip</key>
                <integer>0</integer>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data>
                RFNEVA==
                </data>
            </dict>
            <dict>
                <key>Base</key>
                <string></string>
                <key>BaseSkip</key>
                <integer>0</integer>
                <key>Comment</key>
                <string>GPIO._STA to GPIO.XSTA</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>
                X1NUQQCgCZNTQlJHAA==
                </data>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data>
                </data>
                <key>OemTableId</key>
                <data>
                </data>
                <key>Replace</key>
                <data>
                WFNUQQCgCZNTQlJHAA==
                </data>
                <key>ReplaceMask</key>
                <data>
                </data>
                <key>Skip</key>
                <integer>0</integer>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data>
                RFNEVA==
                </data>
            </dict>

you will nave to find out which make/model you have as the above may not work for yours:
the documentation linked above may help
I guess mine is pci8086,a160 or a161, listed at hackintool but it said disabled. will try to reorder the kext
 

Attachments

  • Screenshot 2023-09-19 at 19.10.52.png
    Screenshot 2023-09-19 at 19.10.52.png
    25.9 KB · Views: 10
I guess mine is pci8086,a160 or a161, listed at hackintool but it said disabled. will try to reorder the kext
wow! that is the same as mine:

IMAG0050.jpg
 
thanks a lot man!!!!!!!!!!!!!!! kext reordering works !!!!! been trying to solve this for 30+ hours and no result till this
I used VoodooI2CHID instead of VoodooI2CELAN
glad it works! :)
 
Back
Top