An open API service indexing awesome lists of open source software.

https://github.com/nchapman/tether

Low-latency, open-source remote desktop in Rust.
https://github.com/nchapman/tether

low-latency quic remote-desktop rust streaming vaapi wgpu

Last synced: 14 days ago
JSON representation

Low-latency, open-source remote desktop in Rust.

Awesome Lists containing this project

README

          

# Tether

Low-latency, open-source remote desktop in Rust. Inspired by
[Parsec](https://parsec.app/), [Moonlight](https://moonlight-stream.org/),
and [Sunshine](https://github.com/LizardByte/Sunshine).

**Status:** pre-MVP. Linux host → Linux client works end-to-end over QUIC
with VAAPI hardware encode, PipeWire DMA-BUF capture, and wgpu present.
macOS host (ScreenCaptureKit capture + VideoToolbox encode + CGEvent
input injection) compiles and the encoder round-trips on Apple Silicon;
end-to-end LAN streaming to a Linux client is the next demo milestone.
macOS client (VideoToolbox decode + Metal render) and the audio pipeline
follow after that.

## Layout

- `apps/tether-host` — capture + encode + send
- `apps/tether-client` — receive + decode + present
- `crates/tether-protocol` — wire types, hello/handshake, control messages
- `crates/tether-transport` — QUIC datagrams + reliable streams
- `crates/tether-capture`, `tether-codec`, `tether-vaapi`,
`tether-gpuconvert`, `tether-render`, `tether-input`, `tether-session`

## Build

```
make build # cargo build --workspace
make test # fast unit tests, no hardware
make test-hw # VAAPI + render + gpuconvert correctness + benchmarks
make help # full target list
```

## Docs

- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) — channels, handshake,
forward-compat hooks
- [docs/TESTING.md](docs/TESTING.md) — what the test matrix covers

## License

MIT — see [LICENSE](LICENSE).