yusifsalam/t490-macos

VoodooRMI

yusifsalam opened this issue · 24 comments

Current issue:
When using VoodooRMI instead of VoodooPS2Controller for the trackpad, VoodooInput does not load and the trackpad does not register any input

Turns out T490 uses F12 for trackpad data, which hasn't been implemented in the VoodooRMI project yet.
Waiting for the implementation for now.

F12 is now implemented in VoodooRMI, trackpad and trackpoint seem to be working.
More testing required before merging to master.

VoodooRMI currently does not support the trackpad button, and the reason is not clear. On other trackpads F30 is responsible for the ButtonDevice, but that is not the case with T490. Additionally, the button does not work under linux when using RMI, since the function needed for its functionality (most likely F3A) is missing from the linux source code.
Closing the issue for now, since this is unlikely to be resolved in the near future. Master branch will remain on the VoodooPS2 kext.

So the F3A function might not be so difficult to implement after all, and the developer of VoodooRMI is very kind to help with that.
Reopening this issue while the work is being done to get the trackpad button working.

Well that was quick! Trackpad button should work now
dd9c631

Tested and running great now! I guess we don't need the PS2 config anymore 👍

I have used the latest EFI folder with voodooRMI and the trackpad buttons are not working. The trackpoint doesn't work either. Am I the only one with this problem?

I've downloaded all the files from this web t490-macos-master.zip, including the config.plist, updated it with my Serial Number, and copied everything to the EFI folder. It's enough?

I´m on i5 gen8 T490. Trackpad works, but no buttons and no trackpoint. Pressing PrintScreen key nothing works. It's like VoodooRMI.kext before, when both congig.plist were (PS2 and RMI)

@gfalo10 can you show the output from kextstat | grep -i voodoo

69 1 0xffffff7f84038000 0x14000 0x14000 as.acidanthera.voodoo.driver.PS2Controller (2.1.6) 428B7521-9084-3B43-BF12-57C762C5BD68 <12 8 6 5 3 1>
80 1 0xffffff7f85ac2000 0x19000 0x19000 de.leo-labs.VoodooSMBus (3.0) 64FF9746-57C5-31F3-9530-95E48367A35C <63 13 6 5 3>
82 1 0xffffff7f85adb000 0x2d000 0x2d000 com.1Revenger1.VoodooRMI (1.1) FF0A1781-AEE9-33DF-B1A8-0B8944B4C8FF <63 6 5 3>
102 0 0xffffff7f84051000 0xd000 0xd000 as.acidanthera.voodoo.driver.PS2Keyboard (2.1.6) BA82B5A4-FB9A-3A7C-AA26-C665B19BBCB0 <69 63 8 6 5 3 1>
109 0 0xffffff7f85b24000 0x1a000 0x1a000 me.kishorprins.VoodooInput (1.0.8) 30A238C9-4C00-3B76-ACA8-127AAFD8A25E <63 6 5 3>
111 0 0xffffff7f85b3e000 0x11000 0x11000 com.VoodooSMBus.VoodooTrackpoint (1) 4EF7C2C3-A957-3BB5-8172-5256CE1F12C4 <63 6 5 3>

@gfalo10 everything looks in to be in order, the kexts are loading so everything should work.
We can try to debug a bit more if you're interested, if not you can revert to the config_ps2.plist from a few commits back.
For debugging: copy the repo files to somewhere on your drive (not EFI), then open a new terminal in the kext directory.
unload VoodooRMI sudo kextunload -vvvv -b com.1Revenger1.RMISMBus -b com.1Revenger1.VoodooRMI
change file owner sudo chown -R root:wheel VoodooRMI.kext, sudo chown -R root:wheel VoodooSMBus.kext, sudo chmod -R 755 VoodooSMBus.kext/, sudo chmod -R 755 VoodooRMI.kext/.
load the VoodooRMI kext sudo kextutil -vvvv -d VoodooRMI.kext -d VoodooSMBus.kext VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext
click the trackpoint buttons now, then
log the init message to a file sudo log show --last 1m | grep VRMI > ~/Desktop/log.txt
Attach the log.txt file and I will take a look.

log.txt
I hope I did well, I am a newbie. It's amazing to have macos working so well on Thinkpads.
Thanks.

@gfalo10 you took a bit too long to do the log so it didn't catch the init of VoodooRMI :D

could you unload VoodooRMI and load it again (you don't have to change the owner anymore) but this time you can do sudo log show --last 5m | grep VRMI > ~/Desktop/log.txt

Sorry!!! Here you are:
log.txt

can you try with this version of VoodooRMI?
https://github.com/VoodooSMBus/VoodooRMI/pull/68/checks?check_run_id=1162679195
click on "artifacts", download the archive, replace the VoodooRMI kext in the kexts folder and then try to load it again (you'll have to run chown and chmod on the new kext file again)

Hi!! It's works perfect now!! what was the problem?
Thank you!!

The trackpoint didn't return a success when resetting to default values. I just made it throw out a warning rather than completely stop initializing the trackpoint, which should be fine because we completely reset the trackpoint anyways right before which was successfully happening.

@1Revenger1 Thanks Avery, helpful as always