Closed shiecldk closed 1 year ago
@shiecldk Just to give an idea, how much of a reduction in boot time does this create? I believe the Info.plist for these kexts have a list of PCI ids for matching to firmware, though editing these won't update kext cache without a kext version bump.
IntelBluetoothFirmware doesn't expose a fw_name property in IO registry; only AirportItlwm does. Here's a bash script for cloning and building the pruned AirportItlwm kexts:
prune-airportitlwm.sh
For IntelBluetoothFirmware, you can prune firmware entries the same way as with the AirportItlwm script in the IntelBluetoothFirmware/fw/ directory. Additionally, IntelBluetoothFirmware and IntelBluetoothInjector can have redundant firmware entries removed from their IOKitPersonalities (in the kext Info.plist).
The boot-time improvements between either (and with IntelBTPatcher) appear quite marginal, despite improvements to the Bluetooth firmware bundle size while operating on USB 2. There's a good explainer for why this is here: https://github.com/OpenIntelWireless/itlwm/issues/353#issuecomment-709922418
I can help develop/support a toolchain for building these kexts if desired, though at the moment I do not plan on incorporating this into the project. Not only does this afford very a marginal improvement, but it costs significant runner time if automated as part of CI on github actions.
@Qonfused I updated my guide for this in here. Check the "3.4 Build and minimize Intel WiFi Driver" section: https://www.tonymacx86.com/threads/guide-asus-zenbook-pro-duo-15-oled-ux582-opencore.315661/post-2274273
I can help develop/support a toolchain for building these kexts if desired, though at the moment I do not plan on incorporating this into the project. Not only does this afford very a marginal improvement, but it costs significant runner time if automated as part of CI on github actions.
This sounds good. I can also help working on this too.
Hi @Qonfused, please see the updated sections 3.4 and 3.5 on UX582 guide to reduce the boot time. I successfully implemented these tweaks on UX582; however, there are some issues with compiling IntelBTPatcher.kext (IntelBTPatcher.kext/IntelBTPatcher/MacOS is empty and fw_name is missing after the implementation).
I have these files loaded with OpenCore 0.8.8: BlueToolFixup.kext (only for after macOS Monterey) IntelBluetoothInjector.kext (only for before macOS Monterey) IntelBluetoothFirmware.kext IntelBTPatcher.kext