[Development] Bit of help for QtWayland on a Raspberry Pi

Massimo Callegari massimocallegari at yahoo.it
Wed Nov 4 16:55:17 CET 2015





----- Messaggio originale -----
Da: Giulio Camuffo <giuliocamuffo at gmail.com>
A: Massimo Callegari <massimocallegari at yahoo.it>
Cc: "development at qt-project.org" <development at qt-project.org>
Inviato: Mercoledì 4 Novembre 2015 16:38
Oggetto: Re: [Development] Bit of help for QtWayland on a Raspberry Pi

2015-11-04 17:33 GMT+02:00 Massimo Callegari <massimocallegari at yahoo.it>:
> I kind of solved the main issue !
> Turned out I didn't have libjpeg installed in my target system (which is different from my dev system)
>
> Basically the method QWindowCompositor::makeBackgroundImage looped indefinitely cause QImage returned a 0,0 size of background.jpg.
> Maybe an extra check would help there :)
>
> Now I can launch Qt apps on the compositor, but they're not decorated, so I cannot move them around.
> That's my ultimate goal actually.
>
> I tried to export the use of a client decoration like this:
> QT_WAYLAND_DECORATION=bradient ./hellowindow -platform wayland --single
>
> But no window decoration. The libbradient.so plugin is there but apparently it's not picked up.
>
> Or aren't decorations supported at all on the brcm integration ?

> Indeed they aren't on GL windows. The goal with decorations is to move
> them to subsurfaces and just draw them with SHM, so we don't need to
> do hacks for GL windows like we do in the wayland-egl
> hardwareintegration.

So what's the whole point of having a compositor if you cannot do anything on windows ?
Can windows+decorations be treated like GL textures as part of the same GL window ?

I'm really starting to miss what we had with QWS in Qt4. There are too many limitations on the EGLFS QPA (see also QtMultimedia) and on embedded systems one cannot afford to have a full Xorg instance running.



>
>
>
> ----- Messaggio originale -----
> Da: Massimo Callegari <massimocallegari at yahoo.it>
> A: Giulio Camuffo <giuliocamuffo at gmail.com>
> Cc: "development at qt-project.org" <development at qt-project.org>
> Inviato: Mercoledì 4 Novembre 2015 15:33
> Oggetto: Re: [Development] Bit of help for QtWayland on a Raspberry Pi
>
>> A return status of 0 means that it was found. What is the actual error
>> you're hitting? Note that qtwayland can also be built without
>> xkbcommon.
>
> My problem was the compositor library not built. Then I read the README harder and built it with CONFIG+=wayland-compositor
>
> Now I (should) have all the libraries and plugins in place. So I tried to launch qwindow-compositor like this:
>
> export XDG_RUNTIME_DIR="/var/run"
> QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=brcm ./qwindow-compositor
>
> The output is:
> Unable to query physical screen size, defaulting to 100 dpi.
> To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
> using socket /var/run/wayland-0
> QPainter::begin: Paint device returned engine == 0, type: 3
>
> And nothing else. I see no changes on the screen.
> If I launch a Qt application with -platform wayland, it gets stuck and it is not rendered on screen.
>
> Any clue ?
> Thanks
>
>
>
> ----- Messaggio originale -----
> Da: Giulio Camuffo <giuliocamuffo at gmail.com>
> A: Massimo Callegari <massimocallegari at yahoo.it>
> Cc: "development at qt-project.org" <development at qt-project.org>
> Inviato: Mercoledì 4 Novembre 2015 15:04
> Oggetto: Re: [Development] Bit of help for QtWayland on a Raspberry Pi
>
> 2015-11-04 15:16 GMT+02:00 Massimo Callegari <massimocallegari at yahoo.it>:
>> Hey devs, I am trying to run the QtWayland qwindow-compositor example on a Raspberry Pi.
>>
>> I have a Debian Wheezy development environment and I cross compile Qt 5.5.1 on my PC.
>> Turns out that I can't compile QtWayland examples cause the compositor module is not built.
>>
>> According to the README, the following packages are needed:
>>
>> xkbcommon 0.2.0 - http://xkbcommon.org/
>> wayland 1.2.0 - http://wayland.freedesktop.org/
>>
>> And this is what I have in my environment:
>>
>> pi at raspberrypi ~ $ dpkg -l | grep xkb
>> ii  libxkbcommon-dev                      0.3.1-1rpi5                             armhf        library interface to the XKB compiler - development files
>> ii  libxkbcommon0:armhf                   0.3.1-1rpi5                             armhf        library interface to the XKB compiler - shared library
>> ii  libxkbfile1:armhf                     1:1.0.8-1                               armhf        X11 keyboard file manipulation library
>> ii  x11-xkb-utils                         7.7~1                                   armhf        X11 XKB utilities
>> ii  xkb-data                              2.5.1-3                                 all          X Keyboard Extension (XKB) configuration data
>>
>> pi at raspberrypi ~ $ dpkg -l | grep wayland
>> ii  libgail-3-0:armhf                     3.10.2-1+rpi9+waylandrpi1               armhf        GNOME Accessibility Implementation Library -- shared libraries
>> ii  libgtk-3-0:armhf                      3.10.2-1+rpi9+waylandrpi1               armhf        GTK+ graphical user interface library
>> ii  libgtk-3-bin                          3.10.2-1+rpi9+waylandrpi1               armhf        programs for the GTK+ graphical user interface library
>> ii  libgtk-3-common                       3.10.2-1+rpi9+waylandrpi1               all          common files for the GTK+ graphical user interface library
>> ii  libwayland-client0:armhf              1.4.0+git-0rpi1rpi6                     armhf        wayland compositor infrastructure - client library
>> ii  libwayland-cursor0:armhf              1.4.0+git-0rpi1rpi6                     armhf        wayland compositor infrastructure - cursor library
>> ii  libwayland-dev                        1.4.0+git-0rpi1rpi6                     armhf        wayland compositor infrastructure - development files
>> ii  libwayland-server0a:armhf             1.4.0+git-0rpi1rpi6                     armhf        wayland compositor infrastructure - server library
>> rc  libwayland0:armhf                     1.1.0-0rpi1                             armhf        wayland compositor infrastructure - shared libraries
>>
>> Apparently, the problem is in the detection of xkbcommon, cause the configure summary says this:
>>
>> xkbcommon-x11........... no
>> xkbcommon-evdev......... no
>>
>>
>> I've had a look at how the detection is performed and it's basically:
>> pkg-config --exists xkbcommon
>>
>> If I run it on my PC it returns 1, while on the Raspberry Pi it returns 0.
>
> A return status of 0 means that it was found. What is the actual error
> you're hitting? Note that qtwayland can also be built without
> xkbcommon.
>
>
> --
> Giulio
>
>
>>
>> I suspect I'm missing a package but I can't figure out which one.
>>
>> Any help is appreciated.
>>
>> Thanks,
>> Massimo
>> _______________________________________________
>> Development mailing list
>> Development at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/development
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development



More information about the Development mailing list