RealFrameDocs
Reference

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 service

Then restart:

systemctl --user restart realframe-host

One-off, without editing a file:

systemctl --user set-environment REALFRAME_CLAIM_CODE=<code>
systemctl --user restart realframe-host

Account and linking

SettingDoes
REALFRAME_CLAIM_CODEOne-time code from Add device. Links this computer.
REALFRAME_APIWhich service to talk to. Point it at your own when self-hosting.

Updates

SettingDoes
REALFRAME_UPDATE_CHANNELWhich release channel to follow.
REALFRAME_NO_UPDATEPin the installed build.

Picture and sharing

These match the settings in the host window. A headless Linux machine uses these instead.

SettingValuesMeans
SKYLIGHT_WIDTH, SKYLIGHT_HEIGHT1920, 1080Stream size
SKYLIGHT_FPS30, 60Frame rate
SKYLIGHT_CONTENTtext, video, autoWhat to optimise for
SKYLIGHT_CHROMA420, 444Colour detail
SKYLIGHT_BITRATE_KBPSkbit/sCeiling, not a target
SKYLIGHT_RATE_CONTROLcbr, vbr, cqpCBR is best on Wi-Fi
SKYLIGHT_QUIC_PACING_KBPSkbit/sSend pacing. Leave it on
SKYLIGHT_KEY_INTframesKeyframe spacing
SKYLIGHT_SHOW_CURSOR0, 1Draw the far cursor
SKYLIGHT_CLIPBOARD0, 1Two-way clipboard sync. On by default
SKYLIGHT_PAIRINGlegacy, sasAdmission flow. legacy (the default) admits any device your account vouches for. sas adds the 6-digit check
SKYLIGHT_PAIRING_AUTOACCEPT0, 1In sas mode only. On by default on the shared computer, off in the app you sit at
SKYLIGHT_PAIRING_OPEN0, 1In 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

SettingDoes
SKYLIGHT_COORDINATORCoordinator address
SKYLIGHT_RELAYRelay address
SKYLIGHT_COORDINATOR_UDPCoordinator 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

On this page