This page lists every environment variable Eden's code reads or sets, and the ones from the libraries underneath it
that you are most likely to need. Variables that hold a path expect an absolute one unless the entry says
otherwise.
The root that robot, object, scene and policy assets are downloaded into. Must be absolute: a relative path raises a ValueError. Read every time a path is resolved. See Assets.
$XDG_CACHE_HOME/eden/assets, i.e. ~/.cache/eden/assets
EDEN_LOG_THEME
The console theme: agent (plain text, no colors, no greeting box), human (colors) or auto (colors on a terminal). An empty value counts as unset; any other value raises. eden --log-theme and eden.init(logger_theme=...) set it for the process and its children.
agent
EDEN_SMOKE
Smoke mode, in which examples run a few steps headless (en.is_smoke()). Read as a boolean: 0, false and no turn it off, any other non-empty value on. eden examples smoke sets it to 1.
unset (then PYTEST_VERSION decides)
EDEN_RESYNC_DEBUG
1 turns on debug output from the motion manager's motion-end resync.
unset
EDEN_GO1_SDK_PATH
A directory holding an uninstalled build of the Unitree Go1 SDK (robot_interface.*.so), added to sys.path for the Go1 deployment backend.
unset
EDEN_PXREA_SDK_DIR
An extra directory searched for the XRoboToolkit PC Service's shared library, which the PICO SDK module links against. Searched before /opt/apps/roboticsservice/SDK/x64.
The root of Eden's per-user cache ($XDG_CACHE_HOME/eden/): the default asset root, sample clips, processed motion caches and generated meshes.
~/.cache
HF_HOME
Read by huggingface_hub. Moves the Hugging Face cache, where motion datasets are downloaded ($HF_HOME/hub).
~/.cache/huggingface
HF_HUB_OFFLINE
Read by huggingface_hub. 1 makes a missing file fail at once instead of after a network timeout; files already on disk are unaffected.
unset
HF_TOKEN
Read by huggingface_hub. A Hub access token, the same as hf auth login.
unset
QD_OFFLINE_CACHE_FILE_PATH
Read by Quadrants, Genesis' kernel compiler: where compiled kernels are cached. In a multi-GPU run, import eden appends rank_<LOCAL_RANK> to it so that ranks do not contend for one cache lock.
The number of ranks. Above 1, import eden pins each rank to one GPU, and eden.init() sets up NCCL. Default 1.
LOCAL_RANK
The rank's index on its node. import eden uses it to pick the rank's GPU from CUDA_VISIBLE_DEVICES. Default 0.
RANK
The global rank. Default 0.
CUDA_VISIBLE_DEVICES
Read and rewritten by import eden in a multi-GPU run: each rank keeps only its own GPU. A list shorter than the number of ranks on the node raises.
In a multi-GPU run import eden also sets QD_VISIBLE_DEVICE and TI_VISIBLE_DEVICE to the rank's GPU. All of
this happens when eden is imported, which is why eden must be imported before genesis and torch.
The OpenGL platform for offscreen rendering: egl (the default on Linux), osmesa (software rendering), cgl (macOS) or pyglet. Must be set before genesis is imported. When it is unset on a Linux machine with no display and no EGL library, Genesis selects osmesa if it is installed.
Read by Weights & Biases. eden train --logger wandb sets it to --wandb_group (default: the task name) unless it is already set.
Weights & Biases reads its other variables too (WANDB_API_KEY, WANDB_PROJECT, ...); the project defaults to
eden through RslRlOnPolicyRunnerOptions.wandb_project.