EveryDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/nestrilabs/nestri/llms.txt
Use this file to discover all available pages before exploring further.
nestri-server flag can be set by a CLI argument or a matching environment variable. Environment variables take the same values as the CLI flags and are the recommended approach when running the server inside a container. This page lists all flags grouped by category.
Application
These flags control the relay connection, virtual display, and general runtime behaviour.WebSocket URL of the Nestri relay server. The server connects to this address over libp2p to exchange WebRTC session descriptions with browser clients.Environment variable:
RELAY_URLRoom name or identifier. Browser clients connect to this room to receive the stream. If not set, a random numeric ID is generated at startup.Environment variable:
NESTRI_ROOMDisplay and stream resolution in
WxH format. Sets both the Wayland virtual display size and the GStreamer capsfilter applied to the video source.Environment variable: RESOLUTIONDisplay and stream framerate. Valid range: 5–239 fps. This value is used in both the Wayland display configuration and the GStreamer caps.Environment variable:
FRAMERATEPath to the vimputti Unix socket. vimputti manages virtual input devices (gamepad, keyboard, mouse) forwarded from the browser. If the socket is not present at startup, input forwarding is disabled with a warning rather than a hard failure.Environment variable:
VIMPUTTI_PATHEnable verbose output. When set, all resolved argument values are logged at startup and encoder parameter assignment is logged at DEBUG level.Environment variable:
VERBOSEDevice
These flags control GPU selection and display rendering mode.Filter GPUs by vendor. Accepted values (case-insensitive):
nvidia, amd, intel.Environment variable: GPU_VENDORFilter GPUs by a case-insensitive substring match against the PCI device name (e.g.
"7900" matches "RX 7900 XTX").Environment variable: GPU_NAMESelect by 0-based index from the filtered GPU list. Out-of-bounds values cause a startup error.Environment variable:
GPU_INDEXForce a specific GPU using a
/dev/dri/card* or /dev/dri/renderD* path. Mutually exclusive with --gpu-vendor, --gpu-name, and --gpu-index.Environment variable: GPU_CARD_PATHUse CPU-based software rendering for the Wayland display (
render-node=software). Not suitable for real-time game streaming.Environment variable: SOFTWARE_RENDEREnable zero-copy frame transfer (DMA-BUF for VAAPI/QSV, CUDA memory for NVENC). Experimental. Requires
--video-encoder-type hardware.Environment variable: ZERO_COPYVideo encoding
Preferred video codec. Accepted values:
h264, h265, av1.Environment variable: VIDEO_CODECOverride automatic encoder selection with a specific GStreamer element name (e.g.
nvh264enc, vah265lpenc).Environment variable: VIDEO_ENCODERConstrain encoder selection to
hardware or software.Environment variable: VIDEO_ENCODER_TYPERate control method. Accepted values:
cbr, vbr, cqp.Environment variable: VIDEO_RATE_CONTROLLatency vs. quality tuning preset. Accepted values:
lowest-latency, highest-quality.Environment variable: VIDEO_LATENCY_CONTROLConstant Quantization Parameter quality level (1–51). Lower is higher quality. Used only with
--video-rate-control cqp.Environment variable: VIDEO_CQPTarget video bitrate in kbps. Used by
cbr and vbr rate control.Environment variable: VIDEO_BITRATEMaximum video bitrate in kbps. Used only by
vbr rate control.Environment variable: VIDEO_BITRATE_MAXVideo bit depth. Accepted values:
8, 10. 10-bit requires --zero-copy, a non-H.264 codec, and a capable encoder.Environment variable: VIDEO_BIT_DEPTHDistance between keyframes in seconds. GOP size =
framerate × keyframe-dist-secs.Environment variable: KEYFRAME_DIST_SECSAudio
Audio capture backend. Accepted values:
pipewire, pulseaudio, alsa.Environment variable: AUDIO_CAPTURE_METHODPreferred audio codec. Currently only
opus is supported.Environment variable: AUDIO_CODECOverride the audio encoder GStreamer element name. Defaults to
opusenc.Environment variable: AUDIO_ENCODERAudio rate control method. Accepted values:
cbr, vbr. CQP is not supported for audio.Environment variable: AUDIO_RATE_CONTROLAudio latency tuning preset. Accepted values:
lowest-latency, highest-quality.Environment variable: AUDIO_LATENCY_CONTROLTarget audio bitrate in kbps.Environment variable:
AUDIO_BITRATEMaximum audio bitrate in kbps. Used only by
vbr rate control.Environment variable: AUDIO_BITRATE_MAXComplete Docker example
The following example runs the Nestri Steam runner container with a full explicit configuration. All settings are passed as environment variables, which is the recommended pattern for containerised deployments.- NVIDIA
- AMD / Intel