Saturday, October 24, 2015

Raspbian Wheezy 05.05.2015 including Qt 5.5.0 and Accelerated Qt Multimedia Backend

As some asked in the past, this is a Raspbian Wheezy image 05.05.2015 with fully working POT built for armv6 (which therefore works on both Pi 1 and Pi 2). It includes Qt 5.5.0, POT, ffmpeg 2.7.2 and all the libs needed by Qt not provided by Raspbian.

Download Raspbian 05.05.2015 with Qt, ffmpeg, POT and all dependencies here (extraction code is: 22e9).
Sorry but the download will probably take very long.

Flash it on a micro SD-card and test by running some of the QML samples I placed in there:

/usr/local/Qt-rasp-5.5.0/bin/qmlscene samples/video_position.qml file:///home/pi/big_buck_bunny_1080p_h264.mov

Those are mostly tests for debugging so they won't make much sense. Also you can run a command like this:

./piomxtextures_pocplayer --multipleanimtest /home/pi/big_buck_bunny_720p_h264.mov /home/pi/big_buck_bunny_720p_h264.mov

(You'll need to transfer a 720p video for this demo as it will be running both videos concurrently.) On Pi 2 the result you'd get with full optimisations is this:

The version of POT included is 5.0.0. I don't test the samples for every release so it is possible some do not work. You can go to https://github.com/carlonluca/pi/tree/master/piomxtextures_samples and get updates.
This image only makes sense for a quick test, it is not fully optimised and it is not even built with armv7 optimisations for Pi 2. I may provide updates in the future if I got a considerable amount of requests (unfortunately uploading full images requires a considerable amount of time).

You can however write your own qml samples and run right away. You can rebuild just the library and replace it to strip away debug messages or to build a newer version. Also you can write your Qt apps, cross compile using your environment and run on the pi.
As usual report bugs to github.

Bye ;-)

42 comments:

  1. Luca,

    Great work as always :) I am trying to build my own minimal image using jessie but struggling to find a complete list of dependencies required for running the precompiled QT5 binaries you have kindly provided. I can find lists with packages for building QT5 but it seems excessive for just running the thing.

    Could you kindly provide a list of dependencies installed in your image, failing that I suppose I could download it and try and work it out from the files within the image?

    Thanks for your help.

    ReplyDelete
  2. If you want a minimal image you should start from yocto or use buildroot probably.
    However it depends on the Qt build. A build can have optional deps. If you need the minimal set I'd just check the libs that are dep of each Qt shared lib. This image for instance should contain only the runtime set. But the Qt build is pretty large. You may make it smaller depending on your needs.

    ReplyDelete
    Replies
    1. Thanks Luca, perhaps "lightweight" rather than minimal is more descriptive, I am using the netinstall method to create the image. I am only interested in the runtime dependency requirements.

      Delete
  3. Hello and thank you for your work. I have an issue with this image. When I ran piomxtextures_pocplayer --multipleanimtest with big_buck_bunny's on my pi2 I got dropped frames and stuttering, but your video shows smooth playback. Any help ?

    ReplyDelete
    Replies
    1. Did you run the 1080p versions? Pi can't animate two 1080p videos. Also that version was a armv7 optimised build running on a Pi2 with overclocked GPU. You'll need to properly rebuild POT to get that.

      Delete
    2. I ran videos provided in your image, 720p I suppose. Also I thought that armv7 optimization should not impact video playback performance because video decoding occurs on gpu. Please enlighten me.

      Delete
    3. I don't remember, I think I provided a 1080p video... what is the name of the file? Yes, most of the work is done by the GPU, but still the CPU is not out of the equation. I do not expect a visible difference between the armv6 and the armv7 build, but you need to remove all the logs because that is a considerable load on the CPU, I think you have many. Relevant also is a proper overclocking.

      Delete
  4. hello Luca,

    is there any chance to ask you if you can also provide image for amv7 and fully optimized and so everyone can add their needs?

    If it is a highly specialized request, I do pardon :S

    Sina

    ReplyDelete
    Replies
    1. This firmware is mostly a reference; you can build optimized libs and replace the ones you have in there. You'll still have to remove all the logs etc...
      Unfortunately setting up an image and uploading it requires a considerable amount of time. Maybe a Jessie image in the future.

      Delete
    2. Thank you but at my point, optimization for a build is hard to do. I do not have any experience and guide to manage it. Do you have any great document to start to learn about it?

      Delete
  5. Hi Luca, there is possibility of providing some information to integrate WebEngine or WebKit module ?? I still can not find information to integrate additional modules.

    Thanks.

    ReplyDelete
    Replies
    1. What do you mean by integrating?

      Delete
    2. I refer to "install" any of these modules for use with QT5.

      Thanks for your time.

      Delete
    3. You should be able to build them like any other library using the Qt build in the image. However at the moment I do not have those at hand, sorry. Maybe in the future, it depends on the time I have available.

      Delete
    4. Ah, ok Luca. I try to compile this module.

      Your work is awesome.
      Thanks.

      Delete
  6. I'm execute this command "sudo /usr/local/Qt-rasp-5.5.0/bin/qmake -r" to compile WebEngine but this show me the next error:
    /usr/local/Qt-rasp-5.5.0/bin/qmake: 1: /usr/local/Qt-rasp-5.5.0/bin/qmake: Syntax error: Unterminated quoted string

    I'm looking for the solution but still can not find it. Could anyone help with this?

    Thank you a lot.

    ReplyDelete
    Replies
    1. I can't provide guarantees, but if possible, the next update of POT will include a QtWebKit build.

      Delete
    2. Great news, I hope it can be real. Your work is very good.

      Anyway I want to understand how I can prepare QT5 CROSSCOMPILE.
      It is an ambitious but important for my goal.

      Thanks for everything Luca.
      You have a good day.

      Delete
    3. Latest binaries include QtWebKit.

      Delete
    4. Thanks Luca, this is awesome.

      Now I need to read so much to learn how I can make my own cross compile system.

      Thanks again.

      Delete
  7. Hi luca and thank you for your very good job and your share , amazing !!! I just have a problem with your binaries. I would like to use qtBluetooth with my raspberry (wheezy). I have installed bluez (4.99) and my adaptator (TrendNet TBW-106UB) works fine on the terminal (hcitool scan). Now if i try with Qt nothing work. I have tried Bluetooth scanner example and Bluetooth heart listener but qt didn't detect my device. After i research i found that qt need to be build with Dbus and Buez : http://forum.qt.io/topic/39203/solved-question-about-bluetooth-scanner-example and https://forum.qt.io/topic/42354/raspberry-pi-and-bluetooth/2. Can you said us if you build Qt with this dependencies ? Is not, is it possible for you build the Qt binaries with it please ?

    ReplyDelete
    Replies
    1. Hello, yes, I typically build including support for dbus, but sorry, I don't think this includes Qt Bluetooth. That is not included even in the latest build. Yes, I may consider uploading a new build adding that.

      Delete
    2. Hi, thank you for your rapid answer ! It would be very interesting to have qt Bluetooth on the next release if you could (not only for me i think) ! Thank you in advance !

      Delete
    3. Bluetooth support is built in the latest binaries and in the latest image. But just for Pi2.

      Delete
  8. Thanks a lot for you job! Sorry, but I can't open download link. Can anybody upload to torrent or ftp?

    ReplyDelete
  9. Luca, how can I use this image to cross compile on host? I'm trying to mount the img using the following command on OSX:

    sudo mount -o loop,offset=62914560 2015-05-05-raspbian-wheezy.img /mnt/rasp-pi-rootfs

    https://wiki.qt.io/RaspberryPi_Beginners_Guide

    It says that I need to specify -t. Can you help me?

    ReplyDelete
    Replies
    1. It shouldn't be any different than a standard raspbian.

      Delete
    2. OSX doesnt support ext4 by default. BTW I'm using rsync to transfer the files from rpi to osx but I also need to build the compiler for osx. Most of the tutorials are for linux http://wiki.qt.io/RaspberryPi2EGLFS

      Have you tried to use osx?

      Delete
    3. Yes, but I use a linux virtual machine.

      Delete
    4. I found a cross compile binary for OSX. I tried to run the ./configure but it failed to compile/load some modules like ALSA or GStreamer 1.0 http://pastebin.com/seXebMgj

      The configure is looking for it into the sysroot folder, isn't it? I have copy the files from your image using it mkdir sysroot sysroot/usr sysroot/opt
      rsync -avz pi@IP:/lib sysroot
      rsync -avz pi@IP:/usr/include sysroot/usr
      rsync -avz pi@IP:/usr/lib sysroot/usr
      rsync -avz pi@IP:/opt/vc sysroot/opt

      Maybe I am giving configure a wrong path...

      Delete
    5. Taking the libudev example http://pastebin.com/tfyVs6Z8

      The compiler says that doesn't find libudev.h and search for it in sysroot folder and mainly on the includes paths I can't find it also. Should I copy another location from rpi to my pc?

      Delete
  10. I just found another strange behavior. I tried to run qmake from /usr/local/Qt-raspi-5.5.0/bin directly on RPi and:

    pi@raspberrypi /usr/local/Qt-rasp-5.5.0/bin/bin $ ./qmake
    -bash: ./qmake: cannot execute binary file

    ReplyDelete
  11. I though I need to cross compile qt but it looks like you shared it on Qt-rasp-5.5.0 folder. BTW there is also a qmake on PI that I can use?

    ReplyDelete
    Replies
    1. You already have all you need in the build. But qmake is built for x86_64, it is intended for crossbuilding.

      Delete
    2. Hi again,

      I need to use a most recent version of raspbian to be able to use a 5inch lcd I got. For some reason I can't make it work with Wheezy :( Would you mind to do a detailed guide on how to compile your library and configure qt? I saw your posts about building the library but you assume the reader is proficient with it.

      thank you

      Delete
  12. I didn't manage to make mine LCD to work with wheezy. I tried also to upgrade to jessie but is doesn't work. Now i'm trying this tutorial https://wiki.qt.io/RaspberryPi2EGLFS can you guide me what I need to do after complete this tutorial? Or do I need to do something before start compiling Qt to get video working with your backend?

    ReplyDelete
    Replies
    1. I'm sorry, but whatever I do, it will still be a little convoluted. That is why I provide builds. Are you sure you need to rebuild it?

      Delete
    2. I tried everything from the feedback I received on rpi foruns on how to make the LCD work but for some reason it only works with jessie image :s

      Right now I'm folliwng it: https://wiki.qt.io/RaspberryPi2EGLFS and after it is working I'll try this post http://thebugfreeblog.blogspot.it/p/build-procedure-for-piomxtextures.html is it updated?

      Thank yuo for all!

      Delete
  13. Is big_buck_bunny_1080p_h264.mov really necessary, considering its impact on download and unpacking speed.

    ReplyDelete
  14. I want to download "Fully Optimised Raspbian Jessie with Accelerated Qt Multimedia Backend (Pi2)" and "Raspbian Wheezy 05.05.2015 including Qt 5.5.0 and Accelerated Qt Multimedia Backend" image files but links not working, can you help me?

    ReplyDelete
    Replies
    1. Yes it seems the service is shutting down. I'll try to move somewhere else.

      Delete