AnsweredAssumed Answered

Want to try hard float vivante drivers for MX6?

Question asked by avoltz on May 7, 2013
Latest reply on Jan 7, 2014 by Clay Montgomery
Branched to a new discussion

Hello MX6 users,

 

I work for Timesys and have been integrating the Vivante drivers into our LinuxLink tools for mx6. In this thread I'd like to invite you to try out some of our built SDKs.

 

I've done a lot of wrangling with our tools and these drivers on X & framebuffer, and am currently working on QT4 & QT5 support. I still wouldn't call myself an expert, but I'd like to learn from your expertise and share these builds to hopefully improve our support out of the box.

 

We have a free web build service, but at this time only soft-float can be built the web service, so I'll be uploading built SDKs to dropbox and sharing the links here.

 

About the SDKs:

 

We provide built SDKs as an installer script which can be distributed to developers for building applications with a cross-toolchain. To install the SDK, run the .sh file contained within these published tarballs to install the toolchain and RFS, kernel, to ~/timesys/.

 

DO NOT run as root (except to extract the RFS tarball).

 

These have been built on my host which is x86-64 Ubuntu 12.04, and therefore will not be compatible with 32-bit hosts. If anyone wants a 32-bit SDK let me know, I'll run a build.

 

Each sdk installer will create a few items under ~/timesys/<board-name>/: kernel sources, bootloader images, the toolchain, and also a built kernel image.

 

Since the SDKs include a toolchain, you can use this to build additional applications to run on the target! For this reason, I'm providing minimal RFS images.

 

The first built SDK is available here: https://www.dropbox.com/s/4cbpot1436l4tse/vivante-hardfloat-sdp.tar.xz

 

This SDK provides a toolchain, rfs, and kernel with an X desktop. However, I didn't include any real X applications apart from the vivante samples.

Testing the SDK:

 

I use tftp/nfs to boot the SDP (bootargs=console=ttymxc0,115200 video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 ldb=sin1 root=/dev/nfs ip=dhcp)

 

Here's a quick boot log snippet of running a test on the SDP:

 

Distribution built using LinuxLink by Timesys
Kernel 3.0.35-ts-armv7l for armv7l
SABRE_SDP login: root
No mail.
root@SABRE_SDP:~$ X &
[1] 1307
root@SABRE_SDP:~$ _XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/SABRE_SDP:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6

 

X.Org X Server 1.11.4
Release Date: 2012-01-27
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.0-40-generic x86_64
Current Operating System: Linux SABRE_SDP 3.0.35-ts-armv7l #1 SMP PREEMPT Tue May 7 08:39:50 EDT 2013 armv7l
Kernel command line: console=ttymxc0,115200 video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 ldb=sin1 root=/dev/nfs ip=dhcp
Build Date: 07 May 2013  09:22:06AM

 

Current version of pixman: 0.28.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu Jan  8 13:12:54 1970
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
(EE) GLX: could not load software renderer

 

root@SABRE_SDP:~$ export DISPLAY=:0
root@SABRE_SDP:~$ cd /opt/viv_samples/vdk/
root@SABRE_SDP:/opt/viv_samples/vdk$ ./tutorial7
fps: 727.27
fps: 729.34
fps: 730.73
^Croot@SABRE_SDP:/opt/viv_samples/vdk$
----snip----

 

A few notes about this log:
X has no session/nothing to start, so I start the server manually. Then set the display and run the tutorials under /opt/viv_samples/

 

When using the X drivers, I've been unable to run tiger & vv_launcher without using fullscreen on the SDP. Use these commands to run those samples:
./tiger -w 1024 -h 768
./vv_launcher -w 1024 -h 768

 

Also, some of the samples must be run in the directory where they reside--they are coded to use images using relative path.

 

Later this afternoon I'll be posting the framebuffer only version of the SDK. If you can't wait for a framebuffer-only SDK, the tarball containing both soft & hard float builds is here http://repository.timesys.com/buildsources/g/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q-1.1.0-ts/gpu-viv-bin-mx6q-1.1.0-ts.tar.gz

 

FYI, I split these vivante drivers into 2 packages for now, one for X and one for framebuffer only. Hoping to add a directFB build and eventually wayland. For now only the Framebuffer and X versions are available on our repository.

 

Roadmap

 

We're awaiting a new drop of the vivante driver sources which will hopefully improve performance. Also we are aiming for DirectFB & wayland support in the coming weeks, but again that may require new vivante sources. I have a DirectFB build, but it doesn't seem to work.

 

I have done some testing with Qt5 and qt4, and will provide SDKs for testing as well as feedback over the next couple of days. I've not had success with the X drivers & QT, but the framebuffer seems to work.

 

I've also had some trouble with the DirectFB builds I've used, but perhaps we can get into that as well.

 

Thank you all for the feedback,

 

Regards,

 

Andy Voltz

Outcomes