Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. QtWayland error on Raspberry Pi
Forum Updated to NodeBB v4.3 + New Features

QtWayland error on Raspberry Pi

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
4 Posts 3 Posters 2.9k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    sedlalu2
    wrote on last edited by
    #1

    Hello,
    I want to use wayland as my windowing system. Qt Cross compilation went really ok, without no errors (using Qt5.8 downloaded from download.qt.io).

    Cross compilation of qwindow-compositor is without any error too. But when I want to run app on my raspberry Pi, wierd error occures:

    QtCompositor: Failed to initialize EGL display. There is no EGL_WL_bind_wayland_display extension.

    I have tried to log this error via export QT_LOGGING_RULES=qt.qpa.*=true but that doesnt give me any information while the application
    cannot be started:

    qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm", "eglfs_kms")
    qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm", "eglfs_kms")
    qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm"
    qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_brcm"
    [9;0]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).
    qt.qpa.input: libinput: input device 'CHICONY USB Keyboard', /dev/input/event0 is tagged by udev as: Keyboard
    qt.qpa.input: libinput: input device 'CHICONY USB Keyboard', /dev/input/event0 is a keyboard
    qt.qpa.input: libinput: input device 'CHICONY USB Keyboard', /dev/input/event1 is tagged by udev as: Keyboard
    qt.qpa.input: libinput: input device 'CHICONY USB Keyboard', /dev/input/event1 is a keyboard
    qt.qpa.input: Using xkbcommon for key mapping
    QtCompositor: Failed to initialize EGL display. There is no EGL_WL_bind_wayland_display extension.
    

    Can you help me with this error, please?

    Using Raspberry Pi 3B with raspbian. Cross compilation was performed with config options:

    -opengl
    es2
    -optimized-qmake
    -no-pch
    -make
    libs
    -make
    tools
    -reduce-exports
    -sysroot
    /home/lukas/raspberry/sysroot
    -device
    linux-rasp-pi2-g++
    -device-option
    CROSS_COMPILE=/home/lukas/raspberry/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-
    -prefix
    /usr/local/rasp
    -opensource
    -nomake
    examples
    -nomake
    tests
    -confirm-license
    -skip
    qtwebengine
    -skip
    qtsensors
    -skip
    qtgamepad
    -skip
    qtmacextras
    -skip
    qtandroidextras
    -prefix
    /usr/local/qt5pi
    -extprefix
    /home/lukas/raspi/qt5pi
    -hostprefix
    /home/lukas/raspi/qt5
    
    1 Reply Last reply
    0
    • Cleiton BuenoC Offline
      Cleiton BuenoC Offline
      Cleiton Bueno
      wrote on last edited by Cleiton Bueno
      #2

      Did you export XDG_RUNTIME?

      Try:

      mkdir $HOME/.xdg
      export XDG_RUNTIME_DIR=$HOME/.xdg
      export QT_QPA_PLATFORM=wayland-brcm
      /home/user/your-app-qt -platform eglfs &
      

      Or:

      mkdir $HOME/.xdg
      export XDG_RUNTIME_DIR=$HOME/.xdg
      
      wayland-compositor &
      /home/user/your-app-qt -platform wayland
      

      I hope it helps!


      Cleiton Bueno

      Blog | Linkedin | B2Open

      1 Reply Last reply
      0
      • S Offline
        S Offline
        sedlalu2
        wrote on last edited by
        #3

        Thanks for the answer!

        I have tried that but the error still occurs. I have already tried to use previous version 5.7 of Qt but the result is not different at all.

        1 Reply Last reply
        0
        • sneubertS Offline
          sneubertS Offline
          sneubert
          wrote on last edited by
          #4

          Hi sedlalu2,

          the only way I got the raspberry pi (3 in my case) to work with wayland and egl was to use the vc4 driver.
          Additional I hade to cross-compile qt with the mkspec for linux-rasp-pi3-g++ and changed EGLFS_DEVICE_INTEGRATION
          in qmake.conf to eglfs_kms. Then I had to adjust the symlinks for libEGL.so and libGLESv2.so from /opt/vc/lib
          to /usr/lib/arm-linux-gnueabihf.

          Using vc4 has no notable drawback compared using the eglfs_brcm device integration, but the performance is
          very poor on weston and even worse on the qtwayland compositors.

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved