diff mbox

QT5.8 buid failure on master

Message ID trinity-b0ce3807-d5c4-4ccf-9b54-628667f6d805-1488895453975@3capp-gmx-bs26
State Not Applicable
Headers show

Commit Message

Peter Seiderer March 7, 2017, 2:04 p.m. UTC
Hello Gary,

> Gesendet: Dienstag, 07. März 2017 um 12:48 Uhr
> Von: "Gary Bisson" <gary.bisson@boundarydevices.com>
> An: "Peter Seiderer" <ps.report@gmx.net>
> Cc: "Fabio Estevam" <festevam@gmail.com>, "Jagan Teki" <jagannadh.teki@gmail.com>, buildroot@buildroot.org
> Betreff: Re: QT5.8 buid failure on master
>
> Hi Peter,
> 
> On Tue, Mar 07, 2017 at 08:33:14AM +0100, Peter Seiderer wrote:
> > Hallo Fabio,
> > 
> > > Gesendet: Montag, 06. März 2017 um 23:41 Uhr
> > > Von: "Fabio Estevam" <festevam@gmail.com>
> > > An: "Peter Seiderer" <ps.report@gmx.net>
> > > Cc: "Jagan Teki" <jagannadh.teki@gmail.com>, "Gary Bisson" <gary.bisson@boundarydevices.com>, buildroot@buildroot.org
> > > Betreff: QT5.8 buid failure on master
> > >
> > > Hi,
> > > 
> > > Trying to Build QT5.8 with Buildroot master tree causes the following error:
> > > 
> > > /home/fabio/buildroot/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-g++
> > > -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
> > > -D_FILE_OFFSET_BITS=64 -Os
> > > --sysroot=/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot
> > > -O2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden
> > > -fno-exceptions -Wall -W -Wvla -Wdate-time -D_REENTRANT -fPIC
> > > -DQT_EGL_NO_X11 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE
> > > -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN
> > > -DQT_EVENTDISPATCHER_SUPPORT_LIB -DQT_FONTDATABASE_SUPPORT_LIB
> > > -DQT_EGL_SUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I.
> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
> > > -I../../../../include -I../../../../include/QtEventDispatcherSupport
> > > -I../../../../include/QtEventDispatcherSupport/5.8.0
> > > -I../../../../include/QtEventDispatcherSupport/5.8.0/QtEventDispatcherSupport
> > > -I../../../../include/QtFontDatabaseSupport
> > > -I../../../../include/QtFontDatabaseSupport/5.8.0
> > > -I../../../../include/QtFontDatabaseSupport/5.8.0/QtFontDatabaseSupport
> > > -I../../../../include/QtEglSupport
> > > -I../../../../include/QtEglSupport/5.8.0
> > > -I../../../../include/QtEglSupport/5.8.0/QtEglSupport
> > > -I../../../../include/QtGui/5.8.0
> > > -I../../../../include/QtGui/5.8.0/QtGui -I../../../../include/QtGui
> > > -I../../../../include/QtCore/5.8.0
> > > -I../../../../include/QtCore/5.8.0/QtCore -I../../../../include/QtCore
> > > -I.moc -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/freetype2
> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/freetype2
> > > -I../../../../mkspecs/devices/linux-buildroot-g++ -o
> > > .obj/qminimaleglscreen.o qminimaleglscreen.cpp
> > > In file included from
> > > /home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/EGL/egl.h:39:0,
> > >                  from
> > > ../../../../include/QtEglSupport/5.8.0/QtEglSupport/private/../../../../../src/platformsupport/eglconvenience/qt_egl_p.h:63,
> > >                  from
> > > ../../../../include/QtEglSupport/5.8.0/QtEglSupport/private/qt_egl_p.h:1,
> > >                  from api/qeglfsglobal_p.h:56,
> > >                  from api/qeglfsintegration_p.h:54,
> > >                  from qeglfsmain.cpp:41:
> > > /home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/EGL/eglplatform.h:119:22:
> > > fatal error: X11/Xlib.h: No such file or directory
> > > 
> > > The defconfig used to reproduce the problem is available at:
> > > http://pastebin.com/qmhnNQXs
> > > 
> > 
> > Try to add (untested):
> > 
> > # Avoid X11 header collision, use generic EGL native types
> > DEFINES += QT_EGL_NO_X11
> > 
> > to src/plugins/platforms/eglfs/eglfs-plugin.pro (same as all/many other eglfs related
> > project files do, even eglfs_x11.pro ;-) )...
> 
> Adding that define to eglfs-plugin.pro is sufficient to get qtbase to
> build properly.
> 
> However when I launch the Cinematic demo I get errors that it can't find
> the eglfs_kms device:
> # CinematicExperience-demo -platform eglfs
> qt.qpa.egldeviceintegration: Failed to load EGL device integration
>  "eglfs_kms"
> qt.qpa.egldeviceintegration: Failed to load EGL device integration
>  "eglfs_kms_egldevice"
> ...
> EGL Error : Could not create the egl surface: error = 0x300b
> 

Something like the following (but untested with your .config):


Regards,
Peter

> (note that kmscube is working fine)
> 
> I'm trying to understand how it works in Yocto but something definitely
> needs fixing.
> 
> Regards,
> Gary
>

Comments

Jagan Teki March 7, 2017, 4:15 p.m. UTC | #1
On Tue, Mar 7, 2017 at 7:34 PM, Peter Seiderer <ps.report@gmx.net> wrote:
> Hello Gary,
>
>> Gesendet: Dienstag, 07. März 2017 um 12:48 Uhr
>> Von: "Gary Bisson" <gary.bisson@boundarydevices.com>
>> An: "Peter Seiderer" <ps.report@gmx.net>
>> Cc: "Fabio Estevam" <festevam@gmail.com>, "Jagan Teki" <jagannadh.teki@gmail.com>, buildroot@buildroot.org
>> Betreff: Re: QT5.8 buid failure on master
>>
>> Hi Peter,
>>
>> On Tue, Mar 07, 2017 at 08:33:14AM +0100, Peter Seiderer wrote:
>> > Hallo Fabio,
>> >
>> > > Gesendet: Montag, 06. März 2017 um 23:41 Uhr
>> > > Von: "Fabio Estevam" <festevam@gmail.com>
>> > > An: "Peter Seiderer" <ps.report@gmx.net>
>> > > Cc: "Jagan Teki" <jagannadh.teki@gmail.com>, "Gary Bisson" <gary.bisson@boundarydevices.com>, buildroot@buildroot.org
>> > > Betreff: QT5.8 buid failure on master
>> > >
>> > > Hi,
>> > >
>> > > Trying to Build QT5.8 with Buildroot master tree causes the following error:
>> > >
>> > > /home/fabio/buildroot/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-g++
>> > > -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
>> > > -D_FILE_OFFSET_BITS=64 -Os
>> > > --sysroot=/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot
>> > > -O2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden
>> > > -fno-exceptions -Wall -W -Wvla -Wdate-time -D_REENTRANT -fPIC
>> > > -DQT_EGL_NO_X11 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE
>> > > -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN
>> > > -DQT_EVENTDISPATCHER_SUPPORT_LIB -DQT_FONTDATABASE_SUPPORT_LIB
>> > > -DQT_EGL_SUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I.
>> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
>> > > -I../../../../include -I../../../../include/QtEventDispatcherSupport
>> > > -I../../../../include/QtEventDispatcherSupport/5.8.0
>> > > -I../../../../include/QtEventDispatcherSupport/5.8.0/QtEventDispatcherSupport
>> > > -I../../../../include/QtFontDatabaseSupport
>> > > -I../../../../include/QtFontDatabaseSupport/5.8.0
>> > > -I../../../../include/QtFontDatabaseSupport/5.8.0/QtFontDatabaseSupport
>> > > -I../../../../include/QtEglSupport
>> > > -I../../../../include/QtEglSupport/5.8.0
>> > > -I../../../../include/QtEglSupport/5.8.0/QtEglSupport
>> > > -I../../../../include/QtGui/5.8.0
>> > > -I../../../../include/QtGui/5.8.0/QtGui -I../../../../include/QtGui
>> > > -I../../../../include/QtCore/5.8.0
>> > > -I../../../../include/QtCore/5.8.0/QtCore -I../../../../include/QtCore
>> > > -I.moc -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
>> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/freetype2
>> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
>> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
>> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/freetype2
>> > > -I../../../../mkspecs/devices/linux-buildroot-g++ -o
>> > > .obj/qminimaleglscreen.o qminimaleglscreen.cpp
>> > > In file included from
>> > > /home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/EGL/egl.h:39:0,
>> > >                  from
>> > > ../../../../include/QtEglSupport/5.8.0/QtEglSupport/private/../../../../../src/platformsupport/eglconvenience/qt_egl_p.h:63,
>> > >                  from
>> > > ../../../../include/QtEglSupport/5.8.0/QtEglSupport/private/qt_egl_p.h:1,
>> > >                  from api/qeglfsglobal_p.h:56,
>> > >                  from api/qeglfsintegration_p.h:54,
>> > >                  from qeglfsmain.cpp:41:
>> > > /home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/EGL/eglplatform.h:119:22:
>> > > fatal error: X11/Xlib.h: No such file or directory
>> > >
>> > > The defconfig used to reproduce the problem is available at:
>> > > http://pastebin.com/qmhnNQXs
>> > >
>> >
>> > Try to add (untested):
>> >
>> > # Avoid X11 header collision, use generic EGL native types
>> > DEFINES += QT_EGL_NO_X11
>> >
>> > to src/plugins/platforms/eglfs/eglfs-plugin.pro (same as all/many other eglfs related
>> > project files do, even eglfs_x11.pro ;-) )...
>>
>> Adding that define to eglfs-plugin.pro is sufficient to get qtbase to
>> build properly.
>>
>> However when I launch the Cinematic demo I get errors that it can't find
>> the eglfs_kms device:
>> # CinematicExperience-demo -platform eglfs
>> qt.qpa.egldeviceintegration: Failed to load EGL device integration
>>  "eglfs_kms"
>> qt.qpa.egldeviceintegration: Failed to load EGL device integration
>>  "eglfs_kms_egldevice"
>> ...
>> EGL Error : Could not create the egl surface: error = 0x300b
>>
>
> Something like the following (but untested with your .config):
>
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index 7a33573..d3c871c 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -200,6 +200,7 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XML)        += Qt5Xml
>  QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_OPENGL_LIB) += Qt5OpenGL
>  ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
>  QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglFSDeviceIntegration
> +QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglFsKmsSupport
>  else
>  QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglDeviceIntegration
>  endif
>
> Regards,
> Peter
>
>> (note that kmscube is working fine)
>>
>> I'm trying to understand how it works in Yocto but something definitely
>> needs fixing.

Able to see the application but 'Black screen' on 'Lord of the Ring' widget

# CinematicExperience-demo
MESA-LOADER: device is not located on the PCI bus
MESA-LOADER: device is not located on the PCI bus
MESA-LOADER: device is not located on the PCI bus
file:///usr/share/Qt5/CinematicExperience/content/InfoView.qml:193:21:
QML Image: Cannot open:
file:///usr/share/Qt5/CinematicExperience/content/images/
qt_ambassador_logo.png
file:///usr/share/Qt5/CinematicExperience/content/InfoViewItem.qml:13:5:
QML Image: Cannot open:
file:///usr/share/Qt5/CinematicExperience/content/image
s/qt_logo2.png
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
file:///usr/share/Qt5/CinematicExperience/content/MainView.qml:90:9:
QML Image: Cannot open:
file:///usr/share/Qt5/CinematicExperience/content/images/qt
_logo.png
QOpenGLFramebufferObject: Unsupported framebuffer format.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
QOpenGLFramebufferObject: Unsupported framebuffer format.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
QOpenGLFramebufferObject: Unsupported framebuffer format.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
QOpenGLFramebufferObject: Unsupported framebuffer format.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.

thanks!
Jagan Teki March 7, 2017, 4:32 p.m. UTC | #2
On Tue, Mar 7, 2017 at 9:45 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
> On Tue, Mar 7, 2017 at 7:34 PM, Peter Seiderer <ps.report@gmx.net> wrote:
>> Hello Gary,
>>
>>> Gesendet: Dienstag, 07. März 2017 um 12:48 Uhr
>>> Von: "Gary Bisson" <gary.bisson@boundarydevices.com>
>>> An: "Peter Seiderer" <ps.report@gmx.net>
>>> Cc: "Fabio Estevam" <festevam@gmail.com>, "Jagan Teki" <jagannadh.teki@gmail.com>, buildroot@buildroot.org
>>> Betreff: Re: QT5.8 buid failure on master
>>>
>>> Hi Peter,
>>>
>>> On Tue, Mar 07, 2017 at 08:33:14AM +0100, Peter Seiderer wrote:
>>> > Hallo Fabio,
>>> >
>>> > > Gesendet: Montag, 06. März 2017 um 23:41 Uhr
>>> > > Von: "Fabio Estevam" <festevam@gmail.com>
>>> > > An: "Peter Seiderer" <ps.report@gmx.net>
>>> > > Cc: "Jagan Teki" <jagannadh.teki@gmail.com>, "Gary Bisson" <gary.bisson@boundarydevices.com>, buildroot@buildroot.org
>>> > > Betreff: QT5.8 buid failure on master
>>> > >
>>> > > Hi,
>>> > >
>>> > > Trying to Build QT5.8 with Buildroot master tree causes the following error:
>>> > >
>>> > > /home/fabio/buildroot/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabihf-g++
>>> > > -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
>>> > > -D_FILE_OFFSET_BITS=64 -Os
>>> > > --sysroot=/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot
>>> > > -O2 -O3 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden
>>> > > -fno-exceptions -Wall -W -Wvla -Wdate-time -D_REENTRANT -fPIC
>>> > > -DQT_EGL_NO_X11 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE
>>> > > -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN
>>> > > -DQT_EVENTDISPATCHER_SUPPORT_LIB -DQT_FONTDATABASE_SUPPORT_LIB
>>> > > -DQT_EGL_SUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I.
>>> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
>>> > > -I../../../../include -I../../../../include/QtEventDispatcherSupport
>>> > > -I../../../../include/QtEventDispatcherSupport/5.8.0
>>> > > -I../../../../include/QtEventDispatcherSupport/5.8.0/QtEventDispatcherSupport
>>> > > -I../../../../include/QtFontDatabaseSupport
>>> > > -I../../../../include/QtFontDatabaseSupport/5.8.0
>>> > > -I../../../../include/QtFontDatabaseSupport/5.8.0/QtFontDatabaseSupport
>>> > > -I../../../../include/QtEglSupport
>>> > > -I../../../../include/QtEglSupport/5.8.0
>>> > > -I../../../../include/QtEglSupport/5.8.0/QtEglSupport
>>> > > -I../../../../include/QtGui/5.8.0
>>> > > -I../../../../include/QtGui/5.8.0/QtGui -I../../../../include/QtGui
>>> > > -I../../../../include/QtCore/5.8.0
>>> > > -I../../../../include/QtCore/5.8.0/QtCore -I../../../../include/QtCore
>>> > > -I.moc -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
>>> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/freetype2
>>> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
>>> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include
>>> > > -I/home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/freetype2
>>> > > -I../../../../mkspecs/devices/linux-buildroot-g++ -o
>>> > > .obj/qminimaleglscreen.o qminimaleglscreen.cpp
>>> > > In file included from
>>> > > /home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/EGL/egl.h:39:0,
>>> > >                  from
>>> > > ../../../../include/QtEglSupport/5.8.0/QtEglSupport/private/../../../../../src/platformsupport/eglconvenience/qt_egl_p.h:63,
>>> > >                  from
>>> > > ../../../../include/QtEglSupport/5.8.0/QtEglSupport/private/qt_egl_p.h:1,
>>> > >                  from api/qeglfsglobal_p.h:56,
>>> > >                  from api/qeglfsintegration_p.h:54,
>>> > >                  from qeglfsmain.cpp:41:
>>> > > /home/fabio/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/EGL/eglplatform.h:119:22:
>>> > > fatal error: X11/Xlib.h: No such file or directory
>>> > >
>>> > > The defconfig used to reproduce the problem is available at:
>>> > > http://pastebin.com/qmhnNQXs
>>> > >
>>> >
>>> > Try to add (untested):
>>> >
>>> > # Avoid X11 header collision, use generic EGL native types
>>> > DEFINES += QT_EGL_NO_X11
>>> >
>>> > to src/plugins/platforms/eglfs/eglfs-plugin.pro (same as all/many other eglfs related
>>> > project files do, even eglfs_x11.pro ;-) )...
>>>
>>> Adding that define to eglfs-plugin.pro is sufficient to get qtbase to
>>> build properly.
>>>
>>> However when I launch the Cinematic demo I get errors that it can't find
>>> the eglfs_kms device:
>>> # CinematicExperience-demo -platform eglfs
>>> qt.qpa.egldeviceintegration: Failed to load EGL device integration
>>>  "eglfs_kms"
>>> qt.qpa.egldeviceintegration: Failed to load EGL device integration
>>>  "eglfs_kms_egldevice"
>>> ...
>>> EGL Error : Could not create the egl surface: error = 0x300b
>>>
>>
>> Something like the following (but untested with your .config):
>>
>> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
>> index 7a33573..d3c871c 100644
>> --- a/package/qt5/qt5base/qt5base.mk
>> +++ b/package/qt5/qt5base/qt5base.mk
>> @@ -200,6 +200,7 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XML)        += Qt5Xml
>>  QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_OPENGL_LIB) += Qt5OpenGL
>>  ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
>>  QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglFSDeviceIntegration
>> +QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglFsKmsSupport
>>  else
>>  QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglDeviceIntegration
>>  endif
>>
>> Regards,
>> Peter
>>
>>> (note that kmscube is working fine)
>>>
>>> I'm trying to understand how it works in Yocto but something definitely
>>> needs fixing.
>
> Able to see the application but 'Black screen' on 'Lord of the Ring' widget
>
> # CinematicExperience-demo
> MESA-LOADER: device is not located on the PCI bus
> MESA-LOADER: device is not located on the PCI bus
> MESA-LOADER: device is not located on the PCI bus
> file:///usr/share/Qt5/CinematicExperience/content/InfoView.qml:193:21:
> QML Image: Cannot open:
> file:///usr/share/Qt5/CinematicExperience/content/images/
> qt_ambassador_logo.png
> file:///usr/share/Qt5/CinematicExperience/content/InfoViewItem.qml:13:5:
> QML Image: Cannot open:
> file:///usr/share/Qt5/CinematicExperience/content/image
> s/qt_logo2.png
> libpng warning: iCCP: known incorrect sRGB profile
> libpng warning: iCCP: known incorrect sRGB profile
> file:///usr/share/Qt5/CinematicExperience/content/MainView.qml:90:9:
> QML Image: Cannot open:

Copied missing files from tarbal, don't know why it's not copying, but
still see black screen on widgets.

> file:///usr/share/Qt5/CinematicExperience/content/images/qt
> _logo.png
> QOpenGLFramebufferObject: Unsupported framebuffer format.
> QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
> QOpenGLFramebufferObject: Unsupported framebuffer format.
> QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
> QOpenGLFramebufferObject: Unsupported framebuffer format.
> QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
> QOpenGLFramebufferObject: Unsupported framebuffer format.
> QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.

Can't this an issue for black screen widgets.

thanks!
Fabio Estevam March 7, 2017, 4:57 p.m. UTC | #3
Hi Jagan,

On Tue, Mar 7, 2017 at 1:15 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:

> Able to see the application but 'Black screen' on 'Lord of the Ring' widget

Thanks for testing.

I think we should treat this issue on a separate thread as I also see
the same with Qt5.6.2.

It seems we made progress with Qt5.8 with Peter's patches.

Peter,

Do you plan to submit your two patches formally?

Thanks
Jagan Teki March 7, 2017, 5:11 p.m. UTC | #4
On Tue, Mar 7, 2017 at 10:27 PM, Fabio Estevam <festevam@gmail.com> wrote:
> Hi Jagan,
>
> On Tue, Mar 7, 2017 at 1:15 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>
>> Able to see the application but 'Black screen' on 'Lord of the Ring' widget
>
> Thanks for testing.
>
> I think we should treat this issue on a separate thread as I also see
> the same with Qt5.6.2.

OK, so we need to investigate framebuffer issue? do you have any suggestions.

QOpenGLFramebufferObject: Unsupported framebuffer format.
QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.

>
> It seems we made progress with Qt5.8 with Peter's patches.
>
> Peter,
>
> Do you plan to submit your two patches formally?

thanks!
Fabio Estevam March 7, 2017, 5:16 p.m. UTC | #5
On Tue, Mar 7, 2017 at 2:11 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
> On Tue, Mar 7, 2017 at 10:27 PM, Fabio Estevam <festevam@gmail.com> wrote:
>> Hi Jagan,
>>
>> On Tue, Mar 7, 2017 at 1:15 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>>
>>> Able to see the application but 'Black screen' on 'Lord of the Ring' widget
>>
>> Thanks for testing.
>>
>> I think we should treat this issue on a separate thread as I also see
>> the same with Qt5.6.2.
>
> OK, so we need to investigate framebuffer issue? do you have any suggestions.

If I understand correctly the same 4.9.13 kernel that you use with
Gary's rootfs is able to launch the Qt5 Cinematic just fine, right?

So we need to understand what changed from Gary's rootfs compared to
master that caused the regression.
Jagan Teki March 7, 2017, 5:19 p.m. UTC | #6
On Tue, Mar 7, 2017 at 10:46 PM, Fabio Estevam <festevam@gmail.com> wrote:
> On Tue, Mar 7, 2017 at 2:11 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>> On Tue, Mar 7, 2017 at 10:27 PM, Fabio Estevam <festevam@gmail.com> wrote:
>>> Hi Jagan,
>>>
>>> On Tue, Mar 7, 2017 at 1:15 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>>>
>>>> Able to see the application but 'Black screen' on 'Lord of the Ring' widget
>>>
>>> Thanks for testing.
>>>
>>> I think we should treat this issue on a separate thread as I also see
>>> the same with Qt5.6.2.
>>
>> OK, so we need to investigate framebuffer issue? do you have any suggestions.
>
> If I understand correctly the same 4.9.13 kernel that you use with
> Gary's rootfs is able to launch the Qt5 Cinematic just fine, right?

Yes.

>
> So we need to understand what changed from Gary's rootfs compared to
> master that caused the regression.

Exactly, will let you know if I find any?
Peter Seiderer March 7, 2017, 7:29 p.m. UTC | #7
Hello Fabio,

On Tue, 7 Mar 2017 13:57:39 -0300, Fabio Estevam <festevam@gmail.com> wrote:

> Hi Jagan,
> 
> On Tue, Mar 7, 2017 at 1:15 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
> 
> > Able to see the application but 'Black screen' on 'Lord of the Ring' widget
> 
> Thanks for testing.
> 
> I think we should treat this issue on a separate thread as I also see
> the same with Qt5.6.2.
> 
> It seems we made progress with Qt5.8 with Peter's patches.
> 
> Peter,
> 
> Do you plan to submit your two patches formally?

Yes can do. No problem with the first one, for the second one I need
to investigate first on which additional configure option the building
of libQt5EglFsKmsSupport.so depends...

Regards,
Peter

> 
> Thanks
Gary Bisson March 8, 2017, 10:45 a.m. UTC | #8
Hi Peter, Fabio, All,

On Tue, Mar 7, 2017 at 8:29 PM, Peter Seiderer <ps.report@gmx.net> wrote:
> Hello Fabio,
>
> On Tue, 7 Mar 2017 13:57:39 -0300, Fabio Estevam <festevam@gmail.com> wrote:
>
>> Hi Jagan,
>>
>> On Tue, Mar 7, 2017 at 1:15 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>>
>> > Able to see the application but 'Black screen' on 'Lord of the Ring' widget
>>
>> Thanks for testing.
>>
>> I think we should treat this issue on a separate thread as I also see
>> the same with Qt5.6.2.
>>
>> It seems we made progress with Qt5.8 with Peter's patches.
>>
>> Peter,
>>
>> Do you plan to submit your two patches formally?
>
> Yes can do. No problem with the first one, for the second one I need
> to investigate first on which additional configure option the building
> of libQt5EglFsKmsSupport.so depends...

Actually I wonder why the first patch is needed in this case. How does
the eglfs plugin build for Vivante for instance since the failure
happens in a common file?

Otherwise, I confirm I have "black picture" issues on Qt5.8 with the
Cinematic demo.

However, I've made a discovery regarding the DRI configuration (to
avoid hardcoding the device). It is actually documented well on Qt
website:
http://doc.qt.io/qt-5/embedded-linux.html#eglfs-with-eglfs-kms-backend
"The KMS/DRM backend also supports custom configurations via a JSON
file. Set the environment variable QT_QPA_EGLFS_KMS_CONFIG to the name
of the file to enable this."

Here is my JSON file for Hannstar display:
{
  "device": "/dev/dri/card1",
  "hwcursor": false,
  "pbuffers": true,
  "outputs": [
    {
      "name": "VGA-1",
      "mode": "off"
    },
    {
      "name": "HDMI-1",
      "mode": "off"
    },
    {
      "name": "LVDS-1",
      "mode": "1024x768"
    }
  ]
}

This avoids the patch mentioned before:
http://lists.busybox.net/pipermail/buildroot/2017-March/185842.html

Regards,
Gary
Jagan Teki March 8, 2017, 11 a.m. UTC | #9
Hi Garry,

On Wed, Mar 8, 2017 at 4:15 PM, Gary Bisson
<gary.bisson@boundarydevices.com> wrote:
> Hi Peter, Fabio, All,
>
> On Tue, Mar 7, 2017 at 8:29 PM, Peter Seiderer <ps.report@gmx.net> wrote:
>> Hello Fabio,
>>
>> On Tue, 7 Mar 2017 13:57:39 -0300, Fabio Estevam <festevam@gmail.com> wrote:
>>
>>> Hi Jagan,
>>>
>>> On Tue, Mar 7, 2017 at 1:15 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>>>
>>> > Able to see the application but 'Black screen' on 'Lord of the Ring' widget
>>>
>>> Thanks for testing.
>>>
>>> I think we should treat this issue on a separate thread as I also see
>>> the same with Qt5.6.2.
>>>
>>> It seems we made progress with Qt5.8 with Peter's patches.
>>>
>>> Peter,
>>>
>>> Do you plan to submit your two patches formally?
>>
>> Yes can do. No problem with the first one, for the second one I need
>> to investigate first on which additional configure option the building
>> of libQt5EglFsKmsSupport.so depends...
>
> Actually I wonder why the first patch is needed in this case. How does
> the eglfs plugin build for Vivante for instance since the failure
> happens in a common file?
>
> Otherwise, I confirm I have "black picture" issues on Qt5.8 with the
> Cinematic demo.
>
> However, I've made a discovery regarding the DRI configuration (to
> avoid hardcoding the device). It is actually documented well on Qt
> website:
> http://doc.qt.io/qt-5/embedded-linux.html#eglfs-with-eglfs-kms-backend
> "The KMS/DRM backend also supports custom configurations via a JSON
> file. Set the environment variable QT_QPA_EGLFS_KMS_CONFIG to the name
> of the file to enable this."
>
> Here is my JSON file for Hannstar display:
> {
>   "device": "/dev/dri/card1",
>   "hwcursor": false,
>   "pbuffers": true,
>   "outputs": [
>     {
>       "name": "VGA-1",
>       "mode": "off"
>     },
>     {
>       "name": "HDMI-1",
>       "mode": "off"
>     },
>     {
>       "name": "LVDS-1",
>       "mode": "1024x768"
>     }
>   ]
> }
>
> This avoids the patch mentioned before:
> http://lists.busybox.net/pipermail/buildroot/2017-March/185842.html

Don't know but I never find to explicitly mentioned the kmscube ran
w/o any device argument for 5.6.2 and 5.8

thanks!
Gary Bisson March 8, 2017, 11:28 a.m. UTC | #10
Hi Jaggan,

On Wed, Mar 8, 2017 at 12:00 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
> Hi Garry,
>
> On Wed, Mar 8, 2017 at 4:15 PM, Gary Bisson
> <gary.bisson@boundarydevices.com> wrote:
>> Hi Peter, Fabio, All,
>>
>> On Tue, Mar 7, 2017 at 8:29 PM, Peter Seiderer <ps.report@gmx.net> wrote:
>>> Hello Fabio,
>>>
>>> On Tue, 7 Mar 2017 13:57:39 -0300, Fabio Estevam <festevam@gmail.com> wrote:
>>>
>>>> Hi Jagan,
>>>>
>>>> On Tue, Mar 7, 2017 at 1:15 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>>>>
>>>> > Able to see the application but 'Black screen' on 'Lord of the Ring' widget
>>>>
>>>> Thanks for testing.
>>>>
>>>> I think we should treat this issue on a separate thread as I also see
>>>> the same with Qt5.6.2.
>>>>
>>>> It seems we made progress with Qt5.8 with Peter's patches.
>>>>
>>>> Peter,
>>>>
>>>> Do you plan to submit your two patches formally?
>>>
>>> Yes can do. No problem with the first one, for the second one I need
>>> to investigate first on which additional configure option the building
>>> of libQt5EglFsKmsSupport.so depends...
>>
>> Actually I wonder why the first patch is needed in this case. How does
>> the eglfs plugin build for Vivante for instance since the failure
>> happens in a common file?
>>
>> Otherwise, I confirm I have "black picture" issues on Qt5.8 with the
>> Cinematic demo.
>>
>> However, I've made a discovery regarding the DRI configuration (to
>> avoid hardcoding the device). It is actually documented well on Qt
>> website:
>> http://doc.qt.io/qt-5/embedded-linux.html#eglfs-with-eglfs-kms-backend
>> "The KMS/DRM backend also supports custom configurations via a JSON
>> file. Set the environment variable QT_QPA_EGLFS_KMS_CONFIG to the name
>> of the file to enable this."
>>
>> Here is my JSON file for Hannstar display:
>> {
>>   "device": "/dev/dri/card1",
>>   "hwcursor": false,
>>   "pbuffers": true,
>>   "outputs": [
>>     {
>>       "name": "VGA-1",
>>       "mode": "off"
>>     },
>>     {
>>       "name": "HDMI-1",
>>       "mode": "off"
>>     },
>>     {
>>       "name": "LVDS-1",
>>       "mode": "1024x768"
>>     }
>>   ]
>> }
>>
>> This avoids the patch mentioned before:
>> http://lists.busybox.net/pipermail/buildroot/2017-March/185842.html
>
> Don't know but I never find to explicitly mentioned the kmscube ran
> w/o any device argument for 5.6.2 and 5.8

I'm not sure to understand your remark.

Note that here I'm only talking about Qt5.8 with Mesa17.0.1.

Yes my previous image with Qt5.6.2 and Mesa13.0 from Christian tree
didn't require to specify the node.

Also, kmscube, which has nothing to do with Qt, now requires you to
specify the device (using latest version on master).

Previously it was checking the drm name against an "approved" list of
devices. Specifying the device manually is therefore more flexible
since it doesn't require source code modification to get it working.

Finally, I've been able to see the covers of the Cinematic demo using
Qt5.8 + Mesa17.0.1 (Etnaviv) by disabling the "Show movies cover
lighting" option (bottom left corner). So I guess it's an Etnaviv
support issue in Mesa that makes the black rectangles.

Regards,
Gary
Jagan Teki March 8, 2017, 12:19 p.m. UTC | #11
On Wed, Mar 8, 2017 at 4:58 PM, Gary Bisson
<gary.bisson@boundarydevices.com> wrote:
> Hi Jaggan,
>
> On Wed, Mar 8, 2017 at 12:00 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>> Hi Garry,
>>
>> On Wed, Mar 8, 2017 at 4:15 PM, Gary Bisson
>> <gary.bisson@boundarydevices.com> wrote:
>>> Hi Peter, Fabio, All,
>>>
>>> On Tue, Mar 7, 2017 at 8:29 PM, Peter Seiderer <ps.report@gmx.net> wrote:
>>>> Hello Fabio,
>>>>
>>>> On Tue, 7 Mar 2017 13:57:39 -0300, Fabio Estevam <festevam@gmail.com> wrote:
>>>>
>>>>> Hi Jagan,
>>>>>
>>>>> On Tue, Mar 7, 2017 at 1:15 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>>>>>
>>>>> > Able to see the application but 'Black screen' on 'Lord of the Ring' widget
>>>>>
>>>>> Thanks for testing.
>>>>>
>>>>> I think we should treat this issue on a separate thread as I also see
>>>>> the same with Qt5.6.2.
>>>>>
>>>>> It seems we made progress with Qt5.8 with Peter's patches.
>>>>>
>>>>> Peter,
>>>>>
>>>>> Do you plan to submit your two patches formally?
>>>>
>>>> Yes can do. No problem with the first one, for the second one I need
>>>> to investigate first on which additional configure option the building
>>>> of libQt5EglFsKmsSupport.so depends...
>>>
>>> Actually I wonder why the first patch is needed in this case. How does
>>> the eglfs plugin build for Vivante for instance since the failure
>>> happens in a common file?
>>>
>>> Otherwise, I confirm I have "black picture" issues on Qt5.8 with the
>>> Cinematic demo.
>>>
>>> However, I've made a discovery regarding the DRI configuration (to
>>> avoid hardcoding the device). It is actually documented well on Qt
>>> website:
>>> http://doc.qt.io/qt-5/embedded-linux.html#eglfs-with-eglfs-kms-backend
>>> "The KMS/DRM backend also supports custom configurations via a JSON
>>> file. Set the environment variable QT_QPA_EGLFS_KMS_CONFIG to the name
>>> of the file to enable this."
>>>
>>> Here is my JSON file for Hannstar display:
>>> {
>>>   "device": "/dev/dri/card1",
>>>   "hwcursor": false,
>>>   "pbuffers": true,
>>>   "outputs": [
>>>     {
>>>       "name": "VGA-1",
>>>       "mode": "off"
>>>     },
>>>     {
>>>       "name": "HDMI-1",
>>>       "mode": "off"
>>>     },
>>>     {
>>>       "name": "LVDS-1",
>>>       "mode": "1024x768"
>>>     }
>>>   ]
>>> }
>>>
>>> This avoids the patch mentioned before:
>>> http://lists.busybox.net/pipermail/buildroot/2017-March/185842.html
>>
>> Don't know but I never find to explicitly mentioned the kmscube ran
>> w/o any device argument for 5.6.2 and 5.8
>
> I'm not sure to understand your remark.
>
> Note that here I'm only talking about Qt5.8 with Mesa17.0.1.
>
> Yes my previous image with Qt5.6.2 and Mesa13.0 from Christian tree
> didn't require to specify the node.
>
> Also, kmscube, which has nothing to do with Qt, now requires you to
> specify the device (using latest version on master).
>
> Previously it was checking the drm name against an "approved" list of
> devices. Specifying the device manually is therefore more flexible
> since it doesn't require source code modification to get it working.
>
> Finally, I've been able to see the covers of the Cinematic demo using
> Qt5.8 + Mesa17.0.1 (Etnaviv) by disabling the "Show movies cover
> lighting" option (bottom left corner). So I guess it's an Etnaviv
> support issue in Mesa that makes the black rectangles.

Yes, made the setting now the black widget show the picture and did
you find Description on specific widget open doesn't show proper
letters.
Fabio Estevam March 12, 2017, 10:43 p.m. UTC | #12
Hi Gary,

On Wed, Mar 8, 2017 at 7:45 AM, Gary Bisson
<gary.bisson@boundarydevices.com> wrote:

> However, I've made a discovery regarding the DRI configuration (to
> avoid hardcoding the device). It is actually documented well on Qt
> website:
> http://doc.qt.io/qt-5/embedded-linux.html#eglfs-with-eglfs-kms-backend
> "The KMS/DRM backend also supports custom configurations via a JSON
> file. Set the environment variable QT_QPA_EGLFS_KMS_CONFIG to the name
> of the file to enable this."

Thanks, this did the trick!

Now I can succesfully lauch the Cinematic demo using Buildroot master.
Thanks to Peter for his two Qt5.8 fixes!

Any suggestions for a proper fix on the 'black screen' problem?

Thanks
diff mbox

Patch

diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 7a33573..d3c871c 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -200,6 +200,7 @@  QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XML)        += Qt5Xml
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_OPENGL_LIB) += Qt5OpenGL
 ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglFSDeviceIntegration
+QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglFsKmsSupport
 else
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_EGLFS)      += Qt5EglDeviceIntegration
 endif