Subject: Qt with GLES on arm64 maintainer's decision

Hi everyone! We the Qt maintainers have reached a decision with respect to this topic. We reached debian-devel in order to get an idea of what other fellow Debian users and developers think of this subject. We would *really* like to thank you all for chiming in and discussing this in quite a nice way. Yes, most of us have strong positions, but even then the discussion was both civil and fruitful. So again, thanks to you all!

It seems now clear that the general consensus seems to expect:

= Qt available for both Desktop and ES OpenGL flavours

As we tried hard to explain this is really not easy nor even supported by upstream. But of course, if someone thinks [s]he wants to take the effort then [s]he's more than welcomed to joining the team. You will certainly need C++ library packaging skills and a *whole lot* of free time and build power. Due to the nature of this change, if the goal is achieved, it will be certainly targeted for Buster+1.

= If no change is possible, keep arm64 with Desktop OpenGL support

That seems to be what most of you want, and to say the truth, the easiest for us: we just keep status quo, no transition needed. We just package the next point release, check for bugs and mostly be done for Buster. So this is the approach we will take.

Both Dmitry and I just learned that the RPI has the VC4 driver which enables it to do hardware acceleration for Desktop OpenGL, we must admit that this is a game changer in many ways, even if we are talking on just one board (but quite an ubiquitous one). People wanting Qt+GLES on arm64 can always use Ubuntu.

For the Qt side of the Qt/KDE Team,

Lisandro














===========


analitza: possible fix:   * Remove kubuntu_01_optional_opengl.diff now upstream
analitza: possible fix:   * Add patch kubuntu_01_optional_opengl.diff from upstream
analitza: possible fix:     makes opengl optional which allows for compile on ARM
aseba: depends on libenki (src:enki-aseba), will need arm64 removal (no sourceful upload)
bino: depends on libglew-dev, needs arm64 removal (no sourceful upload)
calligra: possible fix:   * Add fix_fbtfs_armfh_opengl.diff
calligra: possible fix:   * Add kubuntu_nogl.diff to make it compile without openGL on ARM, sent
calligra: possible fix:   * Don't build-depend on libglew-dev on ARM, it conflicts with GLES.
calligra: possible fix:   * Don't build-depend on libglew-dev on ARM, it conflicts with GLES.
calligra: possible fix:     without OpenGL support (armel and armhf)
calligra: possible fix:   * Make libglew-dev not arm build-dep, it conflicts with arm using GLES
calligra: possible fix:   * Make libglew-dev not arm build-dep, it conflicts with arm using GLES
clementine: depends on libglew-dev, will require sorceful upload and maybe dependency against libqt5opengl5-desktop-dev
connectome-workbench: dpends on libftgl which in turn depends on libglu1-mesa. Will need sourceful upload with either arch qualification or B-D on libqt5opengl5-desktop-dev
digikam: possible fix:     - Don't build with OpenGl and vc on arm64, as currently not supported
digikam: possible fix:   * Add exception to not install libqt5opengl5-dev on arm64
digikam: possible fix:     - Don't build with openGL on armhf as it's not available there.
digikam: possible fix:       + don't build with openGL on armhf as it's not available there
digikam: possible fix:       + Don't build-depend on openGL libs on armhf as openGL isn't available
digikam: possible fix:   * Don't build-depend on openGL libs on armhf as openGL isn't available
digikam: possible fix:     - Make sure libqt4-opengl-dev, libgl1-mesa-dev and libglu1-mesa-dev only
digikam: possible fix:     - Fix FTBFS due to attempt to use GL instead of GLES
digikam: possible fix:       + libqt4-opengl-dev, libgl1-mesa-dev, and libglu1-mesa-dev as build-deps
digikam: possible fix:     - Fix FTBFS due to attempt to use GL instead of GLES
digikam: possible fix:       + libqt4-opengl-dev, libgl1-mesa-dev, and libglu1-mesa-dev as build-deps
dustrac: requires desktop OpenGL, will need sourceful upload, maybe B-D on libqt5opengl5-desktop-dev
enki-aseba: will need removal on arm64 (no sourceful upload)
flightgear: will need sourceful upload to remove qt on arm64 (but keeps building otherwise)
fracplanet: will need removal on arm64, depends upong glu, depends upon libqt5opengl5-desktop-dev
fraqtive: will need removal on arm64, depends upong glu, depends upon libqt5opengl5-desktop-dev
goldencheetah: will need arch removal, depends on libqwtplt3d
iannix: requires desktop OpenGL, will need sourceful upload, maybe B-D on libqt5opengl5-desktop-dev

kalzium: possible fix:   * Added libqt5opengl5-dev as build dep
kalzium: possible fix:   * Build with avogadro on arm64
kanagram: possible fix:   * Add missing libqt4-opengl-dev build depend. ←  libqt*4* ? the script parses old changelog entries too
kate: possible fix:    - build-dep on python and libqt4-opengl-dev and libqtwebkit-dev

kdeclarative: possible fix:   * Refine kubuntu_fix_epoxy_vs_qopengl.diff to prevent Qt from
kio-extras: possible fix:   * Enable building with qtwebengine on arm64 now that exists
kitinerary: not in Ubuntu
kpkpass: not in Ubuntu
krita: maybe cannot be fixed (no armhf or arm64)
kstars: possible fix:    - Disable OpenGL on armhf as well.
kstars: possible fix:   * Disable OpenGL on armhf as well.
kstars: possible fix:     - Disable OpenGL on armel.
ksudoku: possible fix:   * Drop upstream applied upstream_cmake_set_opengl_optional.patch
ksudoku: possible fix:   * debian/patches: upstream_cmake_set_opengl_optional.patch
ksudoku: possible fix:   * Don't build-depend on opengl on armhf
ksudoku: possible fix:   * Add libqt4-opengl-dev build-dep
ktouch: possible fix:   * Add build-dep on libqt4-opengl-dev
kubrick: maybe cannot be fixed (no armhf or arm64)
kwin: possible fix:   * New package libkwinglesutils5 on armhf
libkf5kface: not in Ubuntu
libqglviewer: check
libqtshadowsocks: not in Ubuntu
libreoffice: possible fix:   * Build for arm64 and ppc64el.
mldemos: maybe cannot be fixed (no armhf or arm64)
mm3d: maybe cannot be fixed (no armhf or arm64)
mudlet: check
mupen64plus-qt: maybe cannot be fixed (no armhf or arm64)
obs-studio: maybe cannot be fixed (no armhf or arm64)
openclonk: maybe needs fixing (has armhf but not arm64)
openimageio: check
openms: maybe cannot be fixed (no armhf or arm64)
openmw: check
openscad: not in Ubuntu
ovito: check
packagesearch: not in Ubuntu
pcl: check
photoflare: not in Ubuntu
pyqwt3d: not in Ubuntu
pyside2: maybe cannot be fixed (no armhf or arm64)
qmmp: possible fix:     - Disable qmmp-plugin-projectm on arm64, where Qt is also linked to
qmmp: possible fix:       GLESv2 in Ubuntu.
qtmultimedia-opensource-src: possible fix:   * Install an architecture-specific file on arm64.
qtmultimedia-opensource-src: possible fix:   * Install an architecture-specific file on arm64.
qtmultimedia-opensource-src: possible fix:     - Install Qt5Quick_QSGVideoNodeFactory_EGL.cmake on arm64.
qtserialbus-everywhere-src: not in Ubuntu
qwtplot3d: will need removal on arm64 (no sourceful upload)
renderdoc: maybe cannot be fixed (no armhf or arm64)
sdrangelove: maybe cannot be fixed (no armhf or arm64)
shelxle: maybe cannot be fixed (no armhf or arm64)
signon-ui: possible fix:   * debian/control: remove arch constraints in gl/gles build-deps, not needed
signond: not in Ubuntu
starpu-contrib: maybe cannot be fixed (no armhf or arm64)
structure-synth: check
soundscaperenderer: check
swift-im: not in Ubuntu
telepathy-qt: possible fix:       armhf, arm64 and amd64.
telepathy-qt: possible fix:       armhf, arm64 and amd64.
telepathy-qt: possible fix:     armhf, arm64 and amd64.
tetzle: check
threadweaver: possible fix:   * Don't fail testsuite on arm64. Was previously an always-failed, and still
thrift: not in Ubuntu
tulip: not in Ubuntu
ugene: not in Ubuntu
utopia-documents: not in Ubuntu
virtualjaguar: maybe cannot be fixed (no armhf or arm64)
vite: check
vtk7: possible fix:   * Do not use qt5-desktop-dev on arm64 (until debian bug: #881333 is sorted)
yade: check

= False positives
baloo-widgets: present on all archs
bitcoin: FTBFS due to tests
camitk: missing B-Ds, has built on armel/armhf before
cantor: builds on all archs
cen64-qt: amd64 only
cgal: FTBFS on armel but not on armhf
dogecoin: general FTBFS, but built in the past on all archs
edb-debugger: amd64/i386 only
freecad: problem with dependencies, not Qt related, not present on testing
gazebo: problems with dependencies
gpsshogi: amd64/i386
gst-plugins-good1.0: just a false positive
gudhi: just an odd situation that makes it uninstalable on armel and armhf
heaptrack: built on all archs o_O

= Packages that are mentioning libqt5gui5 in their debian/control
https://codesearch.debian.net/search?q=libqt5gui5+path%3Adebian%2Fcontrol

ecflow
dvbcut
ibus
veusz
qtx11extras-opensource-src