Compiling UsdView for Apple Silicon

The recent 22.08 release of Pixar's USD platform is great news for Apple Silicon users. Native builds are now much more straightforward to compile, and crucially, the UsdView app runs properly on M1 and M2 chips for the first time.

Here is the familiar Kitchen Set asset displayed using the newly Metal-optimised Storm render delegate.

Pixar's Kitchen Set rendered with the Metal-optimised Storm render delegate.

The UsdView application is a wonderful diagnostic tool for previewing, understanding and debugging USD files. It's an essential app that I've missed since switching away from Intel machines.

In truth, the Apple Silicon transition, coupled with the switch from OpenGL to Metal, has been slow in regards to the whole USD ecosystem. The change log points out that there is still more work to be done on this front, but positive progress has been made this year.

Tales from the script

If you are interested in trying out the updates, compiling native USD is now as simple as cloning the USD repository and running the provided build script.

python3 USD/build_scripts/build_usd.py /opt/local/USD

There is a new dependency on PySide6. This is easily installed via pip if required.

pip3 install pyside6

Finally, update PYTHONPATH and PATH environment variables when requested by the terminal script. It should now be possible to launch UsdView from the terminal to preview a file.

usdview filename.usd

A USDZ model rendered with the Metal-optimised Storm render delegate.

This obviously works for .usdz files too and offers a much-improved experience over Apple's built in tools such as Quick Look and Xcode.