I reported this issue a few years ago: 
https://bugreports.qt.io/browse/QTBUG-92059 , but there has been no substantial 
progress. Can this issue be pushed forward again? Even though many years have 
passed, the situation has not improved. Most Linux distributions are still 
facing this dilemma. For example, Debian: 
https://lists.debian.org/debian-devel/2018/11/msg00457.html ― in order to work 
around this issue, Debian provides two sets of Qt deb packages: one built with 
desktop OpenGL, and another with OpenGL ES. This is rather ugly. If Qt allowed 
choosing between OpenGL ES and desktop OpenGL dynamically at runtime, the 
problem would be elegantly solved.

Q: Why can't we just decide at compile time that Qt on a certain architecture 
(e.g., arm64 or RISC-V) should always use OpenGL ES?
A: Because some Linux distributions need to support a wide variety of hardware. 
Take arm64 (and similarly RISC-V) as an example:
Some arm64 devices only support GLES (such as SoCs with Mali GPUs),
while other arm64 devices are more like x86 platforms ― they are used in 
laptops, desktop PCs, and servers, support PCIE, and can even use AMD/Nvidia 
discrete GPUs. For such devices, it makes no sense to default to GLES.

Q: Why not just provide two builds of Qt like Debian does ― one for GLES, one 
for desktop OpenGL?
A: This makes dependency management extremely difficult and is only a 
last-resort workaround. Within the Qt community, I hope we can discuss a better 
solution together. In fact, I noticed that Debian no longer provides dual Qt 
builds in Qt6, though I don’t know the reason.


-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to