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

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


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 ?



----- 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