Contribute
Register

[Guide] Acer Swift 5 SF514-53t whiskey lake MacOS10.14.5

Status
Not open for further replies.
Thanks a lot. I find some forum point that DW1820A is hard to hack for hackintosh . Most suggest DW1830 !
Your post is realy helpful !
 
Last edited:
Notice GenericUSBXHCI.kext won't even load on OS X 10.11+, you can remove it.

SSCN & FMCN can be added anywhere, as long as they are within the matching I2C scope (I2C1 in this case). You can add those via an SSDT instead of patching the DSDT :)
About the GPIO controller enable patch, you can patch the original _STA to XSTA (Via Clover renames, use TgtBridge) and add a new _STA method (Which returns 0x0F) within that SSDT.

Make sure you really need VoodooI2CELAN.kext, on newer hardware it's much more common to use just VoodooI2CHID, as most devices conform to the precision trackpad protocol. If you're losing multitouch on one/both device(s), just install it back.

As it's a Whiskey Lake device, I assume it has a Cannon Point GPIO controller. Are you sure you're using GPIO interrupts for your I2C devices? It's only supported in VoodooI2C v2.2+, and you're using v2.1.6.
Sure it's not using polling currently? May you attach an IOReg and a kernel log?
(We really want to see Cannon Point GPIO interrupts functioning correctly)
 
Last edited:
Notice GenericUSBXHCI.kext won't even load on OS X 10.11+, you can remove it.

SSCN & FMCN can be added anywhere, as long as they are within the matching I2C scope (I2C1 in this case). You can add those via an SSDT instead of patching the DSDT :)
About the GPIO controller enable patch, you can patch the original _STA to XSTA (Via Clover renames, use TgtBridge) and add a new _STA method (Which returns 0x0F) within that SSDT.

Make sure you really need VoodooI2CELAN.kext, on newer hardware it's much more common to use just VoodooI2CHID, as most devices conform to the precision trackpad protocol. If you're losing multitouch on one/both device(s), just install it back.

As it's a Whiskey Lake device, I assume it has a Cannon Point GPIO controller. Are you sure you're using GPIO interrupts for your I2C devices? It's only supported in VoodooI2C v2.2+, and you're using v2.1.6.
Sure it's not using polling currently? May you attach an IOReg and a kernel log?
(We really want to see Cannon Point GPIO interrupts functioning correctly)

Thanks for your suggestion. I will try it later. And here are the files you want to see, thanks your works on VoodooI2C. Cheer!
 

Attachments

  • kernel.log.zip
    823.7 KB · Views: 102
  • My Ioreg.zip
    866.4 KB · Views: 112
Thanks for your suggestion. I will try it later. And here are the files you want to see.
Cheer!
So yeah, you have a Cannon Point-LP GPIO controller. Looking at the kernel log, you can see this:
Bash:
VoodooI2CControllerDriver::VoodooI2CDeviceNub Warning: Incompatible APIC interrupt pin (0x33 > 0x2f) and no GPIO interrupts found; if your chosen satellite implements polling then VoodooI2CDeviceNub will run in polling mode.
Currently TPD0._CRS gives the APIC pin 0x33. Only APIC pins <= 0x2F are supported in macOS, so VoodooI2CHID falls back to polling - which is what you're currently using.
Looking at the origin DSDT in post #1, you already have a GPIO pin declared for your trackpad, it's just not used.
You can quite simply patch _CRS to have just this inside:
C-like:
Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
(Can be also easily done with an SSDT. Rename original to XCRS, add this patched method via an SSDT. As most of your setup is based on hotpatching, it's really nice to just not patch the DSDT with a little effort)
Of course - make sure you update the kexts to v2.2. VoodooI2CHID is used for both your trackpad and touchscreen, so VoodooI2CELAN can be safely removed :)

thanks your works on VoodooI2C
Happy to work on this project ;)
 
So yeah, you have a Cannon Point-LP GPIO controller. Looking at the kernel log, you can see this:
Bash:
VoodooI2CControllerDriver::VoodooI2CDeviceNub Warning: Incompatible APIC interrupt pin (0x33 > 0x2f) and no GPIO interrupts found; if your chosen satellite implements polling then VoodooI2CDeviceNub will run in polling mode.
Currently TPD0._CRS gives the APIC pin 0x33. Only APIC pins <= 0x2F are supported in macOS, so VoodooI2CHID falls back to polling - which is what you're currently using.
Looking at the origin DSDT in post #1, you already have a GPIO pin declared for your trackpad, it's just not used.
You can quite simply patch _CRS to have just this inside:
C-like:
Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
(Can be also easily done with an SSDT. Rename original to XCRS, add this patched method via an SSDT. As most of your setup is based on hotpatching, it's really nice to just not patch the DSDT with a little effort)
Of course - make sure you update the kexts to v2.2. VoodooI2CHID is used for both your trackpad and touchscreen, so VoodooI2CELAN can be safely removed :)


Happy to work on this project ;)
I Have difficult in SSDT patches, Can you explain it to me , Thanks! And I found that the DSDT.aml already had
Code:
Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
 
I Have difficult in SSDT patches, Can you explain it to me , Thanks! And I found that the DSDT.aml already had
Code:
Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
Read here about hotpatching (SSDTs + renames):

The suggested code should be the only code in _CRS. You have more than just it inside currently.
 
Read here about hotpatching (SSDTs + renames):

The suggested code should be the only code in _CRS. You have more than just it inside currently.
I give it a try with the following patches, however the trackpad act like a mouse and jerky and lost 2, 3 fingers gesture. occasionally I can roll up and down but in a clumsy way.
 

Attachments

  • DSDT.aml
    256.2 KB · Views: 102
  • SSDT-I2CxConf.aml
    351 bytes · Views: 102
  • 螢幕快照 2019-06-07 下午5.00.39.png
    螢幕快照 2019-06-07 下午5.00.39.png
    84.4 KB · Views: 121
  • My new ioreg.zip
    876.8 KB · Views: 97
  • kernel.log 2.zip
    50 KB · Views: 89
Last edited:
I give it a try with the following patches, however the trackpad act like a mouse and jerky and lost 2, 3 fingers gesture. occasionally I can roll up and down but in a clumsy way.
Please use gen_debug.sh to provide the debug files.
Try disabling ACPIBatteryManager, see if it's helping. If it does, use SMCBatteryManager instead.
 
Please use gen_debug.sh to provide the debug files.
Try disabling ACPIBatteryManager, see if it's helping. If it does, use SMCBatteryManager instead.
Try disabling ACPIBatteryManager seems to be not help. Here is the debug files debug_27910.zip is under original post condition, and debug_9335.zip is the one I try to use PGIO pin.
 

Attachments

  • debug_27910.zip
    1.7 MB · Views: 77
  • debug_9335.zip
    1.4 MB · Views: 86
Last edited:
Try disabling ACPIBatteryManager seems to be not help. Here is the debug files debug_27910.zip is under original post condition, and debug_9335.zip is the one I try to use PGIO pin.
IOReg is not attached to either. Make sure you give Terminal accessibility access in SysPrefs>Security & Privacy>Privacy>Accessibility, before running the script.

When you're not trying to use GPIO, is it laggy as well? Behaves like a mouse?
 
Status
Not open for further replies.
Back
Top