Tuesday, December 27, 2016

Binaries for POT 5.5.0-beta1 on Qt 5.8.0-rc1 and Experimental Accelerated QtWebKit

A new version of Qt is out and some interesting changes are being developed. Interesting work was done on WebEngine. This package contains an experimental build of Qt 5.8.0-rc1 with the POT driver to provide hardware acceleration to video decoding and rendering. POT was updated to build on the new plugin architecture of Qt and includes ffmpeg 3.2.2. For info on the content of the package refer to this article. The youtube player still runs on WebKit 1 and so is still hardly useful.

Please report issues on github. Have fun ;-)

Download POT 5.5.0-beta1 for Raspbian Jessie Lite Pi2 (also tested on Pi3) here (md5: 7ca1b961ab8c70176f6aeb13d0bc4f9a).

15 comments:

  1. Hello Luca!
    Thank you for your job! It is awesome

    I have tested your new binaries on my raspberry pi 3
    Here is simple instruction how to run it

    I have run it without window system with eglfs


    1) unpack on develop machine lrz package
    lrzuntar PiOmxTextures_5.5.0-beta1_pi2_jessiel_5.8.0-rc1.tar.lrz

    2) Copy to raspberry pi 3 device
    ssh pi@192.168.100.174 "/home/pi/PiOmxTextures_5.5.0-beta1_pi2_jessiel_5.8.0-rc1"
    scp ./PiOmxTextures_5.5.0-beta1_pi2_jessiel_5.8.0-rc1/* pi@192.168.100.174:/home/pi/PiOmxTextures_5.5.0-beta1_pi2_jessiel_5.8.0-rc1/

    3) unpack and move to system folder
    cd /home/pi/PiOmxTextures_5.5.0-beta1_pi2_jessiel_5.8.0-rc1/
    tar -xvf qtdeps.tar
    tar -xvf Qt-rasp2-5.8.0-rc1.tar
    sudo mv Qt-rasp2-5.8.0-rc1 /usr/local/

    4) export library path. I recommend to use LD_LIBRARY_PATH only for testing and debug
    export LD_LIBRARY_PATH=/home/pi/PiOmxTextures_5.5.0-beta1_pi2_jessiel_5.8.0-rc1/qtdeps/lib

    5) run application
    $ ./piomxtextures_browser_we https://www.youtube.com

    ReplyDelete
  2. If you have a problem with libGLESv2 library you can make a symlink

    sudo ln -s /opt/vc/lib/libGLESv2.so /opt/vc/lib/libGLESv2.so.2
    sudo ln -s /opt/vc/lib/libEGL.so /opt/vc/lib/libEGL.so.1
    sudo ldconfig

    You may need to install snappy library
    sudo apt-get install libsnappy-dev


    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: X-less xkbcommon not available, not performing key mapping
    QML QtWebEngine...
    js: /deep/ combinator is deprecated. See https://www.chromestatus.com/features/6750456638341120 for more details.
    js: This file is deprecated. Please use `iron-flex-layout/iron-flex-layout-classes.html`, and one of the specific dom-modules instead
    js: This file is deprecated. Please use `iron-flex-layout/iron-flex-layout-classes.html`, and one of the specific dom-modules instead


    ./piomxtextures_browser_wk http://www.youtube.com 1 ↵
    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: X-less xkbcommon not available, not performing key mapping

    It showing red screen and after 10 seconds working well

    ReplyDelete
    Replies
    1. Very interesting contribution! Hopes this helps someone having troubles using the package. Thanks!

      Delete
  3. Nice! Thanks again for this master piece!

    ReplyDelete
  4. After some apt-get update Qt's libraries starts failing.
    I receive segmentation fault when opening QML window with browser.
    My code hasn't changed, so it is OS update.
    Anybody saw this? How to repair?
    I tried to rebuild from scratch (took same raspbian os image), but got the same.

    ReplyDelete
    Replies
    1. One more note. After segmentation fault bash console hangs, while SSH session is alive and works well. This is an issue as well.

      Delete
    2. At the very end I finally rebuilt everything from sources with latest Raspbian, except hardware accelerated webengine (we do not use video playback from browser).

      Delete
  5. Hello Everyone,

    I am trying to use POT 5.5 with Raspbian Jessie Lite (January 2017). However, none of the applications work on my system. I copied all necessary files to /usr/local. Before attempting to run the browser(s), I exported the variables below:

    export QT_PLUGIN_PATH=/usr/local/plugins/
    export QTDIR=/usr/local/

    And here are the outputs from the trials:

    -------------------------
    pi@raspberrypi:/usr/local/bin $ ./piomxtextures_browser_wk
    qt.qpa.input: X-less xkbcommon not available, not performing key mapping
    Segmentation fault
    -------------------------
    pi@raspberrypi:/usr/local/bin $ ./piomxtextures_browser_we
    qt.qpa.input: X-less xkbcommon not available, not performing key mapping
    QML QtWebEngine...
    qrc:/poc_main.qml:1:1: module "QtQuick" is not installed
    qrc:/poc_main.qml:2:1: module "QtWebEngine" is not installed
    qrc:/poc_main.qml:1:1: module "QtQuick" is not installed
    qrc:/poc_main.qml:2:1: module "QtWebEngine" is not installed
    Segmentation fault
    -------------------------
    pi@raspberrypi:/usr/local/bin $ ./piomxtextures_browser_wk www.youtube.com
    qt.qpa.input: X-less xkbcommon not available, not performing key mapping
    QOpenGLFramebufferObject: Framebuffer incomplete attachment.
    (The screen gets dark. But nothing happens.)
    -------------------------
    pi@raspberrypi:/usr/local/bin $ ./piomxtextures_browser_we www.youtube.com
    qt.qpa.input: X-less xkbcommon not available, not performing key mapping
    QML QtWebEngine...
    qrc:/poc_main.qml:1:1: module "QtQuick" is not installed
    qrc:/poc_main.qml:2:1: module "QtWebEngine" is not installed
    qrc:/poc_main.qml:1:1: module "QtQuick" is not installed
    qrc:/poc_main.qml:2:1: module "QtWebEngine" is not installed
    Segmentation fault

    ReplyDelete
    Replies
    1. Sorry, your message was filtered by the antispam for some reason.
      Did you follow the procedure of Maxim Aleshin above?

      Delete
  6. Hello, thank you for sharing your work. Is there an ETA on releasing the source of 5.5.0-beta1? I'd like to try building against latest Qt 5.8 since I can't get the released binaries to work with qtcreator.

    Thank you

    ReplyDelete
    Replies
    1. Hello, if you follow the indications above you should succeed. However 5.5.0-beta1 will be uploaded asap. I need to find the time to do it.

      Delete
    2. Source code was uploaded to github.

      Delete
    3. Thank you, I've successfully built and tested qt 5.8 + piomxtextures and QtCreator seems to like accept the built qt as proper "Qt Version".

      Delete
    4. If anyone else is interested, I've documented my journey here: https://github.com/Kukkimonsuta/rpi-buildqt

      Delete