Author Topic: Qt5 build for cubieboard  (Read 204736 times)

Offline wickwire

  • Full Member
  • ***
  • Posts: 144
  • Karma: +10/-0
    • View Profile
Re: Qt5 build for cubieboard
« Reply #30 on: October 07, 2013, 07:29:15 am »
linaro@linaro-alip:~$ locate ump.h
/home/linaro/sunxi-mali/include/ump/ump.h
/usr/include/boost/exception/detail/object_hex_dump.hpp
/usr/include/ump/ump.h
linaro@linaro-alip:~$

This is on my A10 - make sure you have ump headers available, they should be included with the sunxi-mali git sources - just make them available as well

derekdhaas

  • Guest
Re: Qt5 build for cubieboard
« Reply #31 on: October 07, 2013, 01:01:58 pm »
linaro@linaro-alip:~$ locate ump.h
/home/linaro/sunxi-mali/include/ump/ump.h
/usr/include/boost/exception/detail/object_hex_dump.hpp
/usr/include/ump/ump.h
linaro@linaro-alip:~$

This is on my A10 - make sure you have ump headers available, they should be included with the sunxi-mali git sources - just make them available as well
The "make install" won't output ump.h to /usr/include/ump/ but I think this won't be the only thing going wrong. Well I compiled  the r3p0, which will move all files correctly and will dig into the problem soon. Or have you already compiled r3p2 correctly?

Have you tried compiling QT5 yet on the A20?

I've tried compiling QT5.1.0, without Webkit, on cubian, which will compile successfully.
Then tried to compile Webkit on it's own, including the dependencies needed, which failed...

Tried compiling QT5.1.1, with webkit, on cubian, which failes on compiling webkit, using GCC/G++ 4.7 (4.6 fails)
Tried compiling QT5.1.1 on the new Linaro ROM of patwood, which also failed on webkit...

Couldn't test much more ;) since compiling will take about 13 hours to complete.

I've altered my post a bit to include all dependencies on Debian/Linaro/Ubuntu and will give it another shot next weekend.
« Last Edit: October 07, 2013, 01:04:35 pm by derekdhaas »

mattli

  • Guest
Re: Qt5 build for cubieboard
« Reply #32 on: October 07, 2013, 09:50:15 pm »
Some information that I try build QT 5.1.1 on the A20 (without X11)
I also got the error today.
Code: [Select]
....
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions.
make[3]: *** [.obj/release-shared/svg/SVGAllInOne.o] Error 4

It seem out of memory in the A20 when build webkit of qt 5.1.1
ref:
http://qt-project.org/forums/viewthread/23209
https://bitcointalk.org/index.php?topic=304389.0

Try to add swap file in the SATA HDD
Code: [Select]
dd if=/dev/zero of=/mnt/sda1/swap bs=1M count=4096
mkswap /mnt/sda1/swap
swapon /mnt/sda1/swap

It is still going on make (Note: not add "-j 2", it cause too much memory usage)

Any other information about r3p2 mali test:
Success run sunxi-mali "test" program on framebuffer mode.
Base on Cubian-base-r2-arm-a20.img
My change :
kernel use ssvb's branches - https://github.com/ssvb/linux-sunxi/tree/20130913-mali-r3p2-01rel2
kernel config - https://www.dropbox.com/s/rj25a4f669xoosb/kernel_mali-r3p2-01rel2.config?m
Mali library - http://dl.cubieboard.org/software/libs/mali400-gles11-gles20-linux-ump-no_monolithic-rgb_is_xrgb_fb_r3p2-01rel2.tar
Test program build from -
Code: [Select]
git submodule init
git submodule update
make config ABI=armhf VERSION=r3p0 EGL_TYPE=framebuffer
cd test
make

Test program result :
Quote
root@Cubian:/mnt/nfs/tmp/20131007_cubian_a20/sunxi-mali/test# ./test
EGL Version: "1.4 Linux-r3p2-01rel2"
EGL Vendor: "ARM"
EGL Extensions: "EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_lock_surface EGL_KHR_lock_surface2 EGL_EXT_create_context_robustness "
Surface size: 480x480
GL Vendor: "ARM"
GL Renderer: "Mali-400 MP"
GL Version: "OpenGL ES 2.0"
GL Extensions: "GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_ARM_mali_program_binary GL_EXT_shader_texture_lod GL_EXT_robustness GL_OES_depth_texture_cube_map "

Has unknown problem:
After a few minutes HDMI output become as blank.

derekdhaas

  • Guest
Re: Qt5 build for cubieboard
« Reply #33 on: October 08, 2013, 08:02:41 am »
If it's 10 minutes, it's due to the following:
http://www.cubieforums.com/index.php/topic,838.msg4910.html#msg4910 (tnx to PatWood)

mattli

  • Guest
Re: Qt5 build for cubieboard
« Reply #34 on: October 08, 2013, 09:01:05 pm »
Build QT 5.1.1 on cubian, still has link fail with libQt5WebKit.so.5.1.1.
error messge:
Code: [Select]
/usr/bin/ld: BFD (GNU Binutils for Debian) 2.22 assertion fail ../../bfd/elf32-arm.c:12049
Another I also try use buildroot snapshot 20131001.
It is support cubieboard2 board and QT 5.0.2 package.
config file - https://www.dropbox.com/s/stmxd1kpcg357r8/buildroot-20131001-cb2.config
build is success and after build done.
Manual use cubian's 3.4.61+ uImage, modules and mali r3p0.

sunxi-mali test program is fine.
Code: [Select]
# /root/sunxi-mali/test/test
New session opened
EGL Version: "1.4 Linux-r3p0-04rel0"
EGL Vendor: "ARM"
EGL Extensions: "EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_lock_surface EGL_KHR_lock_surface2 "
Surface size: U480x480
GL Vendor: "ARM"
GL Renderer: "Mali-400 MP"
GL Version: "OpenGL ES 2.0"
GL Extensions: "GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_EXT_shader_texture_lod "
UMP Session closed

But run Qt5_CinematicExperience fail.
Code: [Select]
EGL Error : Could not create the egl surface: error = 0x300b
Is any one success run QT5 on the cubieboard2 without X11?

another issue that HDMI blank issue is fixed by add "consoleblank=0".


derekdhaas

  • Guest
Re: Qt5 build for cubieboard
« Reply #35 on: October 09, 2013, 02:02:25 am »
Build QT 5.1.1 on cubian, still has link fail with libQt5WebKit.so.5.1.1.
error messge:
Code: [Select]
/usr/bin/ld: BFD (GNU Binutils for Debian) 2.22 assertion fail ../../bfd/elf32-arm.c:12049
Another I also try use buildroot snapshot 20131001.
It is support cubieboard2 board and QT 5.0.2 package.
config file - https://www.dropbox.com/s/stmxd1kpcg357r8/buildroot-20131001-cb2.config
build is success and after build done.
Manual use cubian's 3.4.61+ uImage, modules and mali r3p0.

sunxi-mali test program is fine.
Code: [Select]
# /root/sunxi-mali/test/test
New session opened
EGL Version: "1.4 Linux-r3p0-04rel0"
EGL Vendor: "ARM"
EGL Extensions: "EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_lock_surface EGL_KHR_lock_surface2 "
Surface size: U480x480
GL Vendor: "ARM"
GL Renderer: "Mali-400 MP"
GL Version: "OpenGL ES 2.0"
GL Extensions: "GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_EXT_shader_texture_lod "
UMP Session closed

But run Qt5_CinematicExperience fail.
Code: [Select]
EGL Error : Could not create the egl surface: error = 0x300b
Is any one success run QT5 on the cubieboard2 without X11?

another issue that HDMI blank issue is fixed by add "consoleblank=0".

Mattli, please check out: http://qt-project.org/forums/viewthread/25777

Wickwire had the same issue, maybe he found out something to fix this issue. Also:
Quote
I’m not quite sure if I can help you but I had similar errors with the eglfs on the beagleboard.
What I did I set the folowing environment variables:
export QT_QPA_EGLFS_DEPTH=16
export DISPLAY=:0
Seems to work on the beagleboard, with the same issue.

Also read this:
http://forums.arm.com/index.php?/topic/16630-egl-error-could-not-create-the-egl-surface-error-0x300b/

Did you use -opengl es2 during ./configure?
« Last Edit: October 09, 2013, 02:06:06 am by derekdhaas »

Offline wickwire

  • Full Member
  • ***
  • Posts: 144
  • Karma: +10/-0
    • View Profile
Re: Qt5 build for cubieboard
« Reply #36 on: October 09, 2013, 05:16:40 am »
Hi guys,

Quick post on my end:

I think we have several things going on at the moment here (different objectives), so let's just sum them up and see where we're at:

- Qt 5.1.1 on Cubieboard 2, Linux:

derekdhaas has had success with this already, r3p0 - since we are going with Cubian, it would be interesting to get Qt5 working with the supplied repo packages for mali (there's also a mali-dev package which includes the headers you were missing)

With Qt5 and r3p0 working with Cubian, we are already able to compare performance between A10 and A20 - worst case scenario, A20 will perform as A10 did

The accelerated browser seems like a great short term plan, afterwards I'll consider the A20's optimizations with ssvb's tweaks

I'm currently building Qt5.1.1 on my A20 as well, followed derekdhaas guide slightly:

On Cubian, installed LXDE with OpenGL support (this pulls in the mali-libs package)
Then searched for the mali-libs-dev package, found one, installed, it pulled in the headers

Building Qt5.1.1 at the moment, if all goes well, will test the cinematic demo - and then try the accelerated browser.

mattli: with the A10 I also got the triangle running with FB mali libs but couldn't build Qt5 at the time, can't remember exactly why - but switching to X11 mali alone, it worked... So back then I decided to continue with X11 mali libs.

I'm unsure, but I think it might be related to the -platform eglfs which didn't work on Cubie... anyways, if you have any success building and using Qt5 on FB alone, let us know - that was my initial goal, to ditch X completely!

Offline wickwire

  • Full Member
  • ***
  • Posts: 144
  • Karma: +10/-0
    • View Profile
Re: Qt5 build for cubieboard
« Reply #37 on: October 09, 2013, 05:40:11 am »
20130913-mali-r3p2-01rel2:

I tried building a linaro SD card image from scratch, similarly to what I had for A10 - but at the sunxi FirstSteps page, the easy approach - sunxi-bsp - didn't work properly. So I followed the guide with the "manual" approach, building the kernel, decompressing the rootfs, partitioning the SD card, etc etc etc but in the end, cubie2 wouldn't boot from the card - would move on to Android in the NAND. I tried adapting Cubian's boot files to my custom Linaro image, but no go, let it go for now.

Since 20130913-mali-r3p2-01rel2 requires ssvb's patches on the sunxi kernel, I'd guess that the best approach would be as mattli attempted I think: to start with a Cubian image, lots of space on the card or SATA HDD mount, pull in ssvb's modified kernel sources, recompile the kernel from within Cubian, reboot cubie2 with the new kernel and install the 20130913-mali-r3p2-01rel2 - but at this point, the X11 and not FB ones, and then move on to building Qt5 against them.

Also, I'm using an 8GB card and reserved 2GB for swap - this seemed to help with the memory usage being reported - by default, Cubian doesn't address swap space.

I also used one core only for building, started with two but Cubie crashed after a while - I'm using it inside a case, temperature maybe?

mattli

  • Guest
Re: Qt5 build for cubieboard
« Reply #38 on: October 09, 2013, 06:14:52 am »
Still try use buildroot for run QT5 on the A20 (cubieboard2).
Because the file system is more small and shorter build time.

Now success run some of QT 5.0.2 examples and Qt5_CinematicExperience
  qt5quick1-5.0.2_example/flickr , qt5base-5.0.2_examples/gui/openglwindow, ..
  Qt5_CinematicExperience (about 28 fps within 1080p, 44fps within 720p)
  (not add "export QT_QPA_EGLFS_DEPTH=16 and export DISPLAY=:0" )

But fail run opengl example.
qt5base-5.0.2_examples/opengl/hellowindow
Code: [Select]
EGL Error : Could not create the egl surface: error = 0x3003
Anyone known how to increase performance of QT5 in the A20?
The Qt5_CinematicExperience performance is not very good when click one of image by mouse,
the fps down to 15fps (within 1080P)

My step information
A. Buildroot source - https://www.dropbox.com/s/1mz00r2i1gqkx13/buildroot-20131001-cb2-qt5.tgz (2.6MB)
    modify buildroot 20131001 snapshort by reference https://github.com/mireq/buildroot-a13-olinuxino
    it is backport BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_04
    and add qt5base-eglfs-native-window.patch for qt5 base package

    buildroot config - buildroot-20131001/.config
    kernel is use git of https://github.com/patrickhwood/linux-sunxi (5451ddfe213394e26e957d5fe66fc4b694b2516c)
    kernel config file - buildroot-20131001/board/cubietech/cubieboard/linux-patwood.config
    mali is r3p0
   
B. Make a bootable SD-card
Code: [Select]

    cd buildroot-20131001/output/images
    sudo mkfs.vfat /dev/sdd1
    sudo mkfs.ext4 /dev/sdd2
    sudo mount /dev/sdd1 /mnt/tmp
    sudo cp -a boot.scr /mnt/tmp/
    sudo cp -a uImage /mnt/tmp/
    sudo cp -a script.bin /mnt/tmp/
    sudo echo "extra=consoleblank=0" > /mnt/tmp/uEnv.txt
    sudo umount /mnt/tmp

    sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdd bs=1024 seek=8
    sudo mount /dev/sdd2 /mnt/tmp
    sudo tar xf rootfs.tar -C /mnt/tmp/
    sudo mkdir -p /mnt/tmp/usr/share/fonts
    sudo cp -a ../build/qt5base-5.0.2/lib/fonts/*.ttf /mnt/tmp/usr/share/fonts/
    sudo umount /mnt/tmp

C. binary of Qt5_CinematicExperience
   https://www.dropbox.com/s/mgn3ixr0l903bhg/Qt5_CinematicExperience.bin.tgz (2.9MB)
 
« Last Edit: October 10, 2013, 11:39:42 pm by mattli »

Offline wickwire

  • Full Member
  • ***
  • Posts: 144
  • Karma: +10/-0
    • View Profile
Re: Qt5 build for cubieboard
« Reply #39 on: October 10, 2013, 05:40:21 am »
derekdhaas, did you try the Cinematic Demo after building Qt5 on your A20, as referenced on the A10 guide?

http://linux-sunxi.org/Qt5

My build finally ended (successful build), the Cinematic Demo code compiles fine but running it I get "shader program is not linked"

Just checking that your build is functional before working on the accelerated browser.

mattli

  • Guest
Re: Qt5 build for cubieboard
« Reply #40 on: October 10, 2013, 10:47:05 pm »
Currently status for run QT5 without X11

   Follow my modify of buildroot 20131001. After manual use ssvb's r3p2 kernel and libMali.so
I got about 1.5x fps of Qt5_CinematicExperience
720p - 85 ~ 88 fps
1080p - 45 ~ 48 fps

Continue to do some of experiment.
1. QT 5.0.2 build include Webkit
    or upgrade to QT 5.1.1
2. Try to use linux-sunxi git of stage/linux-3.4
    Because my test version of kernel still not stable and has some bugs.
    Like run "poweroff", kernel panic ..

3. Try different QT graphic platform (directfbegl , directfb, eglfs)
    Because I am beginner of QT5 and not very understanding of those platform different.
    In my understanding - 
        directfb is use sunxi G2D,  eglfs is use sunxi MALI
        directfbegl  ??
    To do real test to find out the better performance for QtQuick.
    (If someone has already know this, could you share information?)

I saw some informations http://archive.is/OMrvw (old http://linux-sunxi.org/Mali400 page)
Is G2D is better than Mali in some case??

Quote
TODO for developers
..
Integrate G2D support for 2D acceleration, right now Mali drivers sometimes are slower than FBDEV in 2D tasks. Example of EXA integration with 2D acceleration from qualcomm: https://www.codeaurora.org/gitweb/quic/xwin/?p=xf86-video-msm.git;a=blob;f=src/msm-exa-c2d.c;hb=refs/heads/chromium

Matt.
« Last Edit: October 10, 2013, 11:06:56 pm by mattli »

derekdhaas

  • Guest
Re: Qt5 build for cubieboard
« Reply #41 on: October 14, 2013, 03:24:27 am »
Currently status for run QT5 without X11

   Follow my modify of buildroot 20131001. After manual use ssvb's r3p2 kernel and libMali.so
I got about 1.5x fps of Qt5_CinematicExperience
720p - 85 ~ 88 fps
1080p - 45 ~ 48 fps

Continue to do some of experiment.
1. QT 5.0.2 build include Webkit
    or upgrade to QT 5.1.1
2. Try to use linux-sunxi git of stage/linux-3.4
    Because my test version of kernel still not stable and has some bugs.
    Like run "poweroff", kernel panic ..

3. Try different QT graphic platform (directfbegl , directfb, eglfs)
    Because I am beginner of QT5 and not very understanding of those platform different.
    In my understanding - 
        directfb is use sunxi G2D,  eglfs is use sunxi MALI
        directfbegl  ??
    To do real test to find out the better performance for QtQuick.
    (If someone has already know this, could you share information?)

I saw some informations http://archive.is/OMrvw (old http://linux-sunxi.org/Mali400 page)
Is G2D is better than Mali in some case??

Quote
TODO for developers
..
Integrate G2D support for 2D acceleration, right now Mali drivers sometimes are slower than FBDEV in 2D tasks. Example of EXA integration with 2D acceleration from qualcomm: https://www.codeaurora.org/gitweb/quic/xwin/?p=xf86-video-msm.git;a=blob;f=src/msm-exa-c2d.c;hb=refs/heads/chromium

Matt.

Mattli, great job. I've took some days off, but great to see such progress. Can you tell me how you compiled the sunxi-mali driver itself?

To feed some information
http://qt-project.org/wiki/DirectFBAndQt There are 2 plugins for DirectFB...

http://directfb.org/docs/DirectFB_EGL_2013-10-07.pdf (not that usefull but has some information about the different ways of displaying)

(When googling: https://www.google.nl/search?q=directfb+g2d&oq=directfb+g2d&aqs=chrome..69i57.3650j0j7&sourceid=chrome&espv=210&es_sm=93&ie=UTF-8 it looks like DirectFB is indeed accelerated by G2D)

Offline cubieplayer

  • Full Member
  • ***
  • Posts: 177
  • Karma: +22/-1
    • View Profile
Re: Qt5 build for cubieboard
« Reply #42 on: October 14, 2013, 03:40:08 am »
Tnx WickWire, Cubian didn't include the header files, I couldn't find where the gl2.h file came from, but it's from the sunxi-mali driver (tnx for pointing that out).

So I compiled all the drivers from source, and now the .configure is working.

Hoping to get it all to compile! I will set up a better tutorial, since the other one is great but limited ;)
Cubian does provide a dev package. It named libsunxi-mali-x11-dev
Cubian:http://cubian.org/ Cubian  Helpdesk:https://github.com/cubieplayer/Cubian/issues

mattli

  • Guest
Re: Qt5 build for cubieboard
« Reply #43 on: October 14, 2013, 03:55:28 am »
Currently status for run QT5 without X11 (October 14)
1. QT 5.0.2 build include Webkit
    => build success
         but run fail when run fancybrowser example and return command line immediately.

2. Try to use linux-sunxi git of stage/linux-3.4
    => workable with buildroot with QT 5.0.2 + r3p0
       No any "oops" when run power off.

3. QT 5.0.2 build include "BR2_PACKAGE_QT5BASE_DIRECTFB=y"
    directfb seems not workable (fail run with param "-platform directfb")
    eglfs still fine (success run without any param or "-platform eglfs")

Got two problems of G2D and Mali when use linux 3.4 kernel source.
1. Standalone run directfb example "df_andi" has error message
    "df_andi" is running fine but has follow error message.

Code: [Select]
    (!) Core/LayerRegion: realize_region() in dfb_layer_region_flip_update() failed!
    --> A general I/O error occured
   
2. Run Qt5_CinematicExperience saw tearing in the GUI.

Below three source tree is the same.
*https://github.com/patrickhwood/linux-sunxi
*linux-sunxi github "stage/linux-3.4"
*https://github.com/ssvb/linux-sunxi

I also try to use lichee linux-3.3's uImage and modules. Not has those problem.
*It is build from from allwinner sdk v2.0 http://dl.linux-sunxi.org/SDK/A20-SDK-2.0/aw.tar.bz2
  use arm-linux-gnueabi-gcc-4.6.3 build the uImage and Modules.
  use buildroot's rootfs (build from arm-linux-gnueabihf-gcc-4.7.3)

Matt.

mattli

  • Guest
Re: Qt5 build for cubieboard
« Reply #44 on: October 14, 2013, 04:41:35 am »
..
Mattli, great job. I've took some days off, but great to see such progress. Can you tell me how you compiled the sunxi-mali driver itself?
..
Hi, derekdhaas
about build sunxi-mali driver.
It is depend on kernel source tree and your build method (cross compile or build in the A20 board)

I am use "Cross compile" and Using the following two methods.
1. manual build kernel from github of linux-sunxi linux-3.4
    It is include with Mali driver.
    user space library, please ref https://github.com/linux-sunxi/sunxi-mali
    I use
Code: [Select]
make config ABI=armhf VERSION=r3p0 EGL_TYPE=framebuffer
2. use buildroot build system
    It is include support cubieboard2 after buildroot 2013.08
    The package\sunxi-mali will auto build depnd on select config.
    Because linux-sunxi linux-3.4 is mali r3p0 kernel module.
    So I choose BR2_PACKAGE_SUNXI_MALI_R3P0.

Above is my experience, hoping to help you,
and thanks your directfb egl information, I will study it.
By the way, QT5 seems only eglfs platform is workable in the cubieboard2 without X11.

Note:
I have been tested lichee linux-3.3 with QT4.8.4 + directfb, but no mali support.
Because lichee is use arm-linux-gnueabi-gcc and I couldn't found armel Mali user space library.
So I try to use linux-sunxi linxu-3.4 and https://github.com/linux-sunxi/sunxi-mali has
corresponding user space Mali library.

Matt.