Settings reference
Every setting the apps read from their environment.
Most people never need this. It is for headless Linux machines, managed fleets, and self-hosted setups.
Where they go
~/.config/realframe/host.env # per user
/etc/realframe/host.env # system serviceThen restart:
systemctl --user restart realframe-hostOne-off, without editing a file:
systemctl --user set-environment REALFRAME_CLAIM_CODE=<code>
systemctl --user restart realframe-hostAccount and linking
| Setting | Does |
|---|---|
REALFRAME_CLAIM_CODE | One-time code from Add device. Links this computer. |
REALFRAME_API | Which service to talk to. Point it at your own when self-hosting. |
Updates
| Setting | Does |
|---|---|
REALFRAME_UPDATE_CHANNEL | Which release channel to follow. |
REALFRAME_NO_UPDATE | Pin the installed build. |
Picture and sharing
These match the settings in the host window. A headless Linux machine uses these instead.
| Setting | Values | Means |
|---|---|---|
SKYLIGHT_WIDTH, SKYLIGHT_HEIGHT | 1920, 1080 | Stream size |
SKYLIGHT_FPS | 30, 60 | Frame rate |
SKYLIGHT_CONTENT | text, video, auto | What to optimise for |
SKYLIGHT_CHROMA | 420, 444 | Colour detail |
SKYLIGHT_BITRATE_KBPS | kbit/s | Ceiling, not a target |
SKYLIGHT_RATE_CONTROL | cbr, vbr, cqp | CBR is best on Wi-Fi |
SKYLIGHT_QUIC_PACING_KBPS | kbit/s | Send pacing. Leave it on |
SKYLIGHT_KEY_INT | frames | Keyframe spacing |
SKYLIGHT_SHOW_CURSOR | 0, 1 | Draw the far cursor |
SKYLIGHT_CLIPBOARD | 0, 1 | Two-way clipboard sync. On by default |
SKYLIGHT_PAIRING | legacy, sas | Admission flow. legacy (the default) admits any device your account vouches for. sas adds the 6-digit check |
SKYLIGHT_PAIRING_AUTOACCEPT | 0, 1 | In sas mode only. On by default on the shared computer, off in the app you sit at |
SKYLIGHT_PAIRING_OPEN | 0, 1 | In sas mode only. Lets an unknown device reach the handshake at all. Off by default |
The code check is off unless you switch it on
SKYLIGHT_PAIRING defaults to legacy, so no digits are shown. Set it to sas on
both ends to turn the check on. See
how devices trust each other.
About the prefix
Those keys still use RealFrame's original internal prefix from before the product
was named. They work exactly as written. The account and update keys use the
current REALFRAME_ prefix.
Self-hosted service
| Setting | Does |
|---|---|
SKYLIGHT_COORDINATOR | Coordinator address |
SKYLIGHT_RELAY | Relay address |
SKYLIGHT_COORDINATOR_UDP | Coordinator UDP endpoint |
Set these on both ends. See pointing apps at it.
Logs
RUST_LOG sets how chatty the host is. info is default, debug is what to send
with a bug report.
journalctl --user -u realframe-host -f