title: Qt: Qt 6.1.1 Failed to create vertex shader: Error 0x80070057
body: <p>Guys!
  I'm a new user of qt and I faced a problem with qml. This issue has already been discussed in <a href="https://stackoverflow.com/questions/66513315/failed-to-build-graphics-pipeline-state-in-qt-quick-application">this article</a>, but for python. I write in C ++/Qt 6.1.1, QtCreator 4.15.1 for open source. Help me please.</p>
  <p>Here is the crux of the problem: qml does not work, Application output writes the following message: &quot;<em>Failed to create vertex shader: Error 0x80070057: ???????? ????? ???????. Failed to build graphics pipeline state</em> &quot;.</p>
  <p>The Qt documentation says that this is because of &quot;<strong>Scene Graph Adaptations</strong>&quot;. Here is the link: <a href="https://doc-snapshots.qt.io/qt6-dev/qtquick-visualcanvas-adaptations.html" rel="nofollow noreferrer">https://doc-snapshots.qt.io/qt6-dev/qtquick-visualcanvas-adaptations.html</a>.</p>
  <p>I tried to use this method from the article in main:
  <em>QQuickWindow :: setSceneGraphBackend (&quot;QT_QUICK_BACKEND&quot;);</em>
  For it, you also need to include the library <em>QQuickWindow</em>.</p>
  <p>However, Qt gives the following error: <em>Could not create scene graph context for backend 'QT_QUICK_BACKEND' - check that plugins are installed correctly in C: /Qt/6.1.1/mingw81_64/plugins</em>
  Here I no longer understand what to do ...</p>
  <p>I provide the code for clarity. Since in qml it is enough to create a window and include the <em>Rectangle {}</em> in it.</p>
  <p>I took the code from the example (tried 3 QtQuick examples).
  Here is the main function code:</p>
  <pre><code>#include &lt;QGuiApplication&gt;
  #include &lt;QQmlApplicationEngine&gt;
  #include &lt;QQuickWindow&gt;
  
  int main(int argc, char *argv[])
  {
      QQuickWindow::setSceneGraphBackend(&quot;QT_QUICK_BACKEND&quot;);
      QGuiApplication app(argc, argv);
  
      QQmlApplicationEngine engine;
      engine.load(QUrl(&quot;qrc:/sidepanel.qml&quot;));
      if (engine.rootObjects().isEmpty())
          return -1;
  
      return app.exec();
  }
  </code></pre>
  <p>QML code:</p>
  <pre><code>import QtQuick
  import QtQuick.Controls
  
  ApplicationWindow {
      id: window
      width: 360
      height: 520
      visible: true
      title: qsTr(&quot;Side Panel&quot;)
  
      //! [orientation]
      readonly property bool inPortrait: window.width &lt; window.height
      //! [orientation]
  
      ToolBar {
          id: overlayHeader
  
          z: 1
          width: parent.width
          parent: Overlay.overlay
  
          Label {
              id: label
              anchors.centerIn: parent
              text: &quot;Qt Quick Controls&quot;
          }
      }
  
      Drawer {
          id: drawer
  
          y: overlayHeader.height
          width: window.width / 2
          height: window.height - overlayHeader.height
  
          modal: inPortrait
          interactive: inPortrait
          position: inPortrait ? 0 : 1
          visible: !inPortrait
  
          ListView {
              id: listView
              anchors.fill: parent
  
              headerPositioning: ListView.OverlayHeader
              header: Pane {
                  id: header
                  z: 2
                  width: parent.width
  
                  contentHeight: logo.height
  
                  Image {
                      id: logo
                      width: parent.width
                      source: &quot;images/qt-logo.png&quot;
                      fillMode: implicitWidth &gt; width ? Image.PreserveAspectFit : Image.Pad
                  }
  
                  MenuSeparator {
                      parent: header
                      width: parent.width
                      anchors.verticalCenter: parent.bottom
                      visible: !listView.atYBeginning
                  }
              }
  
              footer: ItemDelegate {
                  id: footer
                  text: qsTr(&quot;Footer&quot;)
                  width: parent.width
  
                  MenuSeparator {
                      parent: footer
                      width: parent.width
                      anchors.verticalCenter: parent.top
                  }
              }
  
              model: 10
  
              delegate: ItemDelegate {
                  text: qsTr(&quot;Title %1&quot;).arg(index + 1)
                  width: listView.width
              }
  
              ScrollIndicator.vertical: ScrollIndicator { }
          }
      }
  
      Flickable {
          id: flickable
  
          anchors.fill: parent
          anchors.topMargin: overlayHeader.height
          anchors.leftMargin: !inPortrait ? drawer.width : undefined
  
          topMargin: 20
          bottomMargin: 20
          contentHeight: column.height
  
          Column {
              id: column
              spacing: 20
              anchors.margins: 20
              anchors.left: parent.left
              anchors.right: parent.right
  
              Label {
                  font.pixelSize: 22
                  width: parent.width
                  elide: Label.ElideRight
                  horizontalAlignment: Qt.AlignHCenter
                  text: qsTr(&quot;Side Panel Example&quot;)
              }
  
              Label {
                  width: parent.width
                  wrapMode: Label.WordWrap
                  text: qsTr(&quot;This example demonstrates how Drawer can be used as a non-closable persistent side panel.\n\n&quot; +
                             &quot;When the application is in portrait mode, the drawer is an interactive side panel that can &quot; +
                             &quot;be swiped open from the left edge. When the application is in landscape mode, the drawer &quot; +
                             &quot;and the content are laid out side by side.\n\nThe application is currently in %1 mode.&quot;).arg(inPortrait ? qsTr(&quot;portrait&quot;) : qsTr(&quot;landscape&quot;))
              }
          }
  
          ScrollIndicator.vertical: ScrollIndicator { }
      }
  }
  </code></pre>