Skip to content

fix(pixi): enable Gazebo ogre2 rendering on Jetson via host GL env - #44

Open
charlesmadjeri wants to merge 2 commits into
cma/fix-pixi-refactofrom
cma/fix-pixi-jetson-gpu
Open

fix(pixi): enable Gazebo ogre2 rendering on Jetson via host GL env#44
charlesmadjeri wants to merge 2 commits into
cma/fix-pixi-refactofrom
cma/fix-pixi-jetson-gpu

Conversation

@charlesmadjeri

Copy link
Copy Markdown
Contributor

Summary

Fixes Gazebo Harmonic headless/GUI sim on Jetson where ogre2 failed to load (gz-rendering-ogre2 not found) and EGL rendering segfaulted. Pixi’s conda Mesa/GLVND was shadowing the Tegra driver, and GZ_RENDERING_* paths were unset.

Changes

  • Host GL (scripts/nix_gl_env.sh) — Auto-detect Jetson, prepend nvidia/tegra libs, set NVIDIA EGL vendor (LUCY_GPU_MODE=jetson only; no nvidia alias).
  • Gazebo rendering pathsscripts/gz_rendering_env.sh discovers ogre2 plugin/resources dynamically; wired into Linux pixi activation (with install/setup.bash preserved).
  • Shared detectionscripts/detect_jetson.sh + tests in tests/test_jetson_platform.py.
  • GUI toolsrqt / lucy-cli routed via scripts/pixi_gui_launch.sh so they get host GL env.
  • Launcher — Forwards LUCY_GPU_MODE, GZ_RENDERING_*, LUCY_HEADLESS_RUNTIME_DIR; asserts nix_gl_env.sh is sourced for ros2 commands.
  • Docs — Jetson setup notes in developer guide and pixi_setup.md.

Prepend Tegra/NVIDIA libraries ahead of conda Mesa, discover gz-rendering
paths dynamically on Linux, and share Jetson detection between shell and
Python. Headless EGL uses a private runtime dir; GUI sim keeps the session
XDG_RUNTIME_DIR. Route rqt/lucy-cli through pixi_gui_launch.sh.
@charlesmadjeri charlesmadjeri self-assigned this Aug 31, 2026
Signed-off-by: Charles Madjeri <80175305+charlesmadjeri@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant