| set -euo pipefail | |
| ROOT="${1:-/workspace}" | |
| DISPLAY_NUM="${DISPLAY_NUM:-99}" | |
| MINIFORGE_DIR="${ROOT}/miniforge3" | |
| ENV_PREFIX="${MINIFORGE_DIR}/envs/rlbench" | |
| source "${MINIFORGE_DIR}/etc/profile.d/conda.sh" | |
| conda activate "${ENV_PREFIX}" | |
| export DISPLAY=":${DISPLAY_NUM}" | |
| export COPPELIASIM_ROOT="${ROOT}/coppelia_sim" | |
| export LD_LIBRARY_PATH="${COPPELIASIM_ROOT}:${LD_LIBRARY_PATH:-}" | |
| export QT_QPA_PLATFORM_PLUGIN_PATH="${COPPELIASIM_ROOT}" | |
| export XDG_RUNTIME_DIR="/tmp/runtime-root" | |
| export PYTHONPATH="${ROOT}/rlbench:${ROOT}/pyrep:${ROOT}/yarr:${ROOT}/peract_bimanual:${PYTHONPATH:-}" | |
| mkdir -p "${XDG_RUNTIME_DIR}" | |
| if ! pgrep -f "Xvfb :${DISPLAY_NUM}" >/dev/null 2>&1; then | |
| Xvfb ":${DISPLAY_NUM}" -screen 0 1280x1024x24 +extension GLX +render -noreset >/tmp/xvfb_${DISPLAY_NUM}.log 2>&1 & | |
| sleep 1 | |
| fi | |
| echo "Activated rlbench runtime on DISPLAY=${DISPLAY}" | |