Skip to content
This repository has been archived by the owner on Feb 22, 2023. It is now read-only.

Feedback for pi 2 #14

Open
maitredede opened this issue Jul 5, 2017 · 8 comments
Open

Feedback for pi 2 #14

maitredede opened this issue Jul 5, 2017 · 8 comments

Comments

@maitredede
Copy link

Compiled successfully for a raspberry pi 2. I had to restart compilation from a clean ~/raspi directory.

Tried to run piomxtextures_pocplayer :

pi@raspberrypi:~ $ export QT_LOGGING_RULES=qt.qpa.*=true
pi@raspberrypi:~ $ ~/piomxtextures_pocplayer /opt/vc/src/hello_pi/hello_video/test.h264
qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm", "eglfs_emu")
qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm", "eglfs_emu")
qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm"
qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_brcm"
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 'Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )', /dev/input/event1 is tagged by udev as: Keyboard
qt.qpa.input: libinput: input device 'Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )', /dev/input/event1 is a keyboard
qt.qpa.input: libinput: input device 'Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )', /dev/input/event2 is tagged by udev as: Keyboard
qt.qpa.input: libinput: input device 'Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )', /dev/input/event2 is a keyboard
qt.qpa.input: libinput: input device ' USB OPTICAL MOUSE', /dev/input/event0 is tagged by udev as: Mouse
qt.qpa.input: libinput: input device ' USB OPTICAL MOUSE', /dev/input/event0 is a pointer caps
qt.qpa.input: X-less xkbcommon not available, not performing key mapping
15:35:00.840 INFO:       Showing media: /opt/vc/src/hello_pi/hello_video/test.h264.
15:35:00.842 VERB:       Can't find extension for .
15:35:00.842 VERB:       Can't find extension for image/svg+xml-compressed.
15:35:00.842 VERB:       Can't find extension for image/vnd.microsoft.icon.
15:35:00.843 VERB:       Unrecognized media: assuming video.
15:35:00.843 VERB:       Setting media source...
15:35:00.986 WARN:       Warning: "Jack server not found"
15:35:00.990 WARN:       Warning: "No decoder available for type 'video/x-h264, stream-format=(string)byte-stream'."
15:35:00.991 VERB:       Stopped signal received!
15:35:00.996 WARN:       Error: "Your GStreamer installation is missing a plug-in."

These warnings should be documented :

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

For the official touch screen (doc), solution may be to :

export QT_QPA_EGLFS_PHYSICAL_WIDTH=154
export QT_QPA_EGLFS_PHYSICAL_HEIGHT=86

For the others, I don't have any idea yet.

@maitredede
Copy link
Author

maitredede commented Jul 5, 2017

Simple test of webengine :
On the pi 2, I have cross-compiled a simple app containing a main window with a WebEngineView.

[3652:3678:0705/160228.393352:ERROR:surface_factory_qt.cpp(68)] Failed to load /home/damien/raspi/sysroot/opt/vc/lib/libEGL.so.1: /home/damien/raspi/sysroot/opt/vc/lib/libEGL.so.1: cannot open shared object file:
No such file or directory
[3652:3678:0705/160228.988572:ERROR:gl_surface_qt.cpp(661)] Requested OpenGL implementation is not supported. Implementation: 0

I seams to try to load the libraries from the cross-compiled environment...

If I make symbolic links into recreated directory as the app wants, it works, and I have also mouse interaction. But no keyboard interaction. I will make a fresh raspbian lite install to see if it is not related to additionnal things I have made...

edit :
On the pi, I ran :

sudo mkdir -p <host_home>/raspi/sysroot/opt/vc/lib/
sudo ln -s /opt/vc/lib/libEGL.so <host_home>/raspi/sysroot/opt/vc/lib/libEGL.so.1
sudo ln -s /opt/vc/lib/libGLESv2.so <host_home>/raspi/sysroot/opt/vc/lib/libGLESv2.so.2

@maitredede
Copy link
Author

Keyboard :
Inspired from : carlonluca/pot#54

export QT_QPA_EGLFS_NO_LIBINPUT=1

Keyboard is working, but I didn't figure yet how to change the default US layout. Some doc : here.

@zevero
Copy link

zevero commented Jul 5, 2017

Wow! I am already waiting for months to get mouse interaction on qtwebengine ... Did you use the master or dev branch of this script? Did you compile for 5.8 or 5.9?
How is performance?
Does it work flawlessly?
I experienced for example when loading html5test.com that it loads fairly quickly, but at some time it reloads and stops at 70% (if you show the progress bar) not moving any further...

@maitredede
Copy link
Author

maitredede commented Jul 5, 2017 via email

@maitredede
Copy link
Author

For html5test, I score a 512/555. I ran the app 5 times, always displaying the result.
I have somme messages from the webbrowser :

js: The <keygen> element is deprecated and will be removed in M57, around March 2017. See https://www.chromestatus.com/features/5716060992962560 for more details.
js: The 'options' directive has been replaced with 'unsafe-inline' and 'unsafe-eval' source expressions for the 'script-src' and 'style-src' directives. Please use those directives instead, as 'options' has no effect.

@Kukkimonsuta
Copy link
Owner

I have pushed update to dev with hopefully working qtwebengine and maybe even keyboard without QT_QPA_EGLFS_NO_LIBINPUT. Issue with Failed to load ...libEGL.so.1... should be fixed without having to create symlinks.

I don't have time to verify whole build process again, but feel free to try. Note that there were changes (adding xkbcommon-dev as dependency) in qtbase, so full rebuild is required for that.

@Kukkimonsuta
Copy link
Owner

Kukkimonsuta commented Jul 8, 2017

I have verified the 5.9.1 build on rpi 3:

  • keyboard and mouse seem to work fine
  • libEGL is loaded properly, but making some symlinks on rpi is still required, so readded to instructions
  • HTTPS websites now work too
  • html5test results in 512/555
  • performance is not the best, but acceptable
  • youtube works @ 480p; 720p/1080p lags. I believe the video is not using piomxtextures and likely not even gst-omx, but I don't have any more time to invest into it

All tested using the "minimal" example bundled with QT.

@thijstriemstra
Copy link

thijstriemstra commented Oct 25, 2017

On the pi, I ran

Found this ticket with google search and a note to others using raspbian stretch

sudo ln -s /opt/vc/lib/libbrcmGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0
sudo ln -s /opt/vc/lib/libbrcmEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants