NDFR is a WIP Touch Bar daemon designed to provide a native-like experience on MacBooks running Linux.
System must have required input patches and driver for TouchBar.
- Rust: Install with RustUp
- appletbdrm: Display driver for the TouchBar.
brightnessctl: Brightness Control.wpctl(PipeWire) orpactl(PulseAudio): Volume Control.ndfr-media-helper- Bundled / Needed for scrubber functionality.
Arch Linux:
sudo pacman -S base-devel cairo libinput libevdev libdrmUbuntu/Debian:
sudo apt-get install build-essential libcairo2-dev libinput-dev libevdev-dev libdrm-dev-
Clone the repository:
git clone https://github.com/sunplex07/ndfr.git cd ndfr -
Build the project:
cargo build && makeThe compiled binary will be located at
target/release/dfr_daemon. -
Copy ndfr-media-helper
cp ./ndfr-media-helper /usr/bin/
This is REQUIRED for media control.
-
Copy other resources
cp -r ./icons ./target/debug/ cp ./layout.yml ./target/debug/
-
Run NDFR with Sudo In one terminal:
sudo ./target/debug/dfr_daemon
Start the media relay in another. Do not run this as sudo
chmod +x ./ndfr-media-agent.sh && ./ndfr-media-agent.sh
NDFR requires direct access to hardware devices (/dev/input/* and /dev/dri/*), must be run with root privileges.
sudo ./target/release/dfr_daemonFuther testing on T1, T2, and Silicon macs.
Create an installer for building and copying resources. Better handling of icons for media.
...?
Contributions are always welcome. Feel free to open an issue or pull request for bugs, and fixes.
This project is licensed under the MIT License

