Discussion:
[Development] Dynamic OpenGL option on Linux?
Dmitry Shachnev
2018-11-29 20:26:21 UTC
Permalink
Hi all,

I filed https://bugreports.qt.io/browse/QTBUG-72128 today, but some people
suggested that it’s better to discuss this on the mailing list first.

In Debian we are having a long discussion [1] on whether to build Qt with
‘-opengl desktop’ or ‘-opengl es2’ on ARM64 (aarch64) and some other
architectures.

There are users who want the desktop implementation (for desktops and some
boards), and there are users who want the OpenGL ES implementation (for
mobile devices and other boards).

We are currently considering shipping two (conflicting) sets of Qt libraries,
but that is a hacky and not ideal solution. It would be much better if Qt
had an option to select OpenGL version at runtime (via dlopen or some other
mechanism), similar to what is provided on Windows with ‘-opengl dynamic’
option [2].

Is there a chance to have such an option? It would allow Linux distributions
to offer best-in-class support for both mobile- and desktop-class computers.

Maybe I will be happy to help with implementing this if someone tells me that
it is possible and what will need to be done in the code to allow it.

[1]: https://lists.debian.org/debian-devel/2018/11/thrd2.html#00457
[2]: https://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers

--
Dmitry Shachnev
Lisandro Damián Nicanor Pérez Meyer
2018-11-29 23:31:34 UTC
Permalink
El jueves, 29 de noviembre de 2018 17:26:21 -03 Dmitry Shachnev escribió:
> Hi all,
>
> I filed https://bugreports.qt.io/browse/QTBUG-72128 today, but some people
> suggested that it’s better to discuss this on the mailing list first.

Me between them.

> In Debian we are having a long discussion [1] on whether to build Qt with
> ‘-opengl desktop’ or ‘-opengl es2’ on ARM64 (aarch64) and some other
> architectures.
>
> There are users who want the desktop implementation (for desktops and some
> boards), and there are users who want the OpenGL ES implementation (for
> mobile devices and other boards).
>
> We are currently considering shipping two (conflicting) sets of Qt
> libraries, but that is a hacky and not ideal solution. It would be much
> better if Qt had an option to select OpenGL version at runtime (via dlopen
> or some other mechanism), similar to what is provided on Windows with
> ‘-opengl dynamic’ option [2].
>
> Is there a chance to have such an option? It would allow Linux distributions
> to offer best-in-class support for both mobile- and desktop-class
> computers.
>
> Maybe I will be happy to help with implementing this if someone tells me
> that it is possible and what will need to be done in the code to allow it.

I am also willing to put time into this if you guide us.

Please note that we are not wanting to do runtime "auto detection", but rather
an environment variable or alike, probably using Desktop OpenGL as default.

This would indeed become a game changer for Qt on embedded devices trough
binary distributions, no matter which one.

If I remember correctly some proprietary GLES support was needed in some
cases. It is worth to note that we do not target this cases, just gles as
provided by mesa. Vendors can later interface with mesa or provide an
alternative library like nvidia already does (but better if they interface
with mesa).

Of course if a change like this also help improve this other cases, the
better.

--
porque no respeta el orden natural en el que se leen las cosas
>¿por qué top-posting es tan molesto?
>>top-posting
>>>¿cuál es la peor molestia en los emails de respuesta?

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/
Dmitry Shachnev
2018-12-06 21:48:17 UTC
Permalink
Hi Laszlo!

You are listed as the maintainer of OpenGL integration, can you please comment
on this?

Sorry for pinging you directly, but nobody else seems to know the situation.

On Thu, Nov 29, 2018 at 11:26:21PM +0300, Dmitry Shachnev wrote:
> Hi all,
>
> I filed https://bugreports.qt.io/browse/QTBUG-72128 today, but some people
> suggested that it’s better to discuss this on the mailing list first.
>
> In Debian we are having a long discussion [1] on whether to build Qt with
> ‘-opengl desktop’ or ‘-opengl es2’ on ARM64 (aarch64) and some other
> architectures.
>
> There are users who want the desktop implementation (for desktops and some
> boards), and there are users who want the OpenGL ES implementation (for
> mobile devices and other boards).
>
> We are currently considering shipping two (conflicting) sets of Qt libraries,
> but that is a hacky and not ideal solution. It would be much better if Qt
> had an option to select OpenGL version at runtime (via dlopen or some other
> mechanism), similar to what is provided on Windows with ‘-opengl dynamic’
> option [2].
>
> Is there a chance to have such an option? It would allow Linux distributions
> to offer best-in-class support for both mobile- and desktop-class computers.
>
> Maybe I will be happy to help with implementing this if someone tells me that
> it is possible and what will need to be done in the code to allow it.
>
> [1]: https://lists.debian.org/debian-devel/2018/11/thrd2.html#00457
> [2]: https://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers

--
Dmitry Shachnev
Laszlo Agocs
2018-12-07 10:43:31 UTC
Permalink
Hi Dimitry,


It should be perfectly possible to get a solution similar to what we have an Windows, there may be some complications when it comes to the details, however. There are currently no plans to work on this in the near future, so contributions are welcome. Added some details in Jira.


Best regards,

Laszlo


________________________________
From: Dmitry Shachnev <***@gmail.com> on behalf of Dmitry Shachnev <***@gmail.com>
Sent: Thursday, December 6, 2018 10:48 PM
To: Laszlo Agocs
Cc: ***@qt-project.org
Subject: Re: Dynamic OpenGL option on Linux?

Hi Laszlo!

You are listed as the maintainer of OpenGL integration, can you please comment
on this?

Sorry for pinging you directly, but nobody else seems to know the situation.

On Thu, Nov 29, 2018 at 11:26:21PM +0300, Dmitry Shachnev wrote:
> Hi all,
>
> I filed https://bugreports.qt.io/browse/QTBUG-72128 today, but some people
> suggested that it’s better to discuss this on the mailing list first.
>
> In Debian we are having a long discussion [1] on whether to build Qt with
> ‘-opengl desktop’ or ‘-opengl es2’ on ARM64 (aarch64) and some other
> architectures.
>
> There are users who want the desktop implementation (for desktops and some
> boards), and there are users who want the OpenGL ES implementation (for
> mobile devices and other boards).
>
> We are currently considering shipping two (conflicting) sets of Qt libraries,
> but that is a hacky and not ideal solution. It would be much better if Qt
> had an option to select OpenGL version at runtime (via dlopen or some other
> mechanism), similar to what is provided on Windows with ‘-opengl dynamic’
> option [2].
>
> Is there a chance to have such an option? It would allow Linux distributions
> to offer best-in-class support for both mobile- and desktop-class computers.
>
> Maybe I will be happy to help with implementing this if someone tells me that
> it is possible and what will need to be done in the code to allow it.
>
> [1]: https://lists.debian.org/debian-devel/2018/11/thrd2.html#00457
> [2]: https://doc.qt.io/qt-5/windows-requirements.html#dynamically-loading-graphics-drivers

--
Dmitry Shachnev
Loading...