Page MenuHomePhabricator

Fix Qt 6 issues
Closed, ResolvedPublic

Description

First Qt 6 snapshot installers:

Issues:

  • Ubuntu 22.04 VirtualBox VM
    • Had to install libxcb-cursor0 to be able to start the Workbench (message was pretty clear about it, though)
    • Constant VTK errors: vtkOpenGLRenderWindow.c:511: GLEW could not be initialized: Missing GL version
    • A message at the beginning: qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
  • macOS Ventura:
    • On the positive side: the initial one-time crash seems to be gone and the Workbench can be started without the terminal
    • Web content like the Welcome screen is not shown (QtWebEngine)
    • Hovering over the 3-d render window behaves like the left mouse button would be pressed (camera orbits constantly)

Event Timeline

kislinsk triaged this task as Unbreak Now! priority.Feb 2 2024, 5:35 AM
kislinsk created this task.

The attempt of Qt to look for the wayland platform plugin can be disabled by adding export QT_QPA_PLATFORM=xcb to CMake/RunInstalledApp.sh, which is preferrable since we do not distribute the wayland platform plugin anyway.

  • To configure the MITK superbuild, I had to install libegl1-mesa-dev.
  • To run the Qt online installer, I had to install libxcb-xinerama0.

While compiling VTK 9.3.0, I noticed the following warning which may be interesting:

[100%] Building CXX object GUISupport/Qt/CMakeFiles/GUISupportQt.dir/vtkQtAbstractModelAdapter.cxx.o
In file included from /opt/Qt/6.6.1/gcc_64/include/QtOpenGL/qopenglpaintdevice.h:13,
                 from /opt/Qt/6.6.1/gcc_64/include/QtOpenGL/QOpenGLPaintDevice:1,
                 from /home/kislinsk/MITK-superbuild/ep/src/VTK/GUISupport/Qt/vtkQWidgetTexture.cxx:14:
/opt/Qt/6.6.1/gcc_64/include/QtGui/qopenglcontext.h:21:2: warning: #warning qopenglfunctions.h is not compatible with GLEW, GLEW defines will be undefined [-Wcpp]
   21 | #warning qopenglfunctions.h is not compatible with GLEW, GLEW defines will be undefined
      |  ^~~~~~~
/opt/Qt/6.6.1/gcc_64/include/QtGui/qopenglcontext.h:22:2: warning: #warning To use GLEW with Qt, do not include <qopengl.h> or <QOpenGLFunctions> after glew.h [-Wcpp]
   22 | #warning To use GLEW with Qt, do not include <qopengl.h> or <QOpenGLFunctions> after glew.h
      |  ^~~~~~~

The difference between my build tree version and the installed version is that the former is using the wayland or wayland-egl backend, while the latter is using the xcb backend. Forcing the build tree version to use xcb results in the same GLEW warnings, which is good, so I can now try to get rid of it.

Deleted branch from rMITK MITK: bugfix/T30316-FixGLEWWarningsOnLinux.

Deleted branch from rMITK MITK: bugfix/T30316-Fix3DRenderWindowTouchEvents.

Deleted branch from rMITK MITK: bugfix/T30316-PreferXcbPlatformOnLinux.

The last thing to do is to check, if there is still an issue with displaying web content in our macOS installers. In the build tree version everything seems fine.