Contribute
Register

VoodooI2C Help and Support

Joined
Jul 14, 2021
Messages
4
Motherboard
Lenovo Ideapad Flex 14-iwl (Model 81SQ0000US) (OpenCore)
CPU
i5 8265u (Cannonlake-LP, 300 series)
Graphics
Intel HD 620, 1920x1080
Mobile Phone
  1. Android
Hi @KingKlick, do you think this BIOS option could also work on touchscreen? My touchscreen do not need and GPIO patch in my DSDT/SSDT. However, it only has one point contact working without the multitouch gesture. The GPIO pins are lower than 0x2F, so I was thinking GPIO patch is not needed?

You can look in your bios, but I'm not sure my fix would help you in your case. That is, unless you have your touchscreen set up to use GPIO interrupts. You shouldn't have to though, because your apic pin is less than 2F, so you should be using apic interrupts.

Plus, I wasn't getting any movement at all until I fixed my bios settings. You on the other hand have basic function, but are just missing MT capability it sounds like.
 
Joined
Sep 24, 2012
Messages
175
Motherboard
ASUS ZenBook Pro Duo 15 UX582
CPU
i9-10980HK
Graphics
UHD 630 + RTX 3070
You can look in your bios, but I'm not sure my fix would help you in your case. That is, unless you have your touchscreen set up to use GPIO interrupts. You shouldn't have to though, because your apic pin is less than 2F, so you should be using apic interrupts.

Plus, I wasn't getting any movement at all until I fixed my bios settings. You on the other hand have basic function, but are just missing MT capability it sounds like.
Thanks. Yes, my Bios has the option but it's hidden. I had to use setup_var_cv to change between ACPI and GPIO mode. However, it seemed nothing changed after I save the BIOS option and reboot.
 
Joined
Oct 20, 2015
Messages
72
Motherboard
GIGABYTE 15 OLED KC (4K)
CPU
i7-10870H
Graphics
UHD 630
Mac
  1. iMac
  2. MacBook
  3. MacBook Air
  4. Mac mini
Mobile Phone
  1. Android
  2. iOS
Hello everyone.
I ask for help starting Trackpad.
I tried to do different SSDT-GPIOs, but nothing works.
My device is

Scope (_SB.PCI0.I2C0)
Device (TPD0)
APIC PIN 0x28 (IOREG <28 00 00 00 03 00 00 00>)

What to do next ?
Should I use:
- SSDT-GPIO?
- SSDT-XOSI?

I do not understand how to make the desired SSDT.
Thank you all in advance for your help.
 

Attachments

  • dsdt+ioreg+efi.zip
    31.4 MB · Views: 34
Last edited:
Joined
Mar 7, 2013
Messages
77
Motherboard
Lenovo G710 / HM86
CPU
i7-4702mq
Graphics
HD4600 /820M
Mobile Phone
  1. iOS
Hello everyone.
I ask for help starting Trackpad.
I tried to do different SSDT-GPIOs, but nothing works.
My device is

Scope (_SB.PCI0.I2C0)
Device (TPD0)
APIC PIN 0x28 (IOREG <28 00 00 00 03 00 00 00>)

What to do next ?
Should I use:
- SSDT-GPIO?
- SSDT-XOSI?

I do not understand how to make the desired SSDT.
Thank you all in advance for your help.
Try this one. If i'm right it should be enough to enable your I2C. And i guess you would need some satellite kext https://github.com/VoodooI2C/VoodooI2C/blob/master/Documentation/Satellites.md
 

Attachments

  • SSDT-GPI0_zaa.aml
    172 bytes · Views: 45
Joined
Oct 20, 2015
Messages
72
Motherboard
GIGABYTE 15 OLED KC (4K)
CPU
i7-10870H
Graphics
UHD 630
Mac
  1. iMac
  2. MacBook
  3. MacBook Air
  4. Mac mini
Mobile Phone
  1. Android
  2. iOS
Thank you so much for your answer.

I tried:
reset NVRAM + SSDT only
reset NVRAM + VoodooI2CHID only
reset NVRAM + SSDT + VoodooI2CHID

Unfortunately it doesn't help. Trackpad doesn't work.
 
Last edited:
Joined
Mar 7, 2013
Messages
77
Motherboard
Lenovo G710 / HM86
CPU
i7-4702mq
Graphics
HD4600 /820M
Mobile Phone
  1. iOS
Load the SSDT and install VoodooI2C and VoodooI2CHID. Reboot and look at ioreg under PCI0.I2C0 is VoodooI2C loaded.
Also under PCI0.GPI0 should have voodoo.
Show us the output of sudo dmesg | grep -i voodoo, you would need DebugEnhancer kext to dmesg to show the logs from Voodoo.
Also see if the SSDT is loaded correctly, without any errors
 
Joined
Oct 20, 2015
Messages
72
Motherboard
GIGABYTE 15 OLED KC (4K)
CPU
i7-10870H
Graphics
UHD 630
Mac
  1. iMac
  2. MacBook
  3. MacBook Air
  4. Mac mini
Mobile Phone
  1. Android
  2. iOS
Load the SSDT and install VoodooI2C and VoodooI2CHID. Reboot and look at ioreg under PCI0.I2C0 is VoodooI2C loaded.
Also under PCI0.GPI0 should have voodoo.
Show us the output of sudo dmesg | grep -i voodoo, you would need DebugEnhancer kext to dmesg to show the logs from Voodoo.
Also see if the SSDT is loaded correctly, without any errors
[ 3.538243]: VoodooGPIOCannonLakeH::Loading GPIO Data for CannonLake-H
[ 3.538250]: VoodooGPIOCannonLakeH::VoodooGPIO Init!
[ 3.538251]: VoodooGPIOCannonLakeH::VoodooGPIO Initializing Community 0
[ 3.538329]: VoodooGPIOCannonLakeH::VoodooGPIO Initializing Community 1
[ 3.538405]: VoodooGPIOCannonLakeH::VoodooGPIO Initializing Community 2
[ 3.538481]: VoodooGPIOCannonLakeH::VoodooGPIO Initializing Community 3
[ 3.538599]: VoodooGPIOCannonLakeH::GPIO Controller is already awake! Not reinitializing.
 

Attachments

  • opencore-2021-10-13-150716.txt
    256 KB · Views: 42
Last edited:
Joined
Mar 8, 2015
Messages
70
Motherboard
MSI Z370m Mortar; ASUS Zenbook Pro UX535LI
CPU
i5-9600k; i7-10750H
Graphics
UHD 630
Mac
  1. iMac
  2. MacBook Pro
I am trying to get the ASUS screenpad (in ZenBook Pro UX535li) working as a trackpad using VoodooI2c. The CPU is i7-10750H. It has a touch screen and a trackpad that also has a secondary screen. Both come up as I2C HID devices in Windows.

Installed latest debug versions of VoodooI2c.kext and VoodooI2CHID.kext.

Out of the box with no patches or any SSDT related to this, the touchscreen works perfectly with all multi-finger gestures. The device is seen as TPL0 (Elan 9008) and it has an interrupt below 2f and so works under APIC.

The screenpad comes as device ETPD (GDX1515) in ioregistry. It has an interrupt above 2f and so the logs say polling will be used. But it is not responding to ANY input on the screenpad. No mouse emulation, no single finger actions, nothing.

The IORegistry shows both devices have the exact same hierarchy of drivers attached. See screenshots. So the device is being detected and correct drivers attached. But touch screen responds, the screenpad does not. I just want to get it working under polling for now. So no GPIO pinning/patching done. GPIO is certainly loaded and Voodoo attached to it just as additional info.

The log (I have Debug enhancer kext) does not show any detailed logs. Whatever it shows seems normal for the screenpad device
kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,6e9 Found I2C device: GDX1515

2021-11-06 15:36:43.936516-0700 0x11a Default 0x0 0 0 kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,6ea Got bus configuration values
2021-11-06 15:36:43.936518-0700 0x118 Default 0x0 0 0 kernel: (VoodooI2C) VoodooI2CDeviceNub::ETPD Warning: Incompatible APIC interrupt pin (0x5f > 0x2f)
2021-11-06 15:36:43.936556-0700 0x118 Default 0x0 0 0 kernel: (VoodooI2C) VoodooI2CDeviceNub::ETPD TP7G index 0x0 is not supported
2021-11-06 15:36:43.936559-0700 0x118 Default 0x0 0 0 kernel: (VoodooI2C) VoodooI2CDeviceNub::ETPD Could not retrieve interrupts from _DSM or XDSM method
2021-11-06 15:36:43.936562-0700 0x118 Default 0x0 0 0 kernel: (VoodooI2C) VoodooI2CDeviceNub::ETPD Warning: Could not find any APIC nor GPIO interrupts. Your chosen satellite will run in polling mode if implemented.
I am not sure about the TP7G message. There is no such symbol in DSDT for this laptop.

As suggested in a VoodooI2C forum, I removed the VoodooI2CHIDDevice Multitouch HID Event Driver section in the Info plist in VoodooI2CHID.kext. This makes the screenpad work as a mouse with a single finger so the device is working under mouse emulation. But this change screws up the touch screen which also becomes a single finger mouse emulator which is useless.

Before I even get into multi-touch in the Screenpad, I just want to get to the stage of using it as a single finger mouse with clicks but have multi-touch with gestures available on the main screen. So, the above solution won't work for me.

What should I be looking at or enabling/disabling to understand why the trackpad HID driver isn't getting finger inputs via polling for this screenpad?

I am not sure which documents or logs in entirety if any would be useful to upload for this specific debugging since the drivers seem to be loading fine and the touch screen is working perfectly (but under APIC).

The first image is the ioregistry entry for the screen pad that is not responding and the second one for the touch screen that is working perfectly.

Thanks for any help/pointers.

Screen Shot 2021-11-06 at 3.06.40 PM.png


Screen Shot 2021-11-06 at 3.25.26 PM.png
 
Last edited:
Joined
Nov 7, 2021
Messages
7
Motherboard
Asus Zenbook 14
CPU
i7-10510U
Graphics
UHD630
Mac
  1. MacBook Pro
Coincidentally, my laptop is also considered as a screenpad. He uses a GDX1515 touchpad.


However, I read various materials and found that this touchpad could not work normally in history. It can only be touched by one finger at most. Follow This problem has been around for a long time, I hope there is a great god who can solve this thorny problem
 
Joined
Nov 7, 2021
Messages
7
Motherboard
Asus Zenbook 14
CPU
i7-10510U
Graphics
UHD630
Mac
  1. MacBook Pro
I am trying to get the ASUS screenpad (in ZenBook Pro UX535li) working as a trackpad using VoodooI2c. The CPU is i7-10750H. It has a touch screen and a trackpad that also has a secondary screen. Both come up as I2C HID devices in Windows.

Installed latest debug versions of VoodooI2c.kext and VoodooI2CHID.kext.

Out of the box with no patches or any SSDT related to this, the touchscreen works perfectly with all multi-finger gestures. The device is seen as TPL0 (Elan 9008) and it has an interrupt below 2f and so works under APIC.

The screenpad comes as device ETPD (GDX1515) in ioregistry. It has an interrupt above 2f and so the logs say polling will be used. But it is not responding to ANY input on the screenpad. No mouse emulation, no single finger actions, nothing.

The IORegistry shows both devices have the exact same hierarchy of drivers attached. See screenshots. So the device is being detected and correct drivers attached. But touch screen responds, the screenpad does not. I just want to get it working under polling for now. So no GPIO pinning/patching done. GPIO is certainly loaded and Voodoo attached to it just as additional info.

The log (I have Debug enhancer kext) does not show any detailed logs. Whatever it shows seems normal for the screenpad device

I am not sure about the TP7G message. There is no such symbol in DSDT for this laptop.

As suggested in a VoodooI2C forum, I removed the VoodooI2CHIDDevice Multitouch HID Event Driver section in the Info plist in VoodooI2CHID.kext. This makes the screenpad work as a mouse with a single finger so the device is working under mouse emulation. But this change screws up the touch screen which also becomes a single finger mouse emulator which is useless.

Before I even get into multi-touch in the Screenpad, I just want to get to the stage of using it as a single finger mouse with clicks but have multi-touch with gestures available on the main screen. So, the above solution won't work for me.

What should I be looking at or enabling/disabling to understand why the trackpad HID driver isn't getting finger inputs via polling for this screenpad?

I am not sure which documents or logs in entirety if any would be useful to upload for this specific debugging since the drivers seem to be loading fine and the touch screen is working perfectly (but under APIC).

The first image is the ioregistry entry for the screen pad that is not responding and the second one for the touch screen that is working perfectly.

Thanks for any help/pointers.

View attachment 533484

View attachment 533485
Coincidentally, my laptop is also considered as a screenpad. He uses a GDX1515 touchpad. I hope there is a great god who can solve this thorny problem
 
Top