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

QtWayland does not build without OpenGL

    XMLWordPrintable

    Details

    • Platform/s:
      Linux/Wayland
    • Commits:
      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

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

          Activity

            People

            • Assignee:
              johanhelsing Johan Helsing
              Reporter:
              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