[Interest] Qt 5.8 qt3d examples not working on Raspberry Pi 3

Francis Herne mail at flherne.uk
Wed Mar 1 11:50:48 CET 2017


On Wed, 1 Mar 2017 00:40:49 +0000
Pierre Chicoine <pierrechicoine606 at gmail.com> wrote:

> Qt3d 5.8 examples are not working on Raspberry Pi 3 using Raspbian
> Jessie. I'm using the latest Raspberry PI toolkit not Yocto. Should I
> use a different board?
> 
> I've tried all GL driver modes in raspi-config. The current VC4 driver
> doesnt' work. Strangely enough, the Raspberry PI works with
> qopenglwidget so opengl examples works but not QT3d. I was going to
> try to compile the fragment shaders directly but I can't find a
> fragment shader that even has 41 lines of code in the Qt3d toolkit.
> (Refer to error below).
> 
> I'm asking this sincerely, I know that KDAB is not technically
> responsible and you've done a great job getting Qt3d working on
> desktop. The code looks like a very capable toolkit.
> 
> Sean, are you planning on supporting the Raspberry PI? I've been
> trying to implement Qt3d since before Qt 5.7 when it was officially
> supported and I've tried everything to no avail. Anholt's work on the
> Raspberry drivers don't work and the legacy drivers don't work so I'm
> seriously thinking about giving up several months of work, removing
> all the work I did to get OpenGl working with Qt3d which will take
> several month to untangle. I really don't know what to do from here.
> 
> Please let us know if it is supported or will be and if it or will
> be, is what is the magic used to get it working.
> 
> This is the error returned on the command line (this works just fine
> on desktops):
> 
> No Input Settings found, keyboard and mouse events won't be handled
> Trying to assign a non shareable component to more than one Entity
> QOpenGLShader::link: ERROR:OPTIMIZER-3 (fragment shader, line 41)
> Support for for loops is restricted : right side of condition
> expression must be constant
> Failed to link shader program: ERROR:OPTIMIZER-3 (fragment shader,
> line 41) Support for for loops is restricted : right side of
> condition expression must be constant

Are you sure you're using the mesa vc4 driver (and not Broadcom's
driver for the VideoCore IV chip) ?

The error message you mention is part of Broadcom's firmware-wrapper
code, and afaict doesn't exist in Mesa.

(https://github.com/shacharr/videocoreiv-qpu-driver/blob/master/brcm_usrlib/dag/vmcsx/middleware/khronos/glsl/glsl_ast.c#L3035)

-Francis



More information about the Interest mailing list