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

Touchpad lagging #21

Open
toonvanstrijp opened this issue May 8, 2019 · 30 comments
Open

Touchpad lagging #21

toonvanstrijp opened this issue May 8, 2019 · 30 comments

Comments

@toonvanstrijp
Copy link

As you can see in this video:
https://youtu.be/ikCSoL0w85I

I'm making perfect circles with my finger on the touchpad but somehow the cursor keeps jumping a little. I don't know if this is a easy fix or a issue with the the voodooI2C kext.

I though maybe I has to do something with the settings but I've tried a various set of settings without luck.

@erenatas
Copy link

erenatas commented May 9, 2019

It's not only on the touchpad, it's also on any usb mouse as well, I am having the same issue as well. It might be related to VoodooPS2 too. Because I have updated VoodooI2C yesterday and nothing changed.

@toonvanstrijp
Copy link
Author

Can it be that VoorooI2C and VoodooPS2 are both controlling the cursor at the same time and that's why they cause lag?

@erenatas
Copy link

erenatas commented May 9, 2019

I am not sure really (I doubt it), but you can test it. What happens when you remove voodooI2C? Does the touchpad work smoothly?

@toonvanstrijp
Copy link
Author

@erenatas If I remove voodooI2C the touchpad works smoothly, except the gestures don't work. So It seems to be an error/optimisation thing with voodooI2C.

@erenatas
Copy link

Can you try updating VoodooI2C to the latest version?

@toonvanstrijp
Copy link
Author

@erenatas I already did, but the problem is still present. I looked at the documentation of VoodooI2C and could it be that it has to do something with: GPIO Pinning?

@trevorstarick
Copy link

This was fixed in the 2.2 release of VooDooI2C: VoodooI2C/VoodooI2C#191 You need to patch your DSDT to use GPIO interrupts.

@toonvanstrijp
Copy link
Author

@trevorstarick how do I do this? Cause then I'm willing to make a pull request for it :)

@trevorstarick
Copy link

trevorstarick commented Jun 16, 2019 via email

@toonvanstrijp
Copy link
Author

@trevorstarick can you create a pull request for this? Cause then everyone can benefit from it :)

@trevorstarick
Copy link

Do you have a guide to create SSDT patches? That's the only thing stopping me from making a PR

@kevinshroff
Copy link

kevinshroff commented Jun 21, 2019

Do you have a guide to create SSDT patches? That's the only thing stopping me from making a PR

How did you even disassemble your DSDT? I'm having issues just doing that alone, the disassembly just terminates for me with "segmentation fault". Perhaps I need to omit an SSDT during disassembly but I can't find the correct one. And even if I just omit all SSDTs and try to disassemble only the DSDT I end up with a DSDT that doesn't compile even without any patches (has 3 PARSEOP errors).

Also, could you by any chance upload your patched DSDT here? Thank you!

@LuletterSoul
Copy link
Owner

@trevorstarick If you can provide a tutorial for patching DSDT to use GPIO interrupts or share the DSDT about this fixing, it will be very helpful. : ).I will merge this fix into my repository.

@trevorstarick
Copy link

https://gist.github.com/trevorstarick/d11821776b10f92393bf9fed26c902f8 Here's my DSDT you should be able to just run a diff between the DSDT you export and mine to see the changes.

@LuletterSoul
Copy link
Owner

@trevorstarick Thanks a lot !

I enabled GPIO Pinning using SSDT hotpatch yesterday, it's not necessary to replace DSDT.xml which may cause panics because DSDT may vary from BIOS version of machine.
Screen Shot 2019-07-08 at 1 21 20 PM

I am doing more tests about the touchpad using hotpatch fixed.The main results as below:

  • It seems to perform the same as before thought it works on GPIO Pinning mode.

  • The CPU consumption of kernel_task sometimes is lower than 20% , it's really nice as GPIO Pininig can save more system resources which is mentioned in VoodoI2C document ,and it works possibly.

  • The touchpad and touchscreen on XPS 9570 are both belong to I2C devices , theoretically they could be enabled GPIO Pining,but if the touchscreen is enabled GPIO Pining mode, it would crash and be no responding.

I will release the update when I confirm my SSDT hotpath works and is compatible with more XPS machines.

@andresandiah
Copy link

andresandiah commented Jul 9, 2019

@LuletterSoul would you mind sharing the ssdt hotpach to test too?. I can provide some feedback on the compatibility for the 1080p model.
I want to test if double tap drag has been fixed with this new hotpatch.

@LuletterSoul
Copy link
Owner

@andresandiah Of course

CRS is renamed to XCRS using config_1080p.plist.zip
If you encounter panics during boot, please disable the rename patch.

SSDT-I2C.zip is for enabling GPIO Pining mode of trackpad.
Double tap drag work fine on my model. Please provide some feedback in time.

@andresandiah
Copy link

I've been testing this for a few hours. Seems to be working properly, the random "jumps" or stutters on the mouse operations have been reduced significantly: and I finally could enable double tap drag!
no kernel panics during boot when using "CRS renamed to XCRS" patch.

I did notice a new entry on the plist you attached

disable-external-gpu

AQAAAA==

it may not be related to the GPIO patch, but I'm just curious why that was included.

By the way, thanks for sharing the patch!

@LuletterSoul
Copy link
Owner

@andresandiah Thank you for your feedback.I am grad to heard that it works on 1080P model.

Actually, I don't find any "jumps" symptoms of trackpad even if I don't add GPIO patch.But the trackpad using GPIO is still a little "Lagging" when I make circles with my finger.

Yeap, disable-external-gpu is not related to the GPIO patch but will make sure that disables dGPU.The reason why use this entry is that I found that the fans on my model was "squealing" at idle on BIOS 1.10.1 .I am doubt that the dGPU isn't disabled correctly.I check the SSDT that claims to disable dGPU, but I can't understand it's functionality and how it works.Maybe it is required to do some more improvements.

All updates will be release on my repository soon.Thank you again, bro.

@andresandiah
Copy link

No problem bro, thanks for your dedication to this hackintosh project too.
In my experience the random jumps where subtle, but they were more noticeable when the trackpad sensitivity was set to a higher value.

Also, I would recommend to not update to the latest BIOS by Dell. I have been experiencing worst thermals on Mojave and the clockspeed of the CPU is not as stable as before. It doesn't remain at a constant 800mhz no matter what I do. And the average temperature now is 43-48 (prior to update it was 35-38)

@andresandiah
Copy link

A few more hours testing the touchpad fix. (Using both de CRS patch, and the disable gpu line) and on random ocassions macOS Boots but with brightness control disabled (on minimum) and can't control the brightness level at all. When this happens, the PC also locks itself after a few seconds.

I think it may be more related to the "disable-external-gpu" line rather than the GPIO Ssdt fix. So I will try removing it tonight and keep testing. And I will also test some possible thunderbolt fixes that I saw implemented in other guide.

@LuletterSoul
Copy link
Owner

@andresandiah
On the contrary, the fans on my machine become more quiet after updating to the latest BIOS 1.11.2.
I haven't encountered brightness control issue so far.

@erenatas
Copy link

erenatas commented Aug 9, 2019

I believe the Pinning mode makes the touchpad pretty unusable. I mean yes, pointer moves accurately but you lose everything else, none of the gestures work. I am going to disable SSDT-I2C.

By the way, I have installed Catalina Public Beta and it's working. Takes some time to boot tho.

Edit: I don't understand much about clover setup but turned out it's not related to ssdts. I have disabled SSDT I2C patch.

@trevorstarick
Copy link

@LuletterSoul: I'm still encountering the cursor "jumping" or "lagging" when using the trackpad even after using the latest patch you provided. Are you having similar issues? I'm also finding the kernel_task process is jumping around quite a bit and it seems to be causing the cursor issues.

@andresandiah
Copy link

The touchpad lag has returned after the 1.5 update. It was working fine with the 1.4

@trevorstarick
Copy link

I replaced FakeSMC with VirtualSMC because I found the lagging was due to the ACPIBatteryManager. It's better now but not as good as I'd hope

@yongjiajun
Copy link

yongjiajun commented Oct 5, 2019

Can confirm the lagging is back in v1.5 release of EFI. When drawing circles, the touchpad pauses around every 2 seconds for a short interval, breaking the circle.

Note: I'm using VirtualSMC & SMCBatteryManager instead of FakeSMC & ACPIBatteryManager.

@RyotaMono
Copy link

RyotaMono commented Oct 16, 2019

Same problem here. The lagging is back in v1.5 release. When using configurations in v1.4 release, the problem gets solved, but the battery life is significantly reduced by kernel tasks problem.

@Fyobl
Copy link

Fyobl commented Sep 24, 2020

@LuletterSoul

Did you solve this trackpad issue? I’m having the same issue with it jumping a bit. XPS 15 9570

@mathewjpotter
Copy link

+1 for this, I see that when plugged in its almost not noticable but when on battery its much more noticable

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

No branches or pull requests

10 participants