# Installing `surface-dial-renewed` These files install the renewed driver as a systemd user service. The service runs as your desktop user so it can access your session D-Bus for KDE OSD. ## Build and Install the Binary Automatic install from the repository root: ```bash ./renewed_driver/install.sh ``` Manual install: ```bash cargo install --path renewed_driver ``` This installs: ```text ~/.cargo/bin/surface-dial-renewed ``` ## Install Device Permission Rules ```bash sudo cp renewed_driver/install/70-surface-dial-renewed-uinput.rules /etc/udev/rules.d/ sudo cp renewed_driver/install/70-surface-dial-renewed-input.rules /etc/udev/rules.d/ sudo cp renewed_driver/install/70-surface-dial-renewed-hidraw.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules sudo udevadm trigger ``` If the service still cannot access input devices, add your user to the group that owns `/dev/input/event*` on your system, then log out and back in: ```bash sudo gpasswd -a "$(whoami)" "$(stat -c '%G' /dev/input/event0)" ``` ## Install the User Service ```bash mkdir -p ~/.config/systemd/user cp renewed_driver/install/surface-dial-renewed.service ~/.config/systemd/user/ systemctl --user daemon-reload systemctl --user enable --now surface-dial-renewed.service ``` ## Check Status and Logs ```bash systemctl --user status surface-dial-renewed.service journalctl --user -u surface-dial-renewed.service -f ``` ## Uninstall Automatic uninstall from the repository root: ```bash ./renewed_driver/uninstall.sh ``` Manual uninstall: ```bash systemctl --user disable --now surface-dial-renewed.service rm ~/.config/systemd/user/surface-dial-renewed.service sudo rm /etc/udev/rules.d/70-surface-dial-renewed-uinput.rules sudo rm /etc/udev/rules.d/70-surface-dial-renewed-input.rules sudo rm /etc/udev/rules.d/70-surface-dial-renewed-hidraw.rules systemctl --user daemon-reload sudo udevadm control --reload-rules ```