From f8b749ca2f97961d82c28ef29e9be352d004f175 Mon Sep 17 00:00:00 2001 From: Charles Madjeri <80175305+charlesmadjeri@users.noreply.github.com> Date: Sun, 5 Jul 2026 01:39:11 +0200 Subject: [PATCH] feat(inmoov_urdf): set NVIDIA EGL/GLX env for gz sim on Jetson --- launch/gazebo.launch.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/launch/gazebo.launch.py b/launch/gazebo.launch.py index 77e37c7..2f30a76 100644 --- a/launch/gazebo.launch.py +++ b/launch/gazebo.launch.py @@ -228,6 +228,22 @@ def _camera_compressor(topic: str, compressed_topic: str) -> Node: [s for s in [os.environ.get("GZ_SIM_SYSTEM_PLUGIN_PATH", ""), ros_lib] if s] ).strip(os.pathsep) + gpu_env_actions = [ + SetEnvironmentVariable(name="XDG_RUNTIME_DIR", value="/tmp/runtime-root"), + ] + if os.environ.get("LUCY_GPU_MODE", "").lower() in ("jetson", "nvidia"): + gpu_env_actions.extend( + [ + SetEnvironmentVariable( + name="__EGL_VENDOR_LIBRARY_FILENAMES", + value="/usr/share/glvnd/egl_vendor.d/10_nvidia.json", + ), + SetEnvironmentVariable( + name="__GLX_VENDOR_LIBRARY_NAME", value="nvidia" + ), + ] + ) + try: gz_sim_share = get_package_share_directory("ros_gz_sim") gz_sim_launch_path = os.path.join(gz_sim_share, "launch", "gz_sim.launch.py") @@ -308,6 +324,7 @@ def spawner_actions_from_yaml(context, *args, **kwargs): urdf_path_arg, ros2_control_file_arg, headless_arg, + *gpu_env_actions, SetEnvironmentVariable(name="GZ_SIM_RESOURCE_PATH", value=mesh_dae), SetEnvironmentVariable( name="GZ_SIM_SYSTEM_PLUGIN_PATH", value=gz_plugin_path