MoonRay plugin for Blender

The MoonRay repository contains multiple submodules all with their own CMakeLists.txt, I was able to dive into all of them and remove the non-monolithic links.

I then got a bunch of library issues with MaterialX, OpenSubdiv, OpenEXR, etc.

I added the blender library path to LD_LIBRARY_PATH and rebuilt. I get to about 53% and this error is thrown.

ERROR: Found RDL2 DSO ‘/home/hoske/.mfb/build/moonray/moonshine_usd/dso/geometry/UsdInstance//UsdInstanceGeometry.so.proxy’, but failed to dlopen() it: /home/hoske/software/blender/blender-4.1.0-linux-x64/lib/libboost_python311.so.1.82.0: undefined symbol: PyExc_ValueError

Not entirely sure why Its not recognizing any of the python symbols.

{
    "version": 4,
    "configurePresets": [
        {
            "name": "linux-blender-environment",
            "hidden": true,
            "environment": {
                "DEPS_ROOT": "${sourceParentDir}/dependencies",
                "BUILD_DIR": "${sourceParentDir}/build",
                "BLENDER_DIR": "$env{HOME}/programming/blender-git/blender",
                "BOOST_ROOT": "$env{BLENDER_DIR}/lib/linux_x64/boost",
                "LIBUUID_ROOT": "$env{DEPS_ROOT}",
                "CPPUNIT_ROOT": "$env{DEPS_ROOT}",
                "ISPC": "$env{DEPS_ROOT}/bin/ispc",
                "JSONCPP_ROOT": "$env{DEPS_ROOT}",
                "LIBCURL_ROOT": "$env{DEPS_ROOT}",
                "LOG4CPLUS_ROOT": "$env{DEPS_ROOT}",
                "LUA_DIR": "$env{DEPS_ROOT}",
                "OPENSUBDIV_ROOT": "$env{BLENDER_DIR}/lib/linux_x64/opensubdiv",
                "OPENVDB_ROOT": "$env{BLENDER_DIR}/lib/linux_x64/openvdb",
                "OPTIX_ROOT": "$env{DEPS_ROOT}/optix",
                "PXR_USD_LOCATION": "$env{DEPS_ROOT}/usd",
                "PXR_INCLUDE_DIRS": "$env{DEPS_ROOT}/usd/include",
                "PYTHON_INCLUDE_DIRS":"$env{BLENDER_DIR}/lib/linux_x64/python/include/python3.11",
                "Python_LIBRARY": "$env{BLENDER_DIR}/lib/linux_x64/python/lib",
                "RANDOM123_ROOT": "$env{DEPS_ROOT}",
                "ZLIB_ROOT": "$env{DEPS_ROOT}"
            },
            "cacheVariables": {
                "CMAKE_PREFIX_PATH": "$env{DEPS_ROOT};$env{BLENDER_DIR}/lib/linux_x64"            
            }
        },
        {
            "name": "linux-blender-release",
            "displayName": "Blender Linux Release",
            "inherits": "linux-blender-environment",
            "binaryDir": "$env{BUILD_DIR}",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "CMAKE_INSTALL_PREFIX": "${sourceParentDir}/installs/blender/linux-release",
                "ABI_VERSION":"0",
                "BOOST_PYTHON_COMPONENT_NAME":"python311"
            },
            "generator": "Unix Makefiles"
        }
    ],
    "buildPresets": [
        {
            "name": "linux-blender-release",
            "displayName": "Blender Linux Release",
            "configurePreset": "linux-blender-release",
            "configuration": "Release",
            "targets": ["install"]
        }
    ]
}

This is the CMakePresets.json

Found the problem! I wasn’t including the python library from blender.

Moonray builds!

I startup blender with the plugin, go to render view, and…

2024-08-28T22:35:05.665 D client[268713]:process exit monitor: [a1735e77-b946-45d6-af5e-97c67d560b4a]: {trace:comp} exit 764e0634-0a20-44dd-a887-09475947c307 6
Error: Arras session stopped, compExited: mcrt failed to load the computation dso
Error: Failed to create an Arras session (retry 1): Failed to create local session :Computation failed to connect within timeout
2024-08-28T22:35:25.583 D client[268713]:140582865331584: [58a6c91a-c51e-4f25-a00e-41814212034b]: {trace:comp} launch 4b0b9a59-cd3e-4fb1-9677-91f53cd7179e mcrt
{compLoadError} Computation failed to load : Failed to load computation dso 'libcomputation_progmcrt.so': libboost_iostreams.so.1.82.0: cannot open shared object file: No such file or directory
stderr 
stdout 

The renderer does work in relation to blender, except everything is blank. Once I get the library included it should be smooth sailing

try passing -DBoost_USE_STATIC_LIBS=On to your moonray build to statically link boost

1 Like

I’ve tried statically linking but I think im doing something wrong

libboost_iostreams.so.1.82.0 => not found
libboost_regex.so.1.82.0 => not found
libboost_filesystem.so.1.82.0 => /home/hoske/.mfb/dependencies/bl_deps/boost/lib/libboost_filesystem.so.1.82.0 (0x00007f237f3ad000)
libboost_regex.so.1.82.0 => /home/hoske/.mfb/dependencies/bl_deps/boost/lib/libboost_regex.so.1.82.0 (0x00007f237ebb1000)
libboost_thread.so.1.82.0 => /home/hoske/.mfb/dependencies/bl_deps/boost/lib/libboost_thread.so.1.82.0 (0x00007f237f387000)
libboost_chrono.so.1.82.0 => /home/hoske/.mfb/dependencies/bl_deps/boost/lib/libboost_chrono.so.1.82.0 (0x00007f237ee55000)
libboost_atomic.so.1.82.0 => /home/hoske/.mfb/dependencies/bl_deps/boost/lib/libboost_atomic.so.1.82.0 (0x00007f237ee4a000)

this is the ldd of libcomputation_progmcrt.so

find_package(Boost 1.82 REQUIRED COMPONENTS python311 iostreams regex)

if (Boost_FOUND)
    # Set to use static Boost libraries
    set(Boost_USE_STATIC_LIBS ON)
    set(Boost_USE_MULTITHREADED ON)
    set(Boost_USE_STATIC_RUNTIME OFF)

    message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
    message(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")

    include_directories(${Boost_INCLUDE_DIRS})
    link_libraries(${Boost_LIBRARIES})
else()
    message(FATAL_ERROR "Could not find Boost libraries.")
endif()

This is what i’ve put into a cmake config file. I’m also using the -DBoost_USE_STATIC_LIBS=ON cmake variable for building.

FYI im taking the boost libs from blender, do I need to build boost myself to use it statically?

I see both libboost_regex.so.1.82.0 and libboost_iostreams.so.1.82.0 in my lib folder, odd you’re missing them?

I have them as well, they’re in my lib folder for boost in /home/.mfb/bl_deps/boost/lib. It just seems like MoonRay doesnt recognize them, do I need to include them in my build somehow?

Was able to manually set LD_LIBRARY_PATH inside of my blender code to get the plugin to run, now getting this error.

Coding Error: in _FailGet at line 551 of /src/build_linux/deps/build/usd/src/external_usd/pxr/base/vt/value.cpp -- Attempted to get value of type 'TfToken' from empty VtValue.
Coding Error: in _FailGet at line 551 of /src/build_linux/deps/build/usd/src/external_usd/pxr/base/vt/value.cpp -- Attempted to get value of type 'TfToken' from empty VtValue.
Coding Error: in _FailGet at line 551 of /src/build_linux/deps/build/usd/src/external_usd/pxr/base/vt/value.cpp -- Attempted to get value of type 'TfToken' from empty VtValue.
Coding Error: in _FailGet at line 551 of /src/build_linux/deps/build/usd/src/external_usd/pxr/base/vt/value.cpp -- Attempted to get value of type 'TfToken' from empty VtValue.
2024-08-30T18:46:38.086 D client[42505]:139680440591744: [bce82b79-e4e8-4b19-b7d7-fe295f508047]: {trace:comp} launch d20d48d6-72e0-4b2d-a6fd-00065d06bacb mcrt
{trace:mcrt} version mcrt_computation-(unknown) host cj-rhel
{trace:comp} ready d20d48d6-72e0-4b2d-a6fd-00065d06bacb
2024-08-30T18:46:38.402 D client[42505]:139680440591744: [bce82b79-e4e8-4b19-b7d7-fe295f508047]: {trace:session} clientConnect bce82b79-e4e8-4b19-b7d7-fe295f508047 local arras4_client-???;arras4_core_impl-???;arras4_network-???
{trace:mcrt} stage ready start d20d48d6-72e0-4b2d-a6fd-00065d06bacb
{trace:comp} start d20d48d6-72e0-4b2d-a6fd-00065d06bacb
GlobalNodeInfo HostName {
  mClientHostName:cj-rhel
  mDispatchHostName:
  mMergeHostName: mMergeCpuTotal:0
  mcrt (totalMcrt:1 totalCpu:16) {
    mMachineId:0 mCpuTotal:16 mHostName:cj-rhel
  }
}
Starting Rendering (syncId:1)
{trace:mcrt} stage renderPrep start d20d48d6-72e0-4b2d-a6fd-00065d06bacb 5e7da5db-a6b8-4f79-b096-bcee2f6fc508
2024-08-30T18:46:38.513 E client[42505]:message delivery: [bce82b79-e4e8-4b19-b7d7-fe295f508047]: {clientSocketError} Source read
Error: Source read
2024-08-30T18:46:38.586 D client[42505]:process exit monitor: [bce82b79-e4e8-4b19-b7d7-fe295f508047]: {trace:comp} signal d20d48d6-72e0-4b2d-a6fd-00065d06bacb 11
Error: Arras session stopped, compExited: mcrt exited due to signal 11

Looks as if it’s having trouble converting reading the scene data?

If delete all the objects in the scene I get this in my log

2024-08-30T19:20:24.866 D client[45523]:140627236873600: [b378357c-4157-425c-8015-9f96a7a2a598]: {trace:comp} launch aa504e4c-6de4-4578-aa4f-c07052feb89b mcrt
{trace:mcrt} version mcrt_computation-(unknown) host cj-rhel
{trace:comp} ready aa504e4c-6de4-4578-aa4f-c07052feb89b
2024-08-30T19:20:25.108 D client[45523]:140627236873600: [b378357c-4157-425c-8015-9f96a7a2a598]: {trace:session} clientConnect b378357c-4157-425c-8015-9f96a7a2a598 local arras4_client-???;arras4_core_impl-???;arras4_network-???
{trace:mcrt} stage ready start aa504e4c-6de4-4578-aa4f-c07052feb89b
{trace:comp} start aa504e4c-6de4-4578-aa4f-c07052feb89b
GlobalNodeInfo HostName {
mClientHostName:cj-rhel
mDispatchHostName:
mMergeHostName: mMergeCpuTotal:0
mcrt (totalMcrt:1 totalCpu:16) {
mMachineId:0 mCpuTotal:16 mHostName:cj-rhel
}
}
Starting Rendering (syncId:1)
{trace:mcrt} stage renderPrep start aa504e4c-6de4-4578-aa4f-c07052feb89b 02108a75-cd8a-4400-b44e-70c2a9682318
Render prep time = 00:00:00.230
{trace:mcrt} stage shading start 0.00567062 aa504e4c-6de4-4578-aa4f-c07052feb89b 02108a75-cd8a-4400-b44e-70c2a9682318
{trace:mcrt} stage shading complete 1 aa504e4c-6de4-4578-aa4f-c07052feb89b 02108a75-cd8a-4400-b44e-70c2a9682318
stdout 00:00:12 1.0 GB | ---------- Time ------------------------------------------
stdout 00:00:12 1.0 GB | Render time = 00:00:12.038000
stdout 00:00:12 1.0 GB | Total time = 00:00:12.312000

No errors! However, the blender viewport is the default grey with wireframe. It looks as is nothing is being displayed.

Was able to obtain the .rdla and .rdlb scene data for the viewport. When trying to run it with a standard moonray_gui command, I get the error:

SIGSEGV(segfault) callstack
librendering_mcrt_common.so(_ZN7moonray11mcrt_common19debugPrintCallstackEPKc+0x72) [0x7fdc626e1522]
 libapplication.so(_ZN7moonray17stackTraceHandlerEi+0xbc) [0x7fdc633da28c]
  libc.so.6(+0x3e6f0) [0x7fdc4d43e6f0]
   libc.so.6(free+0x1e) [0x7fdc4d499cfe]
    libOpenImageIO_Util.so.2.3(_ZN16OpenImageIO_v2_310Filesystem12is_directoryENS_11string_viewE+0xca) [0x7fdc55480aaa]
     libOpenImageIO_Util.so.2.3(_ZN16OpenImageIO_v2_310Filesystem16searchpath_splitB5cxx11ENS_11string_viewEb+0x11a) [0x7fdc55483c7a]
      libOpenImageIO_Util.so.2.3(_ZN16OpenImageIO_v2_310Filesystem16searchpath_splitERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt6vectorIS6_SaIS6_EEb+0x2d) [0x7fdc55483d7d]
       libOpenImageIO.so.2.3(_ZN16OpenImageIO_v2_33pvt19catalog_all_pluginsENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x120) [0x7fdc54652fe0]
        libOpenImageIO.so.2.3(_ZN16OpenImageIO_v2_310ImageInput6createENS_11string_viewEbPKNS_9ImageSpecEPNS_10Filesystem7IOProxyES1_+0x6ad) [0x7fdc54650bdd]
         libOpenImageIO.so.2.3(_ZN16OpenImageIO_v2_310ImageInput4openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKNS_9ImageSpecEPNS_10Filesystem7IOProxyE+0x2a6) [0x7fdc54639346]
          librendering_pbr.so(_ZN7moonray3pbr17ImageDistribution4initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_14Distribution2D7MappingERKN10scene_rdl24math5ColorESG_SG_SG_SG_RKNSD_4Vec3IfEEfRKNSD_4Vec2IfEESO_ffbbSG_+0xca) [0x7fdc566df61a]
           librendering_pbr.so(_ZN7moonray3pbr5Light14updateImageMapENS0_14Distribution2D7MappingE+0x221) [0x7fdc56756c31]
            librendering_pbr.so(_ZN7moonray3pbr8EnvLight6updateERKN10scene_rdl24math4Mat4INS3_4Vec4IdEEEE+0x97d) [0x7fdc567528bd]
             librendering_pbr.so(_ZN7moonray3pbr5Scene15updateLightListEv+0x406) [0x7fdc566f8556]
              librendering_pbr.so(_ZN7moonray3pbr5Scene8preFrameERKNS0_9LightAovsENS_11mcrt_common13ExecutionModeERNS_2rt15GeometryManagerEbRNS_4rndr11RenderStatsE+0xab) [0x7fdc566fac5b]
               librendering_rndr.so(_ZN7moonray4rndr13RenderContext10renderPrepEb+0x539) [0x7fdc629224a9]
                librendering_rndr.so(_ZN7moonray4rndr13RenderContext10startFrameEv+0x372) [0x7fdc62922e52]
                 moonray_gui() [0x44ef39]
                  moonray_gui() [0x42330f]
                   libc.so.6(+0x89c02) [0x7fdc4d489c02]

Aborted (core dumped)

I then dove into the .rdla data and removed a couple line to see what would happen. After removing,

EnvLight("/scene/World") {
    ["node_xform"] = blur(Mat4(2.2204460492503131e-16, 1, 0, 0, -2.2204460492503131e-16, 4.9303806576313238e-32, 1, 0, 1, -2.2204460492503131e-16, 2.2204460492503131e-16, 0, 0, 0, 0, 1), Mat4(2.2204460492503131e-16, 1, 0, 0, -2.2204460492503131e-16, 4.9303806576313238e-32, 1, 0, 1, -2.2204460492503131e-16, 2.2204460492503131e-16, 0, 0, 0, 0, 1)),
    ["color"] = Rgb(0.0508760884, 0.0508760884, 0.0508760884),
    ["exposure"] = 1,
    ["texture"] = "/tmp/blender_HscBPO/hydra/image_cache/color_121212.hdr",
}

The scene would render correctly in moonray_gui. I looked for the hdr texture in my tmp directory and found it.

There seems to be an issue with how its loading textures into the renderer.

MoonRay, I believe, is one of those renderers where they’re extremely opinionated on the types of images used for rendering. Namely they’re going to want everything run through maketx first for pre-processing into the type of images they like [1].

So something relatively easy to try is to use a “real” EXR for the World Material in Blender BUT run that EXR through maketx first. Something like: maketx your_hdri.exr -o new_hdri.exr and try using new_hdri.exr and see if that helps.

[1] usd_mipmap_images

Sadly that doesn’t fix the bug I’m getting with rendering the .rdla scene, but that should work great with the .rdla/.rdlb export button.

Found that the problem was with how I was combining the CMake build of OpenImageIO with the Blender OpenImageIO libraries. After a couple hours of getting builds to work, MoonRay now renders scenes - just not inside the viewport.

All the moonray logs are saying everything is rendering perfectly fine, and I can render out the scene with the external command line renderer, it’s just not showing the image in blender.

The only error that blender gives when rendering is:

Coding Error: in _FailGet at line 551 of /src/build_linux/deps/build/usd/src/external_usd/pxr/base/vt/value.cpp -- Attempted to get value of type 'TfToken' from empty VtValue.

But i don’t think that’s whats causing the issue?

3 Likes

Managed to build Moonray using Blender 4.2.1 libraries. Im now getting a crash when I try to enter the render context.

# Blender 4.2.1, Commit date: 2024-08-19 11:21, Hash 396f546c9d82
bpy.context.space_data.shading.type = 'RENDERED'  # Property
bpy.context.space_data.context = 'RENDER'  # Property
bpy.context.scene.render.engine = 'MOONRAY'  # Property

# backtrace
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0xf3d720]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x84310f]
/lib64/libc.so.6(+0x3e6f0) [0x7fe42aa3e6f0]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x189b03a]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x245ae5c]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x2465502]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x245d159]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x24650fe]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x244ec1f]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x244f1e5]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x1e47f52]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x7b9ef0]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender(_PyObject_MakeTpCall+0x75) [0x793575]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender(_PyEval_EvalFrameDefault+0x8b10) [0x7f5e70]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x7ec807]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x1613d2e]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x1560e96]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x1202335]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x113fb42]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x113fff7]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x20d74e5]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x16323a7]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0xf89ec2]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0xf85270]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x72f234]
/lib64/libc.so.6(+0x29590) [0x7fe42aa29590]
/lib64/libc.so.6(__libc_start_main+0x80) [0x7fe42aa29640]
/home/hoske/software/blender/blender-4.2.1-linux-x64/blender() [0x83e9ae]

# Python backtrace
  File "/home/hoske/software/blender/blender-4.2.1-linux-x64/4.2/scripts/modules/bpy_types.py", line 1387 in view_update

Is it something to do with how im writing my HydraRenderEngine? There’s not much documentation online on how to properly set it up.

import bpy, os

class MoonRayRenderEngine(bpy.types.HydraRenderEngine):
    bl_idname = "MOONRAY"
    bl_label = "MoonRay"
    bl_info = "Dreamworks' MoonRay Production Renderer integration"

    bl_use_preview = False
    bl_use_gpu_context = False
    bl_use_materialx = False

    bl_delegate_id = "HdMoonrayRendererPlugin"

    @classmethod
    def register(cls):
        import pxr.Plug
        rel = os.path.join(os.path.expanduser("~"), ".mfb","installs","openmoonray")
        
        os.environ["REL"] = rel
        
        # Set other environment variables using the expanded `REL` path
        os.environ["RDL2_DSO_PATH"] = os.path.join(rel, "rdl2dso.proxy") + ":" + os.path.join(rel, "rdl2dso")
        os.environ['ARRAS_SESSION_PATH'] = os.path.join(rel, "sessions")
        os.environ["MOONRAY_CLASS_PATH"] = os.path.join(rel, "shader_json")

        # Update PATH and PXR_PLUGINPATH_NAME by expanding the current environment variables
        os.environ["PATH"] = os.path.join(rel, "bin") + ":" + os.environ.get("PATH", "")
        
        os.environ["PXR_PLUGINPATH_NAME"] = os.path.join(rel, "plugin", "usd") + ":" + os.environ.get("PXR_PLUGINPATH_NAME", "")
        
        #os.environ["HDMOONRAY_DEBUG_MODE"] = "1"
        #os.environ["HDMOONRAY_DEBUG"] = "1"
        #os.environ["HDMOONRAY_INFO"] = "1"
        #os.environ["HDMOONRAY_DISABLE"]="0"
        #os.environ["HDMOONRAY_RDLA_OUTPUT"]="temp"

        pxr.Plug.Registry().RegisterPlugins([os.path.join(rel, "plugin", "pxr")])


    def get_render_settings(self, engine_type):
        settings = bpy.context.scene.moonray

        result = {}

        if engine_type != "VIEWPORT":
            result |= {
                'aovToken:Combined': "color",
                'aovToken:Depth': "depth",
            }

        return result
    
    def update_render_passes(self, scene, render_layer):
        if render_layer.use_pass_z:
            self.register_pass(scene, render_layer, 'Depth', 1, 'Z', 'VALUE')

    def update(self, data, depsgraph):
        super().update(data, depsgraph)


def register():
    bpy.utils.register_class(MoonRayRenderEngine)

def unregister():
    bpy.utils.unregister_class(MoonRayRenderEngine)

Hey all! Just wanted to bring this back into the light. I’m still lost in how to stop blender from crashing when I try and open the render view with Moonray.

I’ve managed to stop Moonray from crashing, it claims to render but my viewport isn’t showing anything (not black, just everything grey).

Can someone whos working on the USD/Hydra/HdStorm side of things explain how Blender is supposed to be sending render settings and getting render passes? As well as how it’s meant to update the view.

3 Likes

This is currently what I’m getting in the terminal and in Blender.

3 Likes

@DagerD may be able to help if they’re still around…

Does a F12 “final” render happen to work? That would determine if it’s only the viewport integration piece that’s not working or something deeper still.

Is there anything instructive that comes from running blender with --log "hydra.render" --log-level 5 command line args?

F12 sadly doesnt work, all I get is a transparent image.

Running with logging gives me this

INFO (hydra.render): source/blender/render/hydra/python.cc:42 engine_create_func: Engine VIEWPORT
INFO (hydra.render): source/blender/render/hydra/render_task_delegate.cc:33 RenderTaskDelegate: /renderTask/task
INFO (hydra.render): source/blender/render/hydra/python.cc:59 engine_create_func: Engine 0x7f878c442ea0
INFO (hydra.render): source/blender/render/hydra/python.cc:88 engine_update_func: Engine 0x7f878c442ea0
INFO (hydra.render): source/blender/render/hydra/python.cc:161 engine_set_render_setting_func: Engine 0x7f878c442ea0: aovToken:Combined
INFO (hydra.render): source/blender/render/hydra/python.cc:161 engine_set_render_setting_func: Engine 0x7f878c442ea0: aovToken:Depth
INFO (hydra.render): source/blender/render/hydra/python.cc:123 engine_view_draw_func: Engine 0x7f878c442ea0
INFO (hydra.render): source/blender/render/hydra/render_task_delegate.cc:255 add_aov: color
INFO (hydra.render): source/blender/render/hydra/render_task_delegate.cc:255 add_aov: depth
INFO (hydra.render): source/blender/render/hydra/render_task_delegate.cc:316 bind: bind
Coding Error: in _FailGet at line 518 of /src/build_linux/deps/build/usd/src/external_usd/pxr/base/vt/value.cpp -- Attempted to get value of type 'TfToken' from empty VtValue.
Coding Error: in _FailGet at line 518 of /src/build_linux/deps/build/usd/src/external_usd/pxr/base/vt/value.cpp -- Attempted to get value of type 'TfToken' from empty VtValue.
Coding Error: in _FailGet at line 518 of /src/build_linux/deps/build/usd/src/external_usd/pxr/base/vt/value.cpp -- Attempted to get value of type 'TfToken' from empty VtValue.
Coding Error: in _FailGet at line 518 of /src/build_linux/deps/build/usd/src/external_usd/pxr/base/vt/value.cpp -- Attempted to get value of type 'TfToken' from empty VtValue.
INFO (hydra.render): source/blender/render/hydra/render_task_delegate.cc:38 Get: /renderTask/task, collection
INFO (hydra.render): source/blender/render/hydra/render_task_delegate.cc:38 Get: /renderTask/task, params
INFO (hydra.render): source/blender/render/hydra/render_task_delegate.cc:52 GetTaskRenderTags: /renderTask/task

Is the TfToken/VtValue causing the problem?

Unsure if those errors are the cause, but they’re probably not helping. The Hydra Storm render plugin that comes with Blender doesn’t show those particular errors. The last thing I have in mind to try is the following:

Set some USD debug flags: export TF_DEBUG="HD* TF_LOG_STACK_TRACE_ON_ERROR"
Use following blender command line args: --log "hydra.*" --log-level 5

Redirect stdout+stderr to a file and then comb through it :-/ Compare with the Hydra Storm plugin output if necessary. USD will try to write a stack trace file to tmp or similar; the path will be in the log and maybe that will help narrow in on the problem(s) further.