[PyQt] PyQT and EGLFS

Sylvain Garrigues sylgar at gmail.com
Sat Apr 8 09:08:03 BST 2017

I think my problem may be related to OPENGL detection in QtGui, just like it was in PyQT 5.8.1 and fixed in fixed in PyQT 5.8.2: 

2017-03-29  Phil Thompson  <phil at riverbankcomputing.com>

	* lib/configure.py:
	Fixes for the OpenGL detection needed by the incompatible
	configuration changes in Qt v5.8.0.
	[bf6caed84fd3] <5.8-maint>

The fix was to include QtGui instead of QtCore header in the configuration introspection tool source code (qtdetail), because QT_OPENGL* local configuration #defines are now in QtGui’s 5.8 header files starting with Qt 5.8, and no longer in QtCore.

Indeed I can still see for instance in ./qpy/QtGui/qpyopengl_version_functions.cpp that we have an #if defined(QT_OPENGL_ES_2) but still no QtGui header was included before.

That would explain why an Hello World program with PyQt works on my Mac (no OPENGL) but doesn’t work any more on a raspberry pi (using OPENGL ES 2.0).

Hope it will help fix this


> Le 7 avr. 2017 à 17:44, Sylvain Garrigues <sylgar at gmail.com> a écrit :
> Hello,
> I used to run PyQT fine with Qt 5.6 and the EGLFS QPA on my Raspberry Pi. I have updated to QT 5.8 and latest SIP and PyQT which cross compile fine, except that my program is no longer showing any output on the connected screen.
> I added all the debug in QT_LOGGING_RULES, enabled QT_QPA_EGLFS_DEBUG eglfs specific debug, everything looks normal and the console output is the same as the equivalent C++ app, only I have TV output with the C++ version, and none with the PyQt5 version.
> Same result with a basic hello world and just a main window widget. Appears on my TV with C++ (without PyQT), doesn’t appear on TV with PyQT, although log says it is rendering to OPENGL window.
> My program appears fine on my Mac, so I’m wondering what’s so specific about Raspberry Pi and PyQt :-(
> Any idea what’s wrong? 
> Best

More information about the PyQt mailing list