Skip to content

Improve Filament Studio source builds#3252

Open
devshahofficial wants to merge 1 commit intogoogle-deepmind:mainfrom
devshahofficial:devshahofficial/studio-filament-source-build
Open

Improve Filament Studio source builds#3252
devshahofficial wants to merge 1 commit intogoogle-deepmind:mainfrom
devshahofficial:devshahofficial/studio-filament-source-build

Conversation

@devshahofficial
Copy link
Copy Markdown
Contributor

@devshahofficial devshahofficial commented May 1, 2026

Summary

This draft improves the experimental Studio + Filament source-build path in two ways:

  • prevents Filament's Abseil lookup from discovering unrelated package-manager CMake configs after MuJoCo has already fetched Abseil
  • documents a minimal isolated Studio build/run flow, including macOS runtime expectations and troubleshooting for conflicting CMake package prefixes

Motivation

While validating mujoco_studio with MUJOCO_USE_FILAMENT=ON, configure can fail on machines with ambient package-manager CMake configs, for example an Anaconda-provided abslConfig.cmake. Filament's FILAMENT_USE_EXTERNAL_ABSL path calls find_package(absl), which can collide with the Abseil targets already created by MuJoCo's fetched dependency.

This keeps the Filament fetch isolated from unrelated Abseil package configs, while preserving any pre-existing CMAKE_DISABLE_FIND_PACKAGE_absl value after Filament is configured.

Validation

  • git diff --check
  • fresh CMake configure of Studio + Filament without manually passing -DCMAKE_DISABLE_FIND_PACKAGE_absl=TRUE
  • cmake --build build-studio-filament-eval --target mujoco_studio --parallel $(sysctl -n hw.logicalcpu)
  • local runtime smoke test:
    • ./mujoco_studio --gfx=opengl --model_file=/tmp/mujoco_go2_demo/unitree_go2/scene_filament_open_assets_showcase.xml
    • runtime log: FEngine resolved backend: OpenGL
    • platform log: Apple M3 Pro, OpenGL reported through Apple's Metal-backed OpenGL layer

Screenshot from the local smoke test:

MuJoCo Studio Filament Go2 smoke test

Related context

Tagging a few people from the surrounding Filament/Studio discussion for visibility:

Notes

The Go2 / Filament sample-asset scene used for the runtime smoke test is local-only and not included in this PR.

@devshahofficial
Copy link
Copy Markdown
Contributor Author

Keeping this PR focused on the Studio source-build path. I opened a separate stacked draft for the packaging/runtime follow-up pieces: generated Filament assets in install/wheels, default runtime asset lookup, and a small renderer identity query surfaced through Python.

Follow-up draft: #3254

That follow-up is still draft because full wheel artifact verification is pending, but I smoke-tested Studio with a Go2 scene on macOS and verified the MJR-compat build exports mjr_getRenderer() returning filament.

@devshahofficial devshahofficial marked this pull request as ready for review May 5, 2026 18:44
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