Those following my blog know that I recently bought a Mele A1000 to play around. For those who are not familiar with this device, the Mele A1000 is a $70 Android set-top box featuring an AllWinner A10 cortex A8 processor and lots of peripherals, and it can easily be hacked to run a Linux distributions.
This hardware would also be a great digital signage player thanks to its video playback capabilities: up to 2160p video decoding and 1080p video output. Last year, I ported Xibo, an open source digital signage player, to ARM and ran it in the Beagleboard emulator (qemu), but I hadn’t had the opportunity to try it out in a real hardware.
I’ve tried this rootfs based on Linaro ARM Linux Internet Platform (ALIP) image for BeagleBoard in the Mele A1000, by following an adaptation of the method I provided earlier.
For this demo, I created a layout in Xibo dashboard with 4 zones as pictured above:
- A scrolling text zone at the bottom
- 2 small picture zones on the right of the screen
- 1 large zone displaying images and a copy of xibo.org.uk website store in a server in the LAN.
You can see the result in the video below:
There is no hardware acceleration (OpenGL ES) yet, so the performance is not great but once the community provides OpenGL ES/OpenVG acceleration X11 for Allwinner A10 (Mali-400 GPU), the performance should be much better. Currently, rendering the scrolling text makes python use close to 100% of CPU usage at all times, and it’s much less smoother than on a regular PC. I’ve also tried some low bitrate videos, but only the first picture is shown. libavg would have to support AllWinner cedarX API in order to take advantage of video hardware decoding and play high definition videos either directly or via gstreamer. Another limitation is the lack of flash support, and this will never be fixed.
Nonetheless, the current version seems to run fine to display pictures, static text and HTML pages without flash or java.
I’ll provide Here’s the SD card image in case somebody is interesting in trying Xibo in the Mele A1000, or for those who just want to try out ALIP.
If you want to know more about Xibo, you can check my tutorial and/or go directly to Xibo.org.uk. To know more about the Mele A1000, you can check the specifications and read the review of Mele A1000 I wrote last month.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Saw this about reversing the Mali400 to open source. Not there yet but the demo of a Textured spinning cube looked promising.
According to the XBMC board, Allwinner is working with the community there to get the VPU (Cedar) opened up.
These ARM SoC ‘s should change the computing world and and break the WinTel x86 strong hold
I tried the image on a MK802. It booted up successfully, but trying to run Xibo produces the following error:
Exception in thread Thread-2:
Traceback(most recent call last):
File “/usr/lib/python2.7/threading.py”, line 552, in __bootstrap_inner
File “XiboClient.py”, line 3689, in run
Has anyone been able to run this image on a MK802 without problems?
It should work in MK802 as well. It looks like a problem while loading libbrowsernode. Are your running it as root or normal user? I think I ran ./run.sh as sudo.
@Jean-Luc Aufranc (CNXSoft)
Thank you, it worked well when sudo’ing. Next thing I’d like to try is to get the client working with my Xibo server, but alas I am not a regular linux user. Can you suggest a way on how to enable the MK802 wireless to allow internet access, or is it impossible with the image you provide?
I did not try Wi-Fi (I used Ethernet), but it should work. Edit /etc/network/interfaces to enable Wi-Fi. Plenty of info on the internet how to do.
You’ll also have to configure Xibo client to match your Xibo server configuration.
1. What did you use to put the image on an SD card? I want to try this on my mk802.
My goal is to get Xibo running on an MK802 using linaro built on armhf instead of armel, but your image would call for a lot less work for me.
I was thinking of making a .deb for berkelium once I’ve compiled it for armhf, but I have no idea how to compile it for arm.
2. Do you have time to help me compile berkelium? I tried following the cross compiling tutorial and got lost.
1. You need to uncompress it, and put it in the SD card with dd (linux) or win32diskimager (windows).
2. Berkelium is in the image. I can’t remember if this is armel or armhf however.
@Jean-Luc Aufranc (CNXSoft)
DDing the image now. Have you made any more progress with this? I think I want to try gnash or lightspark to get simple flash content to work.
boots off my mk802 just fine, and pretty fast too. couldn’t find a network manager to configure the wlan interface though, I’ll have to brush up on my xfce or figure out how to do 802.1x config from ifconfig. Also had nasty overscan issues with 720p, my monitor wont go down that low, but it looks good on a tv.
For instructions for Wi-Fi, edit /etc/network/interfaces:
iface wlan0 inet dhcp
More details on http://www.cnx-software.com/2012/04/28/how-to-create-your-own-debian-ubuntu-image-for-mele-a1000-allwinner-a10-based-stb/
I haven’t worked more on it. But recently libavg has release an OpenGL ES version that works for the Raspberry Pi:
This might also work for A10 devices. Video still needs more work (Gstreamer support in libavg), but I’m not working on it myself, and really on libavg developers.
Really nice work,
I try to get it work in qemu
qemu-system-arm -M overo -m 256 -drive file=mele_xibo_4G.bin,if=sd,cache=writeback -clock unix -serial stdio -device usb-kbd -device usb-mouse
qemu: hardware error: no boot device found
QEMU emulator version 1.3.0 (qemu-linaro from git), Copyright (c) 2003-2008 Fabrice Bellard
qemu needs a different kernel. Use the instructions provided at http://www.cnx-software.com/2011/11/04/xibo-digital-signage-on-arm-full-version/ instead.