[Interest] Qt5/eglfs coredump in QGL2PaintEngineEx::begin due to null QGLContext.

Samuel Rødal samuel.rodal at nokia.com
Tue Feb 14 09:43:39 CET 2012


On 02/14/2012 01:08 AM, ext Jon Trulson wrote:
> On Mon, 13 Feb 2012, Samuel Rødal wrote:
>
>> On 02/13/2012 01:50 AM, ext Jon Trulson wrote:
>>> Hi, I'm building Qt5 (latest from git) on an arm board (imx53 QSB). I
>>> am not using X11. I am using the eglfs plugin.
>>>
>>> I have attempted to run several of the qtbase demos (like
> [...]
>
>>
>> I'd recommend trying qmlscene or examples/opengl/hellowindow --single
>> here as well, as I'm not sure eglfs supports multiple top-levels. A
>> QGLWidget embedded in a widget hierarchy will always force a top-level
>> platform window to be created, since it needs its own EGLSurface (or
>> similar on other platforms).
>>
>
> Well, that was an excellent suggestion Samuel :) If you lived
> somewhere nearby, I'd purchase the beverage of your choice for you. :)
>
> Indeed this demo does work. The first one I've actually seen run with
> elgfs.

Good :)

> So, just to be sure I understood right, There *must* be a QGLWidget in
> the hierarchy somewhere for any graphical app to work on eglfs. At
> least in this environment?

Actually, not quite. If there's a top-level QGLWidget it will work, but 
the problematic cause is when the QGLWidget is embedded in a widget 
hierarchy. Then both the actual top-level widget and the QGLWidget 
become native, and these plugins don't handle multiple native windows 
very well at the moment.

Neither qmlscene nor hellowindow use a QGLWidget though, they use the 
new (in Qt 5) underlying QWindow class directly. But that's mostly a 
detail, since QGLWidget also uses QWindow internally.

As for non-OpenGL based examples, using only the raster engine and 
raster backing store, I'm not sure how well-supported they are in eglfs 
and kms currently.

Of course, the plugins could be able to handle both multiple native 
windows and raster windows, but the former would require to do some kind 
of client side compositing in the plugin (render the windows into FBOs 
and compose them in the plugin). The latter is just about uploading the 
contents of the backing store to a texture and blitting that.

> Anyway, thank you very much.
>
> PS: I also tried this as suggested in your previous email using the
> kms plugin for linux - it locked up the machine, but that's ok, this
> arm box was the important one. Sometime I'll see if I have a box
> laying around with an intel gpu and see if that fares any better.

Yeah, it's a bit risky unless the drivers are stable enough. I think 
it's best to make sure no X server is running at the same time as well.

--
Samuel



More information about the Interest mailing list