Skip to content

Installation

Requirements

No injector needed

No injector kext is required.

Download from releases

The easiest way to get the kext is the prebuilt release — no toolchain required.

Download the latest release

Grab the RealtekBluetoothFirmware_vX.Y.Z_*.zip asset from the Releases page and unzip it to get RealtekBluetoothFirmware.kext. Then continue with Installing with OpenCore.

Prefer to compile it yourself? See Building below.

Building

make            # -> build/RealtekBluetoothFirmware.kext
make test       # host-side unit test of the firmware parser
make fw         # regenerate include/FwBinary.cpp from fw/*.bin
make clean

The result is a standard kext bundle ready to be code-signed and injected.

Installing with OpenCore

  1. Copy RealtekBluetoothFirmware.kext and BlueToolFixup.kext into EFI/OC/Kexts.
  2. Add both to config.plist under Kernel → Add.

Verifying

After reboot, Bluetooth should appear in System Settings. To confirm the firmware upload ran:

log show --last boot --predicate 'eventMessage CONTAINS "RealtekFirmware"'

For example, on an RTL8822CE you should see the matched chip, rom_version 3, the parsed payload size, the per-fragment download, and firmware download complete.

Troubleshooting

No Bluetooth after a clean upload

The log shows firmware download complete but Bluetooth never appears — almost always a Lilu/BlueToolFixup version that doesn't match your macOS build. Update those kexts.

Device not matched at all

No RealtekFirmware log lines — your USB product ID isn't in Info.plist. See Supported Devices.