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

Radxa Orion O6 Armv9 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
Boardcon CM3588 Rockchip RK3588 System-on-Module designed for AI and IoT applications