Coding Chase - Projects

My 3D Hub

Thank You For Donating:

Ikeeki (linux-sunxi@irc.freenode.net)
Computer Troubleshooters Brasil

Wednesday, 30 July 2014

Qt5Box v0.3 in the works

Having Qt5 marry GStreamer along with GStreamer acceleration for embedded is still to be, although from previous posts, both platforms are working decently enough on Cubieboard.

That said, Qt5Box v0.2 is all about Qt5 alone - no QtMultimedia, QtWebkit - and in even though QtMultimedia currently doesn't seem to support video acceleration (and with QML as well), it still manages to get something done if the video is SD.

Maybe there are some applications at present, concerning SD Webcams or SD video playback - that would be accessible.

So Qt5Box v0.3 will at least have (hopefully) GStreamer integration which is pretty straight-forward, and as for Webkit, still considering if that's an advantage as well!

Wednesday, 16 July 2014

Qt5Box v0.2 - Cubieboard A10 Fixes

Ok, so my cubieboard A10 model is severely crippled when it comes to video output, but I went ahead and tried to build Cubie A10 targets in Qt5Box.

Recently though, a member of the community reached out and decided to donate his cubieboard A10 to the project - and a big, big thank you goes out to him for his gesture.

Isaac Chavarria, a.k.a. ikeeki has been doing some outstanding work in the Cubieboard community and you're welcome to follow up on his work with Cubiuntu.

That said, I went on to test Qt5Box with Cubieboard A10. If you own one of these and wish to take Qt5Box v0.2 for a spin, then take these notes with you:

cb1-rootfs a.k.a. Cubieboard A10 Framebuffer:

- /opt needed write permissions for app deployment


after booting your cubieboard from the supplied SD Card image, change permissions to /opt like so:

# chmod -R a+rwx /opt/

that way, Qt Creator will be able to deploy the app files to your cubieboard.



cb1-rootfs-x11 a.k.a. Cubieboard A10 X11:

- /opt needed write permissions for app deployment (same as above)


- updated /etc/slim.conf with the correct user for auto-login
(having the wrong user set up would prevent slim from starting up properly and as a result of that, no Desktop)


Edit /etc/slim.conf and update the following line:

default_user        cubie

... and this is it for Cubieboard A10.


Of course, these fixes should be included in the next version of Qt5Box, once it's out!

Thursday, 19 June 2014

Qt5Box v0.2 is out!

Just finished uploading Qt5Box v0.2 to my Box.com account.

- This new version includes support for all the Cubieboard devices - A10, A20, Cubietruck
- Changed the default Ubuntu environment to gnome-classic without effects, in order to save on resources and usability
- Qt Creator is already included and pre-configured as usual, Qt 5.3.0 is already pre-compiled as well

For access to the files, you can either PM me in the Cubieforums or through here and supply a valid email address, to be granted access on the Box.com account.

The Virtualbox OVA file is about 16GB in size and once imported to Virtualbox, the VM will eat away at least 100GB of HDD.

More details in the README.1st doc, as usual.

Thursday, 5 June 2014

Cubieboard - Qt 5.3.0 [X11]

After building Qt 5.3.0 for Cubieboard A20 on Framebuffer, I went ahead with another build for X11. I wasn't expecting much hassle, but in the end, some "dirty hacks" were required to be able to cross-compile it, using the same steps and configure lines as with Qt 5.2.1.

As far as I could tell and also from what I gathered on IRC, the wows I got aren't so much Qt's responsability, but rather the Mali library headers for EGL, GLES, etc that may need updating.

In any case, getting past those hurdles and getting QtCinematicExperience to work required these modifications:

qtbase/src/gui/kernel/qplatformcursor.h

#include <QtGui/QCursor>

#   ifdef CursorShape
#       define X_CursorShape CursorShape
#       undef CursorShape
#   endif

QT_BEGIN_NAMESPACE


qtbase/src/platformsupport/eglconvenience/qeglplatformcursor.cpp


#include "qeglplatformintegration_p.h"

#   ifdef CursorShape
#       define X_CursorShape CursorShape
#       undef CursorShape
#   endif

QT_BEGIN_NAMESPACE


qtbase/src/platformsupport/eglconvenience/qeglplatformcontext.cpp

#include <QtCore/qtextstream.h>
#include "qeglplatformcontext_p.h"

Thursday, 29 May 2014

Cubieboard, Qt 5 on Framebuffer and VSync

My personal goals with Qt 5 and Cubieboard have always been to try to get the most bang for my buck.

On cubieboard A20/cubietruck, using r3p2-01rel02 Mali libraries and some tweaking in the fex script it's actually possible to make use of all the power in the GPU and see the FPS go up.

On framebuffer though, going on 80+ FPS and above, it becomes noticeable that some animations display a sort of tearing effect: the vertical refresh rate of the screens is unable to keep up with the actual frame rate and the end result isn't that clean.

Following up on that same issue,which was posted on the cubieforums thread a while back, I managed to find the time to test one solution that popped up - a disabled function inside the framebuffer files in the sunxi kernel.

Enabling the function and re-compiling the kernel did the trick and I think it actually solved the issue.

While waiting to hear back from the user who reported the issue, I posted a couple of videos on youtube hoping to be able to demonstrate the issue (the sun orb going around), and the apparent solution:

Qt 5.3.0 + Qt5 Cinematic Experience

After having Qt 5.3.0 running on my Cubieboard A20, I decided to run the usual Qt Cinematic Experience app from QuitCoding.

I got the Qt5_CinematicExperience_rpi_1.0.tgz version, same as usual, and while expecting to get the action, I got this instead:


Qt5_CinematicExperience.qml:26:5: Type MainView unavailable 
         MainView { 
         ^
/content/MainView.qml:241:9: Type SettingsView unavailable 
             SettingsView { 
             ^
/content/SettingsView.qml:88:13: Type Switch unavailable 
                 Switch { 
                 ^
/content/Switch.qml:9:21: Cannot assign a value to a signal (expecting a script to be run) 
         property string onText: "On" 

                         ^


This issue showed up on both systems - my laptop and cubieboard, and while not entirely sure why that was, the solution came out of editing Switch.qml and SettingsView.qml and doing the following replacements:

onText > textON
offText > textOFF

... and Cinematic Experience runs once more on both platforms! :)