Debian and sway
A full Wayland session on stock Debian, not a locked-down browser shell. sway runs with its own upstream config; pctv's additions live in a drop-in, so a system upgrade never collides with a forked config.
DEBIAN · SWAY · BLUETOOTH LE
pctv is a mini-PC that lives under a television. It boots straight into a Wayland session, takes its input from a phone over Bluetooth LE, and is provisioned from one committed script rather than from a wiki page.
Part of the hiot home-automation system
A full Wayland session on stock Debian, not a locked-down browser shell. sway runs with its own upstream config; pctv's additions live in a drop-in, so a system upgrade never collides with a forked config.
A daemon on the box presents a keyboard and a touchpad over Bluetooth LE GATT. The cursor is 1:1 with your finger, and the link works with no network at all — MQTT is an option, not a requirement.
One entry point, one config file per box, every knob documented with its default and its reasoning. Wi-Fi secrets stay in an untracked overlay. Re-running the installer on a working box is safe by design.
Power and input switching are driven from the box, so a single action wakes the TV and puts it on the right source instead of leaving you to find two remotes.
The interesting number was never keypress latency — it is what a background writer does to the desktop under load. That is measured on real hardware, and the fix is scheduling policy rather than folklore.
Hidden bootloader, a dimmed wordmark, then the session — one continuous surface on a single background colour, with no console text in between.
CURRENT
An Intel mini-PC. The reference target: everything is developed and measured here first, from the compositor build to the input stack.
SECOND TARGET
arm64, for the same session at lower power. Recovery is a documented hardware path rather than a guess when a board stops booting.
pctv is moving from "provision a Debian box" to "install a distribution". Downloads and the APT repository are live; the container registry is next.
Signed Debian packages. Today it carries the archive keyring; the pctv components — the input daemon, the TV control helper, the compositor build — join it as each moves off its own installer. Install the keyring first, then add the source.
curl -fsSLO https://pctv.pro/apt/pctv-release-key.asc
sudo apt-get install ./pctv-archive-keyring_1.0_all.deb
echo 'deb [signed-by=/usr/share/keyrings/pctv-archive-keyring.gpg] \
https://pctv.pro/apt stable main' \
| sudo tee /etc/apt/sources.list.d/pctv.list
sudo apt-get update
Today: the provisioning toolkit — the scripts that turn a clean Debian install into a pctv box. Installable images join it here when they exist. Every release carries a checksum manifest and a detached signature over that manifest, so verifying what you downloaded never requires trusting this web page.
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum --check SHA256SUMS
An OCI registry for the components that ship as images: anonymous to pull, credentials to push. It lives on its own hostname because the registry API is defined at the root of a host, not under a path. Built and running; the public name is waiting on a DNS record.
skopeo copy oci:./image docker://registry.pctv.pro/pctv/<name>:<tag>