Home > AllWinner A1X, Linux, Video > Xibo Digital Signage Running on Mele A1000 AllWinner A10 Set-Top Box

Xibo Digital Signage Running on Mele A1000 AllWinner A10 Set-Top Box

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.

ARM Cortex A8 Open Source Digital Signage

Xibo in Mele A1000

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.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Categories: AllWinner A1X, Linux, Video Tags: Linux, alip, digital signage, dooh, linaro, mele, xibo
  1. August 17th, 2012 at 01:08 | #1

    Saw this about reversing the Mali400 to open source. Not there yet but the demo of a Textured spinning cube looked promising.

    http://limadriver.org/

    According to the XBMC board, Allwinner is working with the community there to get the VPU (Cedar) opened up.

    http://forum.xbmc.org/showthread.php?tid=126995&page=75

    These ARM SoC ‘s should change the computing world and and break the WinTel x86 strong hold

  2. Esa
    August 24th, 2012 at 16:31 | #2

    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
    self.run()
    File “XiboClient.py”, line 3689, in run
    self.player.loadPlugin(“libbrowsernode”)
    RunTimeError: std::exception

    Has anyone been able to run this image on a MK802 without problems?

  3. August 24th, 2012 at 16:36 | #3

    @Esa
    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.

  4. Esa
    August 27th, 2012 at 17:16 | #4

    @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?

  5. August 27th, 2012 at 17:18 | #5

    @Esa
    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.

  6. Taylor
    December 12th, 2012 at 00:42 | #6

    2 questions:
    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.

  7. December 12th, 2012 at 12:04 | #7

    @Taylor
    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.

  8. Taylor
    January 5th, 2013 at 05:03 | #8

    @cnxsoft
    Hey thanks!
    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.

  9. Taylor
    January 5th, 2013 at 05:39 | #9

    @Taylor
    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.

  10. January 5th, 2013 at 09:57 | #10

    @Taylor
    For instructions for Wi-Fi, edit /etc/network/interfaces:

    “auto wlan0
    iface wlan0 inet dhcp
    wpa-ssid ESSID
    wpa-psk password”

    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:
    http://www.cnx-software.com/2012/12/17/libavg-on-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.

  11. Orca
    January 15th, 2013 at 23:17 | #11

    Really nice work,
    I try to get it work in qemu
    command:
    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-system-arm –version
    QEMU emulator version 1.3.0 (qemu-linaro from git), Copyright (c) 2003-2008 Fabrice Bellard

  12. January 16th, 2013 at 09:50 | #12

    @Orca
    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.

  1. July 10th, 2012 at 10:48 | #1