Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add kext to support touchpad gestures #53

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

adam-lebon
Copy link

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

@erenatas
Copy link

erenatas commented Nov 2, 2019

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)

@adam-lebon
Copy link
Author

adam-lebon commented Nov 2, 2019

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
Copy link
Author

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
Copy link
Author

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

@bavariancake
Copy link
Owner

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
Copy link
Owner

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

@erenatas
Copy link

erenatas commented Nov 15, 2019

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
Copy link

erenatas commented Nov 15, 2019

@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:
LuletterSoul/Dell-XPS15-9570-macOS#47

@toonvanstrijp
Copy link

Any update on this? :D

@frbuccoliero
Copy link

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

@duongleh
Copy link

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

@erenatas
Copy link

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.

@toonvanstrijp
Copy link

@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?

@duongleh
Copy link

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

@toonvanstrijp
Copy link

@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
Copy link

Update:

I've played around a little, and used LuletterSoul/Dell-XPS15-9570-macOS#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

@jaromeyer
Copy link

@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

@toonvanstrijp
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants