XPS9570-macOS icon indicating copy to clipboard operation
XPS9570-macOS copied to clipboard

Add kext to support touchpad gestures

Open adam-lebon opened this issue 5 years ago • 18 comments

I rencently install OSX by following this guide and I am surprise how complete it is. The only thing drawback was the touchpad which got a poor support when using the VoodooPS2Controller.kext.

I successfully got a full support of the touchpad by installing the VoodooI2CSynaptics.kext and the touchpad is now a pleasure to use.

Here you can find attached a screenshot from touchpad settings, which was almost empty before using this kext: OSX Settings Screenshot

Sincerely Adam

adam-lebon avatar Nov 01 '19 23:11 adam-lebon

Good work! Have you checked the power consumption?

  1. On a fresh start
  2. Waking up from sleep
  3. While using the touchpad (w/ case 1 & 2)

erenatas avatar Nov 02 '19 13:11 erenatas

In fact I have two XPS 15 with OSX : On my second hackintosh which run on Catalina 10.15.0, the touchpad works pretty well without the synaptics kext:

CPU consumption on catalina 10.15.0 with VoodooPS2Controller

CPU Consumtion screenshot

On my first hackintosh, I updated OSX to 10.15.1 yesterday and the touchpad feelling wasn't great anymore (like described in the readme.org) The usage of VoodooI2CSynaptics saved me, it's why I am making this PR

CPU Consumption on Catalina 10.15.1 with VoodooPS2Controller (for the keyboard) and VoodooI2CSynaptics (for the touchpad)

CPU Consumption on catalina 10.15.1 with VoodooI2CSynaptics

I don't know if sleep is working well because the screen turn black but the keyboard backlight stay on, but power consumption seems to be the same as after a fresh start.

adam-lebon avatar Nov 02 '19 13:11 adam-lebon

I will update my second hackintosh to Catalina 10.15.1 to check if this kext is really mandatory. I will update this PR during the day.

adam-lebon avatar Nov 02 '19 13:11 adam-lebon

I just finished the 10.15.1 update and I can confirm that this update breaks gesture support, resulting in a horrible user experience.

Here you can find a screenshot from touchpad settings just after the update: Catalina 10.15.1 with poor gesture support

And after adding the VoodooI2CSynaptics.kext: Catalina 10.15.1 with voodooI2CSynaptics.kext : nice gesture support

adam-lebon avatar Nov 02 '19 15:11 adam-lebon

Thanks for the PR!

You mentioned VoodooI2CSynaptics is better than VoodooPS2Controller. Currently the VoodooI2CHID driver should load for the touchpad - what are the differences between VoodooI2CSynaptics and VoodooI2CHID?

I just finished the 10.15.1 update and I can confirm that this update breaks gesture support, resulting in a horrible user experience.

Did you update the kext cache after the OS update? Just in case - I usually forget to do it.

bavariancake avatar Nov 04 '19 12:11 bavariancake

Ping @adam-lebon. Have you been able to update the kext for Catalina?

bavariancake avatar Nov 14 '19 17:11 bavariancake

Ping @adam-lebon. Have you been able to update the kext for Catalina?

I'mma test it in a bit. I will be doing a rebase first, then will test.

erenatas avatar Nov 15 '19 16:11 erenatas

@bavariancake, ok so I have tested it In 10.15.1, and It works. But kernel_task is really high which I don't really like it.

EDIT: I am not sure if it was working before but sleep does not work. I have rebased your latest master branch with @adam-lebon 's branch and I have also done sudo kextcache -i /

This screenshot is when I keep using the touchpad.

Screen Shot 2019-11-15 at 20 28 55

And this is when I do not:

Screen Shot 2019-11-15 at 20 31 39

I am also planning to try this on your EFI: https://github.com/LuletterSoul/Dell-XPS-15-9570-macOS-Mojave/issues/47

erenatas avatar Nov 15 '19 17:11 erenatas

Any update on this? :D

toonvanstrijp avatar Dec 11 '19 16:12 toonvanstrijp

I would like an update too. @adam-lebon @erenatas

frbuccoliero avatar Mar 19 '20 10:03 frbuccoliero

Actually, on the latest version of this EFI folder, all the basic touchpad gestures are fully supported and it works really well!

duongleh avatar Mar 19 '20 10:03 duongleh

I would like an update too. @adam-lebon @erenatas

The performance and battery life is crippled on macOS so I have stopped working on it.

erenatas avatar Mar 19 '20 13:03 erenatas

@duongle26 are they also working in catalina cause I'm using the latest version of this EFI folder but still don't have any touchpad gestures. Any idea what could be wrong?

toonvanstrijp avatar Mar 20 '20 01:03 toonvanstrijp

@ToonvanStrijp yeah I'm on Catalina and it works really well. A fresh install of macOS might be helpful.

duongleh avatar Mar 20 '20 02:03 duongleh

@duongle26 But are you using the VoodooI2CSynaptics.kext ? Cause I did a fresh install yesterday and I'm running 10.15.3 but the touchpad gestures don't work without the VoodooI2CSynaptics.kext for me.

toonvanstrijp avatar Mar 20 '20 09:03 toonvanstrijp

Update:

I've played around a little, and used LuletterSoul/Dell-XPS-15-9570-macOS-Mojave#47

I replaced the SSDT-I2C.aml and SSDT-I2C.dsl and now the touchscreen is disabled as I would expect and this causes to stop the high kernel_task.

But I guess that the GPIO pinning as described in https://voodooi2c.github.io/#GPIO%20Pinning/GPIO%20Pinning

Isn't done correctly cause as you can see in the video below the kernel_task is very low, but when using the touchpad (moving the cursor around) it shoots up.

Can someone help me fix this issue, because I think this will improve battery life much right?

Screen-Recording-2020-03-21-at-01 57 25

toonvanstrijp avatar Mar 21 '20 01:03 toonvanstrijp

@ToonvanStrijp A spike in kernel_task when using the trackpad is normal when using GPIO interrupts. The other option would be to run the trackpad in polling mode which would result in kernel_task constantly using 15-20% of the CPU. Polling mode is what is enabled by default for the touchscreen.

  • GPIO interrupt mode: very low kernel_task while idle but spikes when using the trackpad
  • polling mode: constant medium-high kernel_task usage, default for touchscreen because GPIO mode is broken for touchscreen

jaromeyer avatar Mar 23 '20 20:03 jaromeyer

@jaromeyer but will this effect the battery life / performance? :)

toonvanstrijp avatar Mar 23 '20 20:03 toonvanstrijp