Add project documentation, architecture decisions, and usage book
Comprehensive documentation for WayRay, a SunRay-like thin client
Wayland compositor targeting illumos and Linux:
- CLAUDE.md: project context and conventions
- docs/ai/plans: 6-phase implementation roadmap
- docs/ai/adr: 9 architecture decision records (Smithay, QUIC,
frame encoding, session management, rendering, audio, project
structure, illumos support, pluggable window management)
- docs/architecture: system architecture overview with diagrams
- docs/protocols: WayRay wire protocol specification
- book/: mdbook user guide (introduction, concepts, server/client
guides, admin, development)
- RESEARCH.md: deep research on remote display protocols
2026-03-28 20:47:16 +01:00
|
|
|
# Server Configuration
|
|
|
|
|
|
|
|
|
|
> This page will be written as the server implementation matures.
|
|
|
|
|
|
|
|
|
|
## Configuration File
|
|
|
|
|
|
2026-03-29 00:34:19 +01:00
|
|
|
WayRay server reads configuration from `wrsrvd.toml`:
|
Add project documentation, architecture decisions, and usage book
Comprehensive documentation for WayRay, a SunRay-like thin client
Wayland compositor targeting illumos and Linux:
- CLAUDE.md: project context and conventions
- docs/ai/plans: 6-phase implementation roadmap
- docs/ai/adr: 9 architecture decision records (Smithay, QUIC,
frame encoding, session management, rendering, audio, project
structure, illumos support, pluggable window management)
- docs/architecture: system architecture overview with diagrams
- docs/protocols: WayRay wire protocol specification
- book/: mdbook user guide (introduction, concepts, server/client
guides, admin, development)
- RESEARCH.md: deep research on remote display protocols
2026-03-28 20:47:16 +01:00
|
|
|
|
|
|
|
|
```toml
|
|
|
|
|
[server]
|
|
|
|
|
listen = "0.0.0.0:4433"
|
|
|
|
|
renderer = "pixman" # or "gles"
|
|
|
|
|
|
|
|
|
|
[tls]
|
|
|
|
|
cert = "/etc/wayray/server.crt"
|
|
|
|
|
key = "/etc/wayray/server.key"
|
|
|
|
|
|
|
|
|
|
[session]
|
|
|
|
|
timeout = "24h" # How long suspended sessions persist
|
|
|
|
|
max_sessions = 100 # Maximum concurrent sessions
|
|
|
|
|
|
|
|
|
|
[encoding]
|
|
|
|
|
strategy = "adaptive" # "lossless", "lossy", or "adaptive"
|
|
|
|
|
max_fps = 60
|
|
|
|
|
tile_size = 64
|
|
|
|
|
|
|
|
|
|
[audio]
|
|
|
|
|
enabled = true
|
|
|
|
|
codec = "opus"
|
|
|
|
|
sample_rate = 48000
|
|
|
|
|
|
|
|
|
|
[usb]
|
|
|
|
|
enabled = true
|
|
|
|
|
allowed_classes = ["mass-storage", "printer"]
|
|
|
|
|
```
|