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

QtWayland does not build without OpenGL

    XMLWordPrintable

Details

    • Linux/Wayland
    • 122123bfa4a65b04884f1d930900cb342fb7741c (qt/qtwayland/5.12)

    Description

      The fine documentation only mention a dependency on declarative:

       

      https://wiki.qt.io/QtWayland

       

      ==

      Qt dependency

      You need Qt5.8 or newer for the compositor API. The modules you need at the very least are: 
      qtbase 
      qtdeclarative

      ==

       

      But it fails to build without OpenGL in practice:

       

      ../../../../hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.cpp: In function 'QOpenGLTexture* createTextureFromShm(const QString&, int, int, int, int)': 
      ../../../../hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.cpp:81:10: error: 'QOpenGLContext' has not been declared 
           if (!QOpenGLContext::currentContext()) 
                ^~~~~~~~~~~~~~ 
      ../../../../hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.cpp:84:59: error: incomplete type 'QOpenGLTexture' used in nested name specifier 
           auto *tex = new QOpenGLTexture(image, QOpenGLTexture::DontGenerateMipMaps); 
                                                                 ^~~~~~~~~~~~~~~~~~~ 
      ../../../../hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.cpp:84:78: error: invalid use of incomplete type 'class QOpenGLTexture' 
           auto *tex = new QOpenGLTexture(image, QOpenGLTexture::DontGenerateMipMaps); 
                                                                                    ^ 
      In file included from ../../../../../include/QtWaylandClient/5.11.1/QtWaylandClient/private/qwaylandserverbufferintegration_p.h:1:0, 
                       from ../../../../hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.h:45, 
                       from ../../../../hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.cpp:40: 
      ../../../../../include/QtWaylandClient/5.11.1/QtWaylandClient/private/../../../../../src/client/hardwareintegration/qwaylandserverbufferintegration_p.h:62:7: note: forward declaration of 'class QOpenGLTexture
      ' 
       class QOpenGLTexture; 
             ^~~~~~~~~~~~~~ 
      Makefile:508: recipe for target '.obj/shmserverbufferintegration.o' failed
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            johanhelsing Johan Helsing
            max_nl max_nl
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes