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

Slow speed gestures on my winmax fork #24

Open
postkevone opened this issue Jul 14, 2023 · 7 comments
Open

Slow speed gestures on my winmax fork #24

postkevone opened this issue Jul 14, 2023 · 7 comments
Labels
bug Something isn't working

Comments

@postkevone
Copy link

Hello.
I have created a fork of this project to support Win Max 2020 hardware:
https://github.com/postkevone/VoodooI2CGoodix-winmax

Everything works fine, but the gestures are very slow.
Is there anything I can modify in order to increase gestures speed?

Thank you.

@postkevone postkevone added the bug Something isn't working label Jul 14, 2023
@lazd
Copy link
Owner

lazd commented Jul 14, 2023

Huh, what does a slow gesture look like? Can you post a video?

@postkevone
Copy link
Author

Sure, here's the video:

winmax.touch.gestures.mp4

@lazd
Copy link
Owner

lazd commented Jul 17, 2023

Got it, so it's not necessarily slow, it's just that a scroll gesture is only scrolling a tiny amount when we expect it to scroll a huge amount... Is this also true for zoom? Rotate? I wonder if there's some scaling issue with the values being sent... You'll need to start adding a ton of IOLog statements to see what's really going on with the values being sent, I'd probably start here.

@lazd
Copy link
Owner

lazd commented Jul 17, 2023

Also, your changes seem pretty minor on your fork. I see the show/hide cursor stuff, that's absolutely worth contributing. I wonder if you can check any information from the touchscreen or perhaps PLIST config to determine if the acpi_device->evaluateObject("_PS0") is required (also what is that doing? where did it come from? does it hurt other devices?) and maybe we can see if interrupt_source->enable() is harmless elsewhere. If so, a PR would be nice so the mainline project has your changes instead of a fork.

@postkevone
Copy link
Author

Got it, so it's not necessarily slow, it's just that a scroll gesture is only scrolling a tiny amount when we expect it to scroll a huge amount... Is this also true for zoom? Rotate? I wonder if there's some scaling issue with the values being sent... You'll need to start adding a ton of IOLog statements to see what's really going on with the values being sent, I'd probably start here.

Yes every multitouch gesture scrolls by a tiny amount. Thank you for your help. I am kind of new to debug stuff of MacOS, do you know any site/guide where I can learn how to debug this kext properly?

@postkevone
Copy link
Author

postkevone commented Jul 18, 2023

Also, your changes seem pretty minor on your fork. I see the show/hide cursor stuff, that's absolutely worth contributing. I wonder if you can check any information from the touchscreen or perhaps PLIST config to determine if the acpi_device->evaluateObject("_PS0") is required (also what is that doing? where did it come from? does it hurt other devices?) and maybe we can see if interrupt_source->enable() is harmless elsewhere. If so, a PR would be nice so the mainline project has your changes instead of a fork.

I got the acpi_device->evaluateObject("_PS0") line from here: 10b4f98
I also don't know if I really need it or not, but after some testing i noticed that the kext works fine even without that line.

Regarding interrupt_source->enable(), it seems necessary for the driver to start on the winmax. Another think that doesn't work properly is wakeup after sleep, could it be related in some way?

@lazd
Copy link
Owner

lazd commented Jul 18, 2023

For debugging, see existing usage of IOLog in the code and google how to read logs.

As far as your sleep issues, that’s 100% patching. You’ll never get this working right without correctly patching, and that’s not something I know anything about.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants