2.1 KiB
2.1 KiB
Installation and Systemd Service
Files
Install helpers:
renewed_driver/install.sh
renewed_driver/uninstall.sh
Systemd user service:
renewed_driver/install/surface-dial-renewed.service
udev rules:
renewed_driver/install/70-surface-dial-renewed-uinput.rules
renewed_driver/install/70-surface-dial-renewed-input.rules
renewed_driver/install/70-surface-dial-renewed-hidraw.rules
Install
From the repository root:
./renewed_driver/install.sh
This performs:
cargo install --path renewed_driver- udev rule installation under
/etc/udev/rules.d - udev reload and trigger
- systemd user service installation
systemctl --user enable --now surface-dial-renewed.service
The service runs as the desktop user, not root. That is required for access to the user session D-Bus used by KDE OSD.
Service
The service runs:
%h/.cargo/bin/surface-dial-renewed --mode multitouch
It restarts on failure with a 2 second delay.
To tune multitouch timing in the service, edit:
~/.config/systemd/user/surface-dial-renewed.service
Example:
ExecStart=%h/.cargo/bin/surface-dial-renewed --mode multitouch --mt-idle-ms 100 --mt-idle-max-ms 1500 --mt-settle-ms 80
Then reload and restart:
systemctl --user daemon-reload
systemctl --user restart surface-dial-renewed.service
Useful commands:
systemctl --user status surface-dial-renewed.service
systemctl --user restart surface-dial-renewed.service
journalctl --user -u surface-dial-renewed.service -f
Permissions
The udev rules grant user-session access to:
/dev/uinput- Surface Dial input event nodes
- Surface Dial HID raw node for haptics
If input permissions still fail, add the user to the group that owns
/dev/input/event*, then log out and back in:
sudo gpasswd -a "$(whoami)" "$(stat -c '%G' /dev/input/event0)"
Uninstall
From the repository root:
./renewed_driver/uninstall.sh
This disables the user service, removes service/rule files, reloads udev, and uninstalls the Cargo binary.