Jump to content

How to enable I2C trackpad / touchpad and touch screen on Hackintosh


Recommended Posts

  • Administrators
Posted

How to enable I2C trackpad / touchpad and touch screen on Hackintosh

 

-Support Olarila Vanilla Hackintosh by making a donation HERE

-About Premium Users you can check HERE

-Problems with Paypal HERE

-Installation Guide HERE

-Hackintosh EFI folders HERE

-Hackintosh USB Remap HERE

-How to update OpenCore and Kexts HERE

 

-You need to know your trackpad/touchscreen. Check on Windows if don't work with procedure bellow

-Many ELAN and Synaptics trackpad work with VoodooI2CHID satelite instead VoodooI2CELAN or VoodooI2CSynaptics

-This way is just for polling mode. if you want a Interrupt mode read HERE about

-The Core - The core is the VoodooI2C.kext kernel extension. This kext is intended to be installed by anyone whose computer requires some form of I2C support. It consists of I2C controller drivers and is responsible for publishing device nubs to the IOService plane.

-The Satellites - The satellites are a collection of various kernel extensions that implement support for a specific type of I2C device. An example of a satellite kext is VoodooI2CHID.kext which adds support for I2C-HID devices. Usually a user will install one satellite kext per class of I2C device.

 

1- Download Voodooi2c kexts from HERE  All credits to VoodooI2C team. 

 

2- Add VoodooI2C kexts in correct order. You need VoodooPS2Controller with only plugin VoodooPS2Keyboard. Check images bellow.

aysrRs0.png

5kXKJGy.png

 

3- Download SSDT-XOSI to apply Windows patch SSDT-XOSI.aml.zip Add this SSDT on bootloader ACPI folder and add entry on ACPI / Add tab

PcV2llB.png

 

4- Add ACPI renames on ACPI / Patch tab. If you have Dell notebook enable first patch.

Quote

<dict>
                <key>Base</key>
                <string></string>
                <key>BaseSkip</key>
                <integer>0</integer>
                <key>Comment</key>
                <string>OSID to XSID for Dell Notebook</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <false/>
                <key>Find</key>
                <data>T1NJRA==</data>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>OemTableId</key>
                <data></data>
                <key>Replace</key>
                <data>WFNJRA==</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data></data>
            </dict>

<dict>
                <key>Base</key>
                <string></string>
                <key>BaseSkip</key>
                <integer>0</integer>
                <key>Comment</key>
                <string>_OSI to XOSI</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>X09TSQ==</data>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>OemTableId</key>
                <data></data>
                <key>Replace</key>
                <data>WE9TSQ==</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data></data>
            </dict>

 

5- Add bootarg -vi2c-force-polling on NVRAM / Add7C436110-AB2A-4BBB-A880-FE41995C9F82 tab

W5VICMA.png

 

Reboot and Reset Nvram.

 

-If you need to use Synaptics satelite need edit name inside kext plist. Check procedure bellow.

Check in Ioreg what device name then add name in VoodooI2CSynaptics plist. In this case is SYNA2B61.

6pQ8aru.png

0C1DhaD.png

 

-More clean procedure about windows patch

You can ignore SSDT-XOSI and ACPI rename if you aplly little patch bellow in trackpad device.

Example: If trackpad device is _SB.PCI0.I2C0.TPD0 the patch bellow solve Windows patch.

Quote

Scope (\_SB.PCI0.I2C0.TPD0)
    {
        If (_OSI ("Darwin"))
        {
            Name (OSYS, 0x07DC)
        }
    }

 

-With DSDT edit the Windows patch is:

wUq1YXj.png

 

We're all here to have fun and learn from each other! That's all Folks!

 

Credits: 

Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad, headkaze, onemanosx, erroruser, Jenny David, Sampath007, Facebook Hackintosh community, Facebook Olarila community and many, many, many others!

  • Like 1

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Hackintosh Support since 2006 HERE

Posted (edited)

Hello MaLd0n. i followed the guide, but after step 5 there's no TPL or TPD device show up under I2C1 in IOReg. In addition, my trackpad is not recognized by macOs after removing VoodooPS2/Mouse and VoodooPS2/Trackpad kext and adding VoodooI2C kexts.

I'm hacking on a Dell XPS 9300 - i5 1035G1/8GB/256GB/UHD Graphics G1 + 1920x1200. Idk what type of this trackpad, all info i have on Windows is I2C HID. But when looking in Device (TPD0) in DSDT, i saw this line. Does that mean i have a Synaptic trackpad?

                If ((TPDT == One))
                {
                    _HID = "SYNA2393"
                    HID2 = 0x20
                    Return (Zero)
                }

Here is my EFI and iOREG (too large for upload here): my-xps-efi.zip - MediaFire / ioreg-xps.zip - MediaFire
 

Edited by hellcatvn
  • Like 1
  • Administrators
Posted
9 hours ago, hellcatvn said:

Hello MaLd0n.

Hi

try this efi folder https://easyupload.io/3jh77o

In many cases we need inject device, Many properties is missing. In these cases need create one following instructions on Voodooi2c GitHub.

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Hackintosh Support since 2006 HERE

Posted (edited)

Hi, friends.

Thanks for examples.

I try to make a touchscreen on my Lenovo Yoga 710-14IKB marked as Synaptics 7501 working and apply all the steps you provide and change device identify to SYNA7501 in VoodooI2CSynaptics.kext.

Happens all works in best look(WIFI, BT, Gfx, Sunrise Point LP chipset futures) but Synaptics touchscreen won't 🙂 

 

And I have a question: how to prevent logger of touch-pad spamming to console from the kernel? I was delete headers and logger from kexts plist but happens thats not help.

 

For now is a trouble to find xCode for BigSur.

Edited by Full-R
  • Administrators
Posted

Check ioreg

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Hackintosh Support since 2006 HERE

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...