[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