# SPDX-FileCopyrightText: 2026 branderson # SPDX-License-Identifier: GPL-3.0-or-later # Run the gamepad bridge as a user service. # # Install: # mkdir -p ~/.config/systemd/user # cp contrib/linkctl-gamepad.service ~/.config/systemd/user/ # # edit ExecStart below to the absolute path of bin/linkctl-gamepad # systemctl --user daemon-reload # systemctl --user enable --now linkctl-gamepad.service # # Watch it: # journalctl --user -fu linkctl-gamepad.service # # --wait makes it tolerate the controller being absent or asleep, so the # service can stay enabled whether or not the pad is connected. [Unit] Description=Insta360 Link gamepad control After=graphical-session.target PartOf=graphical-session.target [Service] Type=simple # EDIT THIS. systemd does not search PATH for ExecStart, so it needs the # absolute path to your checkout. %h expands to your home directory. ExecStart=%h/PATH/TO/CHECKOUT/bin/linkctl-gamepad --wait Restart=on-failure RestartSec=5 # The joystick device and the camera are the only things it touches. PrivateTmp=true ProtectSystem=strict ProtectHome=read-only NoNewPrivileges=true [Install] WantedBy=graphical-session.target