Xibo Digital Signage on ARM (Full Version)

Last month, I wrote a post showing how to run Xibo Open Source Digital Signage in a BeagleBoard/Overo emulator. That version could communicate with Xibo server, download the required files, display pictures and (maybe) play videos with the real hardware. However, it had serious limitation as Text, RSS and web pages could not be displayed.

I’ve now fixed those issues and the full Xibo 1.3.1 can run on ARM platform.

  • Add libbrowser-node to libavg plugin directory and build libavg again. Also copy the Berkelium header files in to src/test/plugin (i.e. src/test/plugin/berkelium) or add the include file path to CFLAGS/CXXFLAGS.

  • Create libberkeliumwrapper.so:

  • Copy the required files to the qemu image:

sudo mount -o loop,offset=$[106496*512] overo_sd_alip.img mnt
sudo cp ~/edev/beagleboard/berkelium/build/chromium/src/out/Release/resources.pak mnt/usr/bin
sudo cp ~/edev/beagleboard/berkelium/build/chromium/src/chrome/tools/test/reference_build/chrome_linux/libffmpegsumo.so mnt/usr/bin
sudo cp ~/edev/beagleboard/berkelium/build/chromium/src/chrome/tools/test/reference_build/chrome_linux/chrome.pak mnt//usr/bin
sudo cp ~/edev/beagleboard/berkelium/berkelium mnt/usr/bin
sudo cp ~/edev/beagleboard/berkelium/liblibberkelium.so mnt/usr/lib
sudo cp libs/lib/python2.7/site-packages/libavg/* mnt/usr/lib/python2.7/site-packages/libavg/ -rf
sudo umount mnt

  • Run qemu for overo or beagleboard (USB Ethernet is now supported) :

sudo qemu-system-arm -M overo -m 512 -drive file=./overo_sd_alip.img,if=sd,cache=writeback -clock unix -serial stdio -device usb-kbd -device usb-mouse

  • If you previsouly disable BrowserNode, modify the source code of the Python client to enable the BrowserNode plugin again.Edit XiboClient.py in /opt/xibo/pyclient/client/python and make sure the  following line is not commented out:

    self.player.loadPlugin(“libbrowsernode”)

  • Run Xibo Python Client:

    sudo ./run.sh

Then create a layout with text, a web page, rss feeds to see if this works. I’ve created a layout with a scrolling text at the bottom of the screen.

Xibo Running in Beagleboard / Overo Emulator
Xibo on ARM Emulator with Running Text

“Xibo Beagleboard Text” is scrolling in the emulator albeit very very slowly (1 frame per 5 seconds ?). I’m not sure if this is because of my (old) host computer or another reason, but I expect it to run smoothly on the target hardware. If anybody wants to try on beagleboard, beaglebone, overo or pandaboard but do not want to build everything (It takes a few hours), let me know in the comments section and I can make libavg and berkelium binaries or the rootfs available.

Xibo Python Client can now run in a Linux ARM platform  with web rendering enabled. Having said that, further work may still be needed:

  • Try Xibo Client on real hardware.
  • Performance Optimisation for the target platform (e.g. Hardware Video decoding).
  • Web Browser Java Support
  • Web Browser Flash Support

 

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
27 Comments
oldest
newest
Alex Harrington
12 years ago

This is really excellent. Thank you for all the hard work you’re putting in.

Please feel free to contact us if you’d be interested in maintaining an official ARM version of the binaries to enable the client to run on devices such as the Beagle Board, Raspberry Pi etc. We’d love to have support, but don’t have the manpower to do it at the moment.

Best wishes

Alex – Xibo Project

Gnz
Gnz
12 years ago

is there any chance that you publish this as an SD card image?
I have a raspi board, and I’d like to test it..

Thx
gonzalo

Octavio
Octavio
12 years ago

Hi, I am back trying to to run xibo in a beagleboard, I have a question : All the cross compilation should be made in the beagleboard or I need to do this in a host PC and after that copy the files to the bleagleboard SD. I am running ubuntu 11.04 in the beagleboard. Thanks

Octavio
Octavio
12 years ago

Jaja I thought it was so (I spend a night installing ubuntu desktop in the beagleboard) thanks, anyway I will run all the instructions in my host I hope this can run when I copy the files in the BB . I instaled concerto digital signage in ICS on the beagleboard but only have few features to make a whole project in this app. I could run video in xibo or is not supported yet?

Esa
Esa
12 years ago

Greetings! If using an image made specifically for the MK802 e.g http://www.rikomagic.co.uk/forum/viewtopic.php?f=2&t=90 . Which steps from your instructions are required to compile Xibo? After reading through the instructions, there are plenty of steps which concern emulating with QEMU. As far as I understand, QEMU is not required if I use the authentic hardware?

convolucion
convolucion
12 years ago

No, QUEMU is only for emulate the HW. If you have the board you dont need QUEMU@Esa

convolucion
convolucion
12 years ago

Could someone run this in a real HW?

Julius
Julius
12 years ago

Hello, so it’s possible to install xibo linux client on raspberry pi model b rev2 (512MB instead of 256MB)?

I want to do some tests 🙂

Raph
Raph
11 years ago

Hi,
was the testing successfull? I am running a xibo server and have now bought a R-Pi.
So I am very interested in getting the Xibo Client run on the Pi. The problem is, that I´m a Rookie as far as Linux is concerned. Especially cross-compiling and other stuff.
So probably someone has an easy guide for me how to do this, or even better a ready to use version…

Best regards

Mr Buffalo
Mr Buffalo
11 years ago

Hello, any word on support for mk808 ? running picuntu

Mr Buffalo
Mr Buffalo
11 years ago


I got everything running, ubuntu 13.04 HAS python-libavg already compiled btw I found out yesterday. so I upgraded to 13.04 arm on my mk808 and everything is installed in the repo’s the only thing holding me up is berkelium now. can you email me and I can share how i got to this point?

Mr Buffalo
Mr Buffalo
11 years ago

still have not heard from you yet?

Alejandro Mejia
11 years ago

Hi,

I am trying to install Xibo Client on a CUBOX ARM , I already install Ubuntu 13.04, Could you help me?

Thanks
@Mr Buffalo

Mr Buffalo
Mr Buffalo
10 years ago

@Alejandro Mejia
I have not been able to get it to work myself yet. Here’s to opening reads this and responds

Mr Buffalo
Mr Buffalo
10 years ago

Any chance you can do a new write up – this is the top google hit for getting xibo going on arm. there is a lot of interest in this subject 🙂

Mr Buffalo
Mr Buffalo
10 years ago

Also – now that mali 400 drivers are open sourced and available we have hardware rendering. looks to be a good time to take up the project again

Thavaz
10 years ago

Hi there CNXsoft. Thank you this amazing article! I have just got my hands on the BeagleBone Black and would like to try and test out Xibo (ARM) as you have so kindly cross-compiled. I refer to the section: If anybody wants to try on beagleboard, beaglebone, overo or pandaboard but do not want to build everything (It takes a few hours), let me know in the comments section and I can make libavg and berkelium binaries or the rootfs available. Please please please could you provide these files as it will save us a whole lot of time as… Read more »

Boardcon Rockchip and Allwinner SoM and SBC products