Xibo Digital Signage on ARM (Full Version)

Orange Pi Development Boards

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

 

Support CNX Software - Donate via PayPal or become a Patron on Patreon

27
Leave a Reply

avatar
27 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
11 Comment authors
ThavazAlejandro MejiaMr BuffaloRaphJulius Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Alex Harrington
Guest

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
Guest
Gnz

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
Guest
Octavio

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
Guest
Octavio

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
Guest
Esa

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
Guest
convolucion

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

convolucion
Guest
convolucion

Could someone run this in a real HW?

Julius
Guest
Julius

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
Guest
Raph

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
Guest
Mr Buffalo

Hello, any word on support for mk808 ? running picuntu

Mr Buffalo
Guest
Mr Buffalo

@cnxsoft
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
Guest
Mr Buffalo

@cnxsoft still have not heard from you yet?

Alejandro Mejia
Guest

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
Guest
Mr Buffalo

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

Mr Buffalo
Guest
Mr Buffalo

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
Guest
Mr Buffalo

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

Thavaz
Guest

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 we are battling to cross compile these libraries.
Thanks ๐Ÿ™‚