dish(1)
| DISH(1) | User Commands | DISH(1) |
NAME
dish - wireless gamepad client for the Satellite server
SYNOPSIS
dish
DESCRIPTION
Dish streams a local gamepad to a Satellite server on the same network over an encrypted UDP channel. Sticks, buttons, motion and touchpad travel out; rumble and battery level come back. Servers are found over LAN broadcast and mDNS, or entered by address, and pairing pins the server's key on first use.
Dish takes no command-line options. Everything is configured in the UI.
USB-DIRECT
Supported controllers can be claimed directly through /dev/hidraw*, which raises the polling rate above what the SDL path allows. Those nodes are root-only by default, so the claim needs the udev rule this package installs at /usr/lib/udev/rules.d/70-dish-hidraw.rules. If the rule is absent, or udev has not been reloaded since it was installed, every claim fails with a permission error and Dish keeps the controller on the SDL path — still streaming, just rate-capped. Reload with:
sudo udevadm control --reload-rules && sudo udevadm trigger
FILES
- ~/.config/TinkerNorth/Dish.conf
- Settings, paired servers and pinned keys.
- $XDG_STATE_HOME/dish/crash.log
- Backtrace written by the crash handler.
- /usr/lib/udev/rules.d/70-dish-hidraw.rules
- hidraw access for the supported controllers.
UPDATES
Dish never installs its own updates. It checks a release manifest and links out to the release page; the package manager owns the binary. Set updates_check_enabled=false in the configuration to disable the check entirely.
BUGS
Report at https://github.com/TinkerNorth/dish-linux/issues
SEE ALSO
| 2026-08-20 | dish |
