From 072f49211b48f5596c4f2cc877a997960713bcc0 Mon Sep 17 00:00:00 2001 From: Anil Zeybek Date: Fri, 26 Dec 2025 17:35:50 +0100 Subject: [PATCH 1/3] use EGL for headless GPU rendering in libero example --- examples/libero/Dockerfile | 3 +++ examples/libero/compose.yml | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/libero/Dockerfile b/examples/libero/Dockerfile index 9750796a2c..e7ff54691d 100644 --- a/examples/libero/Dockerfile +++ b/examples/libero/Dockerfile @@ -16,6 +16,7 @@ RUN apt-get update && \ clang \ libosmesa6-dev \ libgl1-mesa-glx \ + libegl1 \ libglew-dev \ libglfw3-dev \ libgles2-mesa-dev \ @@ -56,4 +57,6 @@ datasets: /app/third_party/libero/libero/datasets assets: /app/third_party/libero/libero/libero/assets EOF +RUN mkdir -p /usr/share/glvnd/egl_vendor.d && echo '{"file_format_version" : "1.0.0", "ICD" : { "library_path" : "libEGL_nvidia.so.0" }}' > /usr/share/glvnd/egl_vendor.d/10_nvidia.json + CMD ["/bin/bash", "-c", "source /.venv/bin/activate && python examples/libero/main.py $CLIENT_ARGS"] diff --git a/examples/libero/compose.yml b/examples/libero/compose.yml index 3498ce5207..06cd021cd4 100644 --- a/examples/libero/compose.yml +++ b/examples/libero/compose.yml @@ -11,15 +11,15 @@ services: init: true tty: true network_mode: host - privileged: true volumes: - $PWD:/app - ../../data:/data - - /tmp/.X11-unix:/tmp/.X11-unix:ro environment: - CLIENT_ARGS - - DISPLAY=$DISPLAY - MUJOCO_GL=${MUJOCO_GL:-egl} + - MUJOCO_EGL_DEVICE_ID=0 + - NVIDIA_DRIVER_CAPABILITIES=all + - PYOPENGL_PLATFORM=egl deploy: resources: reservations: From 7d0fcddb742cd130cf993bec48b724983022be6c Mon Sep 17 00:00:00 2001 From: Anil Zeybek Date: Fri, 26 Dec 2025 22:03:48 +0100 Subject: [PATCH 2/3] bring rendering-related params back --- examples/libero/compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/libero/compose.yml b/examples/libero/compose.yml index 06cd021cd4..e1bc33a980 100644 --- a/examples/libero/compose.yml +++ b/examples/libero/compose.yml @@ -14,8 +14,10 @@ services: volumes: - $PWD:/app - ../../data:/data + - /tmp/.X11-unix:/tmp/.X11-unix:ro environment: - CLIENT_ARGS + - DISPLAY=$DISPLAY - MUJOCO_GL=${MUJOCO_GL:-egl} - MUJOCO_EGL_DEVICE_ID=0 - NVIDIA_DRIVER_CAPABILITIES=all From 75db10ce79811afc528be82b1c44ba3162034fa1 Mon Sep 17 00:00:00 2001 From: Anil Zeybek Date: Sat, 27 Dec 2025 12:18:22 +0100 Subject: [PATCH 3/3] bring privileged param back --- examples/libero/compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/libero/compose.yml b/examples/libero/compose.yml index e1bc33a980..253f196057 100644 --- a/examples/libero/compose.yml +++ b/examples/libero/compose.yml @@ -11,6 +11,7 @@ services: init: true tty: true network_mode: host + privileged: true volumes: - $PWD:/app - ../../data:/data