Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-107567

"Unable to find renderer plugin for rhi" without Qt Shader Tools installed

    XMLWordPrintable

Details

    • macOS
    • 18b7107a84 (qtsdk/tqtc-qtsdk/master)

    Description

      1. Install Additional Libraries/Qt3D via the maintenance tool
      2. Run a Qt3D example, for example lights
      3. The application prints Unable to find renderer plugin for rhi and quits.

      With QT_DEBUG_PLUGINS=1 the following is revealed:

      qt.core.plugin.factoryloader: checking directory path "/Users/frosch/Qt/6.4.0/macos/plugins/renderers" ...
      qt.core.plugin.factoryloader: looking at "/Users/frosch/Qt/6.4.0/macos/plugins/renderers/librhirenderer.dylib"
      qt.core.plugin.loader: Found metadata in lib /Users/frosch/Qt/6.4.0/macos/plugins/renderers/librhirenderer.dylib, metadata=
      {
          "IID": "org.qt-project.Qt3DRender.QRendererFactoryInterface 5.11",
          "MetaData": {
              "Keys": [
                  "rhi"
              ]
          },
          "archlevel": 0,
          "className": "RhiRendererPlugin",
          "debug": false,
          "version": 394240
      }
      
      
      qt.core.plugin.factoryloader: Got keys from plugin meta data QList("rhi")
      qt.core.plugin.factoryloader: looking at "/Users/frosch/Qt/6.4.0/macos/plugins/renderers/libopenglrenderer.dylib"
      qt.core.plugin.loader: Found metadata in lib /Users/frosch/Qt/6.4.0/macos/plugins/renderers/libopenglrenderer.dylib, metadata=
      {
          "IID": "org.qt-project.Qt3DRender.QRendererFactoryInterface 5.11",
          "MetaData": {
              "Keys": [
                  "opengl"
              ]
          },
          "archlevel": 0,
          "className": "OpenGLRendererPlugin",
          "debug": false,
          "version": 394240
      }
      
      
      qt.core.plugin.factoryloader: Got keys from plugin meta data QList("opengl")
      qt.core.plugin.factoryloader: checking directory path "/Users/frosch/Qt/Examples/Qt-6.4.0/qt3d/build-lights-Qt_6_4_0_for_macOS-Debug/lights.app/Contents/MacOS/renderers" ...
      qt.core.library: "/Users/frosch/Qt/6.4.0/macos/plugins/renderers/librhirenderer.dylib" cannot load: Cannot load library /Users/frosch/Qt/6.4.0/macos/plugins/renderers/librhirenderer.dylib: (dlopen(/Users/frosch/Qt/6.4.0/macos/plugins/renderers/librhirenderer.dylib, 0x0085): Library not loaded: '@rpath/QtShaderTools.framework/Versions/A/QtShaderTools'
        Referenced from: '/Users/frosch/Qt/6.4.0/macos/plugins/renderers/librhirenderer.dylib'
        Reason: tried: '/Users/frosch/Qt/6.4.0/macos/lib/Qt3DQuickExtras.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/Qt3DQuick.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/QtQuick.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/QtQmlModels.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/QtQml.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/Qt3DExtras.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/Qt3DInput.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/Qt3DLogic.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/Qt3DRender.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/Qt3DCore.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/QtConcurrent.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/QtNetwork.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/QtOpenGL.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/QtGui.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/QtCore.framework/Versions/A/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/Examples/Qt-6.4.0/qt3d/build-lights-Qt_6_4_0_for_macOS-Debug/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/plugins/renderers/../../lib/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/plugins/renderers/../../lib/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/QtCore.framework/Versions/A/../../../QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Users/frosch/Qt/6.4.0/macos/lib/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/Library/Frameworks/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file), '/System/Library/Frameworks/QtShaderTools.framework/Versions/A/QtShaderTools' (no such file))
      

      After installing Qt Shader Tools via the maintenance tool, the renderer can be loaded. I would expect this dependency to be enforced in the installer.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-107567
          # Subject Branch Project Status CR V

          Activity

            People

              janihe Jani Heikkinen
              makummer Marcel Kummer
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes