# Lesavka operational environment variables

This is the tracked inventory for `LESAVKA_*` knobs used by source, scripts, CI, and tests. The hygiene gate fails when a new variable is added without appearing here, which keeps operator-facing configuration from drifting into folklore.

Hardware-facing assumptions belong near the code that uses them; this file is the repo-wide index.
| `LESAVKA_ALLOW_GADGET_CYCLE` | document near use before promoting to operator config |
| `LESAVKA_ALLOW_GADGET_RESET` | document near use before promoting to operator config |
| `LESAVKA_ALSA_DEV` | server hardware/device override |
| `LESAVKA_ATTACH_WRITE_UDC` | server hardware/device override |
| `LESAVKA_AUDIO_AUTO_RECOVER_AFTER` | client media capture/playback override |
| `LESAVKA_AUDIO_AUTO_RECOVER_COOLDOWN_MS` | client media capture/playback override |
| `LESAVKA_AUDIO_AUTO_RECOVER_USB` | client media capture/playback override |
| `LESAVKA_AUDIO_DISABLE` | client media capture/playback override |
| `LESAVKA_AUDIO_GAIN` | client media capture/playback override |
| `LESAVKA_AUDIO_GAIN_CONTROL` | client media capture/playback override |
| `LESAVKA_AUDIO_INIT_ATTEMPTS` | client media capture/playback override |
| `LESAVKA_AUDIO_INIT_DELAY_MS` | client media capture/playback override |
| `LESAVKA_AUDIO_MIN_PACKETS_PER_SEC` | client media capture/playback override |
| `LESAVKA_AUDIO_SINK` | client media capture/playback override |
| `LESAVKA_AUDIO_SOURCE_GRACE_MS` | client media capture/playback override |
| `LESAVKA_AUDIO_SOURCE_IDLE_MS` | client media capture/playback override |
| `LESAVKA_BOOL_TEST` | test/build contract variable; not runtime operator config |
| `LESAVKA_BREAKOUT_PREVIEW_HEIGHT` | eye preview/video transport override |
| `LESAVKA_BREAKOUT_PREVIEW_MAX_KBIT` | eye preview/video transport override |
| `LESAVKA_BREAKOUT_PREVIEW_WIDTH` | eye preview/video transport override |
| `LESAVKA_BREAKOUT_REQUEST_FPS` | eye preview/video transport override |
| `LESAVKA_BREAKOUT_REQUEST_HEIGHT` | eye preview/video transport override |
| `LESAVKA_BREAKOUT_REQUEST_WIDTH` | eye preview/video transport override |
| `LESAVKA_CAM_BY_ID_DIR` | client media capture/playback override |
| `LESAVKA_CAM_CODEC` | client media capture/playback override |
| `LESAVKA_CAM_DEV_ROOT` | client media capture/playback override |
| `LESAVKA_CAM_DISABLE` | client media capture/playback override |
| `LESAVKA_CAM_FORMAT` | client media capture/playback override |
| `LESAVKA_CAM_FPS` | client media capture/playback override |
| `LESAVKA_CAM_H264_KBIT` | client media capture/playback override |
| `LESAVKA_CAM_HEIGHT` | client media capture/playback override |
| `LESAVKA_CAM_JPEG_QUALITY` | client media capture/playback override |
| `LESAVKA_CAM_KEYFRAME_INTERVAL` | client media capture/playback override |
| `LESAVKA_CAM_MJPG` | client media capture/playback override |
| `LESAVKA_CAM_OUTPUT` | client media capture/playback override |
| `LESAVKA_CAM_SOURCE` | client media capture/playback override |
| `LESAVKA_CAM_TEST_ENCODER` | client media capture/playback override |
| `LESAVKA_CAM_TEST_PATTERN` | client media capture/playback override |
| `LESAVKA_CAM_WIDTH` | client media capture/playback override |
| `LESAVKA_CAPTURE_POWER_GRACE_SECS` | runtime/install/session override |
| `LESAVKA_CAPTURE_POWER_UNIT` | runtime/install/session override |
| `LESAVKA_CAPTURE_REMOTE` | runtime/install/session override |
| `LESAVKA_CLIENT_APP_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_CAMERA_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_INPUTS_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_KEYBOARD_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_MAIN_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_MICROPHONE_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_MOUSE_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_OUTPUT_AUDIO_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_OUTPUT_DISPLAY_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_OUTPUT_VIDEO_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_RELAYCTL_BIN_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIENT_VIDEO_SUPPORT_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CLIPBOARD_CHORD` | input routing/clipboard override |
| `LESAVKA_CLIPBOARD_CMD` | input routing/clipboard override |
| `LESAVKA_CLIPBOARD_DEBOUNCE_MS` | input routing/clipboard override |
| `LESAVKA_CLIPBOARD_DELAY_MS` | input routing/clipboard override |
| `LESAVKA_CLIPBOARD_MAX` | input routing/clipboard override |
| `LESAVKA_CLIPBOARD_PASTE` | input routing/clipboard override |
| `LESAVKA_CLIPBOARD_TIMEOUT_MS` | input routing/clipboard override |
| `LESAVKA_COMMON_CLI_BIN_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_CORE_HELPER` | runtime/install/session override |
| `LESAVKA_DECODER_PROBE_BUFFERS` | manual probe override |
| `LESAVKA_DECODER_PROBE_POLL_SECONDS` | manual probe override |
| `LESAVKA_DECODER_PROBE_WAIT_SECONDS` | manual probe override |
| `LESAVKA_DETACH_CLEAR_UDC` | server hardware/device override |
| `LESAVKA_DEV_MODE` | document near use before promoting to operator config |
| `LESAVKA_DISABLE_UAC` | document near use before promoting to operator config |
| `LESAVKA_DISABLE_UVC` | document near use before promoting to operator config |
| `LESAVKA_DISABLE_VIDEO_RENDER` | eye preview/video transport override |
| `LESAVKA_DUMP_VIDEO` | eye preview/video transport override |
| `LESAVKA_EYE_ADAPTIVE` | eye preview/video transport override |
| `LESAVKA_EYE_APPSINK_BUFFERS` | eye preview/video transport override |
| `LESAVKA_EYE_CAP_POLL_SECONDS` | eye preview/video transport override |
| `LESAVKA_EYE_CAP_WAIT_SECONDS` | eye preview/video transport override |
| `LESAVKA_EYE_CHAN_CAPACITY` | eye preview/video transport override |
| `LESAVKA_EYE_DEVICE_POLL_MS` | eye preview/video transport override |
| `LESAVKA_EYE_DEVICE_WAIT_MS` | eye preview/video transport override |
| `LESAVKA_EYE_FPS` | eye preview/video transport override |
| `LESAVKA_EYE_KEYFRAME_INTERVAL` | eye preview/video transport override |
| `LESAVKA_EYE_MIN_FPS` | eye preview/video transport override |
| `LESAVKA_EYE_QUEUE_BUFFERS` | eye preview/video transport override |
| `LESAVKA_EYE_TESTSRC_KBIT` | eye preview/video transport override |
| `LESAVKA_FAKE_SYSTEMCTL_MODE` | test/build contract variable; not runtime operator config |
| `LESAVKA_FOCUS_LAUNCHER_ON_LOCAL` | launcher UI/runtime override |
| `LESAVKA_FORCE_CORE_REBUILD_WITHOUT_UDC` | document near use before promoting to operator config |
| `LESAVKA_GADGET_CONFIGFS_ROOT` | server hardware/device override |
| `LESAVKA_GADGET_FORCE_CYCLE` | server hardware/device override |
| `LESAVKA_GADGET_SYSFS_ROOT` | server hardware/device override |
| `LESAVKA_GIT_SHA` | runtime/install/session override |
| `LESAVKA_H264_DECODER` | eye preview/video transport override |
| `LESAVKA_HDMI_CONNECTOR` | server hardware/device override |
| `LESAVKA_HDMI_DRIVER` | server hardware/device override |
| `LESAVKA_HDMI_FBDEV` | server hardware/device override |
| `LESAVKA_HDMI_PRESENTATION_DELAY_US` | server HDMI video latency override |
| `LESAVKA_HDMI_HEIGHT` | server hardware/device override |
| `LESAVKA_HDMI_MODES` | server hardware/device override |
| `LESAVKA_HDMI_RESTORE_CRTC` | server hardware/device override |
| `LESAVKA_HDMI_SINK` | server hardware/device override |
| `LESAVKA_HDMI_SKIP_VSYNC` | server hardware/device override |
| `LESAVKA_HDMI_WIDTH` | server hardware/device override |
| `LESAVKA_HEADLESS` | runtime/install/session override |
| `LESAVKA_HELPER_ENV_DUMP` | document near use before promoting to operator config |
| `LESAVKA_HID_DIR` | server hardware/device override |
| `LESAVKA_HID_WRITE_RETRIES` | server hardware/device override |
| `LESAVKA_HID_WRITE_RETRY_DELAY_MS` | server hardware/device override |
| `LESAVKA_HW_H264` | document near use before promoting to operator config |
| `LESAVKA_ICON_NAME` | launcher UI/runtime override |
| `LESAVKA_ICON_SEARCH_PATH` | launcher UI/runtime override |
| `LESAVKA_INPUT_RELEASE_TIMEOUT_MS` | input routing/clipboard override |
| `LESAVKA_INPUT_REMOTE_FAILSAFE_MS` | input routing/clipboard override |
| `LESAVKA_INPUT_REMOTE_FAILSAFE_SECS` | input routing/clipboard override |
| `LESAVKA_INPUT_RESCAN_MS` | input routing/clipboard override |
| `LESAVKA_INPUT_TOGGLE_DEBOUNCE_MS` | input routing/clipboard override |
| `LESAVKA_INPUT_TOGGLE_KEY` | input routing/clipboard override |
| `LESAVKA_KERNEL_BRANCH` | kernel build/install override |
| `LESAVKA_KERNEL_BUILD_ROOT` | kernel build/install override |
| `LESAVKA_KERNEL_BUILD_USER` | kernel build/install override |
| `LESAVKA_KERNEL_COMMIT` | kernel build/install override |
| `LESAVKA_KERNEL_JOBS` | kernel build/install override |
| `LESAVKA_KERNEL_PATCH_DIR` | kernel build/install override |
| `LESAVKA_KERNEL_PATCH_DWC2_FIFO` | kernel build/install override |
| `LESAVKA_KERNEL_PATCH_UVC_BULK` | kernel build/install override |
| `LESAVKA_KERNEL_PATCH_UVC_DEBUG` | kernel build/install override |
| `LESAVKA_KERNEL_PKGREL` | kernel build/install override |
| `LESAVKA_KERNEL_PKG_REPO` | kernel build/install override |
| `LESAVKA_KERNEL_REPO` | kernel build/install override |
| `LESAVKA_KERNEL_UPDATE` | kernel build/install override |
| `LESAVKA_KEYBOARD_DEVICE` | input routing/clipboard override |
| `LESAVKA_LAUNCHER_CAMERA_DIR` | launcher UI/runtime override |
| `LESAVKA_LAUNCHER_CHILD` | launcher UI/runtime override |
| `LESAVKA_LAUNCHER_CLIPBOARD_CONTROL` | launcher UI/runtime override |
| `LESAVKA_LAUNCHER_FOCUS_SIGNAL` | launcher UI/runtime override |
| `LESAVKA_LAUNCHER_INPUT_CONTROL` | launcher UI/runtime override |
| `LESAVKA_LAUNCHER_INPUT_STATE` | launcher UI/runtime override |
| `LESAVKA_LAUNCHER_PARENT_PID` | launcher UI/runtime override |
| `LESAVKA_LAUNCHER_PARENT_START_TICKS` | launcher UI/runtime override |
| `LESAVKA_LAUNCHER_TOGGLE_KEY_CONTROL` | launcher UI/runtime override |
| `LESAVKA_LAUNCHER_WINDOW_TITLE` | launcher UI/runtime override |
| `LESAVKA_LIVE_KEYBOARD_REPORT_DELAY_MS` | input routing/clipboard override |
| `LESAVKA_LIVE_MODIFIER_DELAY_MS` | input routing/clipboard override |
| `LESAVKA_MAX_SPEED` | document near use before promoting to operator config |
| `LESAVKA_MEDIA_GATE_PUSHGATEWAY_JOB` | CI metrics destination override |
| `LESAVKA_MIC_DISABLE` | client media capture/playback override |
| `LESAVKA_MIC_DISABLE_PIPEWIRE` | client media capture/playback override |
| `LESAVKA_MIC_GAIN` | client media capture/playback override |
| `LESAVKA_MIC_GAIN_CONTROL` | client media capture/playback override |
| `LESAVKA_MIC_INIT_ATTEMPTS` | client media capture/playback override |
| `LESAVKA_MIC_INIT_DELAY_MS` | client media capture/playback override |
| `LESAVKA_MIC_SOURCE` | client media capture/playback override |
| `LESAVKA_MIC_TEST_SOURCE_DESC` | client media capture/playback override |
| `LESAVKA_MOUSE_DEVICE` | input routing/clipboard override |
| `LESAVKA_PASTE_DELAY_MS` | input routing/clipboard override |
| `LESAVKA_PASTE_KEY` | input routing/clipboard override |
| `LESAVKA_PASTE_KEY_FILE` | input routing/clipboard override |
| `LESAVKA_PASTE_MAX` | input routing/clipboard override |
| `LESAVKA_PASTE_RPC` | input routing/clipboard override |
| `LESAVKA_PREVIEW_HEIGHT` | eye preview/video transport override |
| `LESAVKA_PREVIEW_MAX_KBIT` | eye preview/video transport override |
| `LESAVKA_PREVIEW_REQUEST_FPS` | eye preview/video transport override |
| `LESAVKA_PREVIEW_REQUEST_HEIGHT` | eye preview/video transport override |
| `LESAVKA_PREVIEW_REQUEST_WIDTH` | eye preview/video transport override |
| `LESAVKA_PREVIEW_WIDTH` | eye preview/video transport override |
| `LESAVKA_REF` | runtime/install/session override |
| `LESAVKA_RELOAD_UVCVIDEO` | document near use before promoting to operator config |
| `LESAVKA_REPO_URL` | runtime/install/session override |
| `LESAVKA_RGBA` | document near use before promoting to operator config |
| `LESAVKA_SERVER_ADDR` | runtime/install/session override |
| `LESAVKA_SERVER_BIND_ADDR` | server bind address override; defaults to `0.0.0.0:50051` |
| `LESAVKA_SERVER_GADGET_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_SERVER_HOST` | manual probe override |
| `LESAVKA_SERVER_MAIN_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_SERVER_UVC_BIN_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_SERVER_VIDEO_SINKS_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_SERVER_VIDEO_SRC` | test/build contract variable; not runtime operator config |
| `LESAVKA_SONAR_ENFORCE` | CI gate enforcement override |
| `LESAVKA_SUPPLY_CHAIN_ENFORCE_TOOLS` | CI gate enforcement override |
| `LESAVKA_TAP_AUDIO` | client media capture/playback override |
| `LESAVKA_UAC_BUFFER_TIME_US` | server audio sink latency override |
| `LESAVKA_UAC_COMPENSATION_US` | server audio sink latency override |
| `LESAVKA_UAC_DEV` | server hardware/device override |
| `LESAVKA_UAC_HDMI_COMPENSATION_US` | server HDMI audio sink latency override; defaults to `205000` to hold gadget audio back toward the host-observed HDMI video path |
| `LESAVKA_UAC_LATENCY_TIME_US` | server audio sink latency override |
| `LESAVKA_UAC_SESSION_CLOCK_ALIGN` | server audio sink clock-alignment override; defaults to `0` |
| `LESAVKA_TEST_CAM_U32` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_CAP_CAMERA` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_CAP_MIC` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_ASOUND_CARDS` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_ASOUND_PCM` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_DISABLE_H264_DECODERS` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_FORCE_PIPELINE_START_ERROR` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_GATE_PUSHGATEWAY_JOB` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_RECOVERY_STATE` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_RECOVERY_STATE_ERROR` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_SKIP_APP` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_SWAY_GET_OUTPUTS_EXIT` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_SWAY_LOG` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_SWAY_OUTPUTS` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_SWAY_PLACE_EXIT` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_U32` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_U32_OPT` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_U8` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_UDEV_CAPTURE_DEVICES` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_USIZE` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_UVC_HELPER_RESTART_ERR` | test/build contract variable; not runtime operator config |
| `LESAVKA_TEST_VIDEO_SOURCE` | test/build contract variable; not runtime operator config |
| `LESAVKA_TOUCHPAD_SCALE` | input routing/clipboard override |
| `LESAVKA_UAC_DEV` | server hardware/device override |
| `LESAVKA_UAC_SESSION_CLOCK_ALIGN` | server audio sink clock-alignment override; `0` is the host-validated default |
| `LESAVKA_UPSTREAM_AUDIO_PLAYOUT_OFFSET_US` | server upstream playout override; shifts gadget-audio presentation relative to the shared playout epoch |
| `LESAVKA_UPSTREAM_PAIR_SLACK_US` | server upstream pairing override; how far video may lead the planned audio-master capture moment before the frame is held or dropped, defaults to `20000` |
| `LESAVKA_UPSTREAM_PLAYOUT_DELAY_MS` | server upstream pairing/synchronization window; the server uses this shared buffer to pair webcam frames with their matching gadget-mic audio before remote presentation, defaults to `1000` |
| `LESAVKA_UPSTREAM_STALE_DROP_MS` | server upstream freshness override; late audio/video that miss this budget are dropped instead of silently extending lag, defaults to `80` |
| `LESAVKA_UPSTREAM_TIMING_TRACE` | upstream capture/rebase trace override for sync debugging |
| `LESAVKA_UPSTREAM_VIDEO_PLAYOUT_OFFSET_US` | server upstream playout override; shifts webcam-video presentation relative to the shared playout epoch |
| `LESAVKA_UPLINK_CAMERA_PREVIEW` | client media capture/playback override |
| `LESAVKA_UPLINK_MIC_LEVEL` | client media capture/playback override |
| `LESAVKA_INSTALL_UVC_CODEC` | installer override; sets the persisted default UVC webcam codec in `/etc/lesavka/server.env` and `/etc/lesavka/uvc.env` |
| `LESAVKA_USB_RECOVERY_` | USB recovery timing override |
| `LESAVKA_USB_RECOVERY_CYCLE_WAIT_MS` | USB recovery timing override |
| `LESAVKA_USB_RECOVERY_FINAL_WAIT_MS` | USB recovery timing override |
| `LESAVKA_USB_RECOVERY_REBUILD_WAIT_MS` | USB recovery timing override |
| `LESAVKA_UVC_APP_BLOCK` | server hardware/device override |
| `LESAVKA_UVC_BLOCKING` | server hardware/device override |
| `LESAVKA_UVC_BULK` | server hardware/device override |
| `LESAVKA_UVC_BY_PATH_ROOT` | server hardware/device override |
| `LESAVKA_UVC_CODEC` | server hardware/device override |
| `LESAVKA_UVC_CTRL_BIN` | server hardware/device override |
| `LESAVKA_UVC_CTRL_INTF` | server hardware/device override |
| `LESAVKA_UVC_CTRL_LEN` | server hardware/device override |
| `LESAVKA_UVC_DEBUG` | server hardware/device override |
| `LESAVKA_UVC_DEV` | server hardware/device override |
| `LESAVKA_UVC_DISABLE_IRQ` | server hardware/device override |
| `LESAVKA_UVC_EXTERNAL` | server hardware/device override |
| `LESAVKA_UVC_FALLBACK` | server hardware/device override |
| `LESAVKA_UVC_FPS` | server hardware/device override |
| `LESAVKA_UVC_FRAME_SIZE` | server hardware/device override |
| `LESAVKA_UVC_HEIGHT` | server hardware/device override |
| `LESAVKA_UVC_INTERVAL` | server hardware/device override |
| `LESAVKA_UVC_LIMIT_PCT` | server hardware/device override |
| `LESAVKA_UVC_MAXBURST` | server hardware/device override |
| `LESAVKA_UVC_MAXPACKET` | server hardware/device override |
| `LESAVKA_UVC_MAXPAYLOAD_LIMIT` | server hardware/device override |
| `LESAVKA_UVC_MJPEG` | server hardware/device override |
| `LESAVKA_UVC_SKIP_UDEV` | server hardware/device override |
| `LESAVKA_UVC_STREAMING_INTERVAL` | server hardware/device override |
| `LESAVKA_UVC_STREAM_INTF` | server hardware/device override |
| `LESAVKA_UVC_WIDTH` | server hardware/device override |
| `LESAVKA_VIDEO_MAX_KBIT` | eye preview/video transport override |
| `LESAVKA_VIDEO_QUEUE` | eye preview/video transport override |
| `LESAVKA_VIEW_MODE` | launcher UI/runtime override |
