mr-cal / Linux-Magic-Trackpad-2-USB-C-Driver

Driver for the 2024 Apple Magic Trackpad with USB-C support
8 stars 0 forks source link

Linux Apple Magic Trackpad 2 USB-C Driver

Adds support for the 2024 USB-C version of the Magic Trackpad 2. Upstream support in the kernel can be found here.

This is not needed for older Apple Magic devices, which are supported in kernel version 5.15+.

I have not tested or added support for the 2024 USB-C Magic Keyboard or Magic Mouse because I do not own them. PRs are welcome or you can send me some hardware!

Install

dkms

To install the driver on non-debian distros, install dkms and use the installer script:

sudo apt install dkms # or yum, pacman, etc
git clone https://github.com/mr-cal/Linux-Magic-Trackpad-2-USB-C-Driver.git
cd Linux-Magic-Trackpad-2-USB-C-Driver
chmod u+x install.sh
sudo ./install.sh

Github release

For Debian, Ubuntu, and derivatives, you can download and install the published deb package here and install it with:

wget https://github.com/mr-cal/Linux-Magic-Trackpad-2-USB-C-Driver/releases/download/latest/magicmouse-hid_2.1.0-0.deb
sudo dpkg -i magicmouse-hid_2.1.0-0.deb

Build a deb

To build and install the deb yourself:

./build-deb.sh
sudo dpkg -i magicmouse-hid_2.1.0-0.deb

Reload

To reload the driver:

sudo rmmod hid_magicmouse
sudo modprobe hid_magicmouse

Uninstall

DKMS

sudo ./remove.sh

Deb package

sudo dpkg -r magicmouse-hid

Wayland and X11

The out-of-box experience with Magic Trackpads is significantly better with Wayland compared to X11.

setup usual default featureset
no driver point, hard left click
driver + X11 point, hard left/right clicks, scroll, three-finger middle mouse button
driver + wayland point, hard/soft left/right clicks, smooth scroll, zoom, three-finger middle mouse button

Additional gestures can be configured with touchegg.

Secure boot

If you haven't installed an unofficial driver before, be advised that you must disable secure boot, use a kernel that does not require signed drivers, or self-sign the driver. See here for more information.

Thanks

This driver is based on the work of @RicardoEPRodrigues, @robotrovsky, @svartalf, @0xABAD, and probably others. Thank you!