Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 3 commits ahead of roadrunner2:mbp15.

Latest commit

* Fix for kernel 5.14.x

* Add support for older kernels

Co-authored-by: James Lambert <>

Git stats


Failed to load latest commit information.

Work in progress driver for the touchbar and ambient-light-sensor on 2019 MacBook Pro's.

Building and Installing:

git clone --branch mbp15
cd macbook12-spi-driver
sudo modprobe industrialio_triggered_buffer
sudo insmod apple-ibridge.ko
sudo insmod apple-ib-tb.ko
sudo insmod apple-ib-als.ko

Alternatively, use dkms:

DKMS module:

As root, do the following (use dnf instead of apt if on Fedora or similar):

apt install dkms
git clone --branch mbp15 /usr/src/apple-ibridge-0.1
dkms install -m apple-ibridge -v 0.1
modprobe apple-ib-tb
modprobe apple-ib-als


The touchbar and ambient-light-sensor (ALS) are part of the iBridge (T2) chip, and hence there are 3 modules corresponding to these (apple_ibridge, apple_ib_tb, and apple_ib_als). Generally loading any one of these will load the others, unless you are loading them via insmod. If loading manually (i.e. via insmod), you need to first load the industrialio_triggered_buffer and apple_ibridge modules.

The touchbar driver provides basic touchbar functionality (enabling the touchbar and switching between modes based on the FN key). The touchbar is automatically dimmed and later switched off if no (internal) keyboard, touchpad, or touchbar input is received for a period of time; any (internal) keyboard, touchpad, or touchbar input switches it back on. The timeouts till the touchbar is dimmed and turned off can be changed via the idle_timeout and dim_timeout module params or sysfs attributes (/sys/class/input/input9/device/...); they default to 5 min and 4.5 min, respectively. See also modinfo apple_ib_tb.

The ALS driver exposes the ambient light sensor; if you have the iio-sensor-proxy installed then it should be recognized and handled automatically.


Apple iBridge devices support (Touchbar/ALS) for MacBook Pro 2018 and onward.







No releases published


No packages published


  • C 99.5%
  • Makefile 0.5%