Install Game Shot Darts on Linux
For x86_64 PCs (Debian 12+, Ubuntu 22.04+, similar) and ARM64 boards such as the Raspberry Pi 5 (64-bit Raspberry Pi OS). No root rights needed; Python and Node.js are not required.
Other systems: macOS · Windows · Deutsch: Linux
1. Install
In a terminal:
curl -fsSL https://gameshotdarts.app/install.sh | sh
The script downloads the latest release for your processor and installs:
| What | Where |
|---|---|
| Program | ~/.local/lib/gameshotdarts |
gameshotdarts command |
~/.local/bin/gameshotdarts |
| App menu entry and desktop shortcut | ~/.local/share/applications/gameshotdarts.desktop, ~/Desktop/gameshotdarts.desktop |
| Settings and data (created on the first start) | ~/.local/share/gameshotdarts (config.toml, data/) |
Prefer to download by hand? Get gameshotdarts-<version>-linux-x86_64.tar.gz (or -linux-arm64) from the download page, then:
tar -xzf gameshotdarts-*-linux-*.tar.gz
./gameshotdarts-*/install.sh
2. Camera access
Linux only lets members of the video group use cameras. Add yourself once, then log out and back in:
sudo usermod -aG video $USER
v4l-utils is recommended: Game Shot Darts uses it to set camera controls such as a fixed exposure.
sudo apt install v4l-utils
3. Start
Click Game Shot Darts in the app menu or on the desktop. A terminal window opens with the server log and the addresses, and the browser opens the Game Shot Darts UI at http://localhost:8000. Close the terminal window (or press Ctrl+C in it) to stop Game Shot Darts. If Game Shot Darts is already running, the shortcut just opens the browser.
GNOME: if the desktop shortcut shows a warning sign, right-click it and choose Allow Launching. The desktop icons of GNOME need the Desktop Icons NG extension (preinstalled on Ubuntu).
From a terminal the same is gameshotdarts launch; gameshotdarts serve starts only the server.
Phones, tablets and TVs on the home network open http://<address of this computer>:8000; the terminal window lists the addresses, and the UI shows a QR code.
4. Set up the cameras
In the app: Settings → Cameras → Set up cameras. Search for cameras lists the connected ones; add the three dart cameras, choose where each one is mounted (top, bottom right, bottom left) and click Save and restart. Game Shot Darts writes them to config.toml and restarts on its own; then calibrate the board on the same page.
The same by hand, or for options the app doesn't show (resolution, camera controls):
gameshotdarts devices
Lists the connected cameras with their stable /dev/v4l/by-path/... paths. Open ~/.local/share/gameshotdarts/config.toml, remove the # in front of the three [[cameras]] blocks and enter these paths as device. Then restart Game Shot Darts and calibrate the board on the Cameras page of the UI.
The comments in config.toml explain the options (resolution, exposure, detection).
5. Start at boot (optional)
For a dedicated darts computer, Game Shot Darts can run as a systemd user service that starts with the computer, without anyone logging in:
curl -fsSL https://gameshotdarts.app/install.sh | sh -s -- --service
(or ./install.sh --service from the extracted archive). The desktop shortcut then only opens the browser. Useful commands:
systemctl --user status gameshotdarts
journalctl --user -u gameshotdarts -f
If the script reports that lingering could not be enabled, run sudo loginctl enable-linger $USER once; without it the service only runs while you are logged in.
Update
Run the install command again. Settings, data and an autostart service are kept.
Uninstall
curl -fsSL https://gameshotdarts.app/install.sh | sh -s -- --uninstall
This removes the program, the shortcuts and the service. Settings and data stay in ~/.local/share/gameshotdarts; delete that folder too to remove everything.
Troubleshooting
| Problem | Fix |
|---|---|
gameshotdarts: command not found |
~/.local/bin is not on your PATH. Log out and back in (most distributions add it automatically once it exists) or use the full path ~/.local/bin/gameshotdarts. |
| Camera shows "Cannot open camera" | Group video missing (see step 2) or another program uses the camera (fuser /dev/video*). |
| Terminal window closes right away | Start gameshotdarts launch from a terminal to see the error. Port 8000 in use: set another port under [server] in config.toml. |
| Phones can't connect | Allow port 8000 in the firewall, e.g. sudo ufw allow 8000/tcp. |