Hi dev team. We had the exact same issue before with some older release. Back then it was because you did not compile with sdk for 10.14+ but 10.15+
Back to 2.5.2 in Mojave -> all fine again.
ELAN1300 with VoodooI2C + VoodooI2CHID
Let me know if you need any more data.
We are using MacKernelSDK to build versions 2.6. There should be a linking error if you tried to load the kexts manually.
Can you try loading the kexts manually?
you mean, attach a mouse, then
sudo kextload /Library/Extensions/VoodooI2C.kext && sudo kextload /Library/Extensions/VoodooI2CHID.kext
->
/Library/Extensions/VoodooI2CHID.kext failed to load - (libkern/kext) link error;
meaning VoodooI2C.kext loads fine, I'd say.
And from system log:
2021-01-01 22:22:00.020392+0100 localhost kernel[0]: kxld[com.alexandred.VoodooI2CHID]: The super class vtable '__ZTV17IOHIDEventService' for vtable '__ZTV33VoodooI2CMultitouchHIDEventDriver' is out of date. Make sure your kext has been built against the correct headers.
2021-01-01 22:22:00.036812+0100 localhost kernel[0]: kxld[com.alexandred.VoodooI2CHID]: The super class vtable '__ZTV17IOHIDEventService' for vtable '__ZTV33VoodooI2CMultitouchHIDEventDriver' is out of date. Make sure your kext has been built against the correct headers.
2021-01-01 22:22:00.051359+0100 localhost kernel[0]: kxld[com.alexandred.VoodooI2CHID]: The __ZTV29VoodooI2CStylusHIDEventDriver was not patched because its parent, the __ZTV34VoodooI2CTouchscreenHIDEventDriver, was not patchable.
2021-01-01 22:22:00.068978+0100 localhost kernel[0]: kxld[com.alexandred.VoodooI2CHID]: The __ZTV34VoodooI2CTouchscreenHIDEventDriver was not patched because its parent, the __ZTV33VoodooI2CMultitouchHIDEventDriver, was not patchable.
2021-01-01 22:22:00.083569+0100 localhost kernel[0]: kxld[com.alexandred.VoodooI2CHID]: The __ZTV40VoodooI2CPrecisionTouchpadHIDEventDriver was not patched because its parent, the __ZTV33VoodooI2CMultitouchHIDEventDriver, was not patchable.
2021-01-01 22:22:00.096686+0100 localhost kernel[0]: Can't load kext com.alexandred.VoodooI2CHID - link failed.
2021-01-01 22:22:00.110749+0100 localhost kernel[0]: Failed to load executable for kext com.alexandred.VoodooI2CHID.
Looks like we messed up the MacKernelSDK switch somewhere within VoodooI2CHID. Looks like the linker is failing due to out of date headers?
Anything else I could contribute error-report wise, or are you rather asking the other devs?
This error usually happens when the headers are actually targeting a too recent version of macOS despite the confusing message. Are you sure you properly set the macOS target when building VoodooI2C? IOHIDEventService does have checks for __MAC_OS_X_VERSION_MIN_REQUIRED.
Fixed in https://github.com/acidanthera/MacKernelSDK/commit/565b875076c27ce3386c20e74663235fb964eee4. It happened that some headers were duplicated, and VoodooI2C was including an incorrect version. I removed the duplicates, but VoodooI2C might need to be updated to fix the wrong include paths that are now gone.
Fixed in acidanthera/MacKernelSDK@565b875. It happened that some headers were duplicated, and VoodooI2C was including an incorrect version. I removed the duplicates, but VoodooI2C might need to be updated to fix the wrong include paths that are now gone.
Thanks @vit9696 !
Seems like build is now failing for VoodooI2CHID, after changing include paths.
Including IOKit/hid/IOHIDEventService.h seems to include HIDDriverKit/IOHIDEventService.h.
This one includes IOKit/hidevent/IOHIDEventService.h, which doesn't exist now.
Sure the IOKit IOHIDEventService.h should be in the hid directory rather than hidevent?
Also, should it include HIDDriverKit headers even when targeting 10.11?
Sorry, I did not commit the fixed header. Yes, DriverKit headers are fine.
@LeeBinder Please try 194833216e7631010278d45ea821c4be7ccee20c build artifacts :)
@ben9923 thanks. If you test-compiled to verify it's working: can you please zip & attach your compile?
@LeeBinder you can find the archive by going to the commit's page and heading to the build job.
@ben9923 wow, how cool - I did not know about CircleCI till now, thanks for the pointer. Does it compile on-the-fly/ on demand on first access of a build?
re. build 1948332: YES, working fine in Mojave - big thank you to all involved devs. Please take the rest of Sunday off and grab your skis/ snowboards/ surfboards whatever :) 馃憤 馃
@LeeBinder it builds every new pushed commit to our repo, on all branches. You can click that small green checkmark next to each commit to see more information.
On master it also updates the documentation site, and if the version number was bumped - a new release is automatically triggered.
I'll release 2.6.2 soon so you have an official working release.
very cool. 2.6.2 confirmed working fine in Mojave & Catalina here (Big Brother not installed until Apple's spy-spree is undercut/ circumnavigated/ bypassed..).
I also created a screenshot aided click-flow chart for CircleCI :)
Most helpful comment
very cool. 2.6.2 confirmed working fine in Mojave & Catalina here (Big Brother not installed until Apple's spy-spree is undercut/ circumnavigated/ bypassed..).
I also created a screenshot aided click-flow chart for CircleCI :)