Florian Wesch

info-beamer pi 0.9.4 released

Posted Dec 08 2015 by Florian Wesch

info-beamer 0.9.4 now officially supports Raspbian Jessie. Various minor improvements make it easier to develop and debug visualizations.

Support for Raspbian Jessie

Raspbian supports the current Raspbian version Jessie now. The prerelease of info-beamer offered this for a while and a lot of users had the ability to test info-beamer on Jessie. So it should be very stable.

Installation is basically the same as on the previous Raspbian Wheezy version. Have a look at the README.txt in the downloaded tar.gz on how to install the dependencies.

Resource allocation tracking

Since info-beamer 0.8.2 info-beamer changed how how garbage collection works. Normally memory management isn't a problem in Lua as it is a garbage collected language. But Lua doesn't know that (for example) a video objects uses quite a lot of resources. So you have to make sure to dispose those objects when they are now longer needed. Forgetting to dispose unused objects is easy to forget, so users requested a way to debug resource leaks.

info-beamer now offers a simple way to see all allocated info-beamer objects. This includes videos, images, open files and shaders. You can send the USR1 signal to info-beamer now. It will show you a list of all currently allocated info-beamer objects.

Example usage:

$ pkill -usr1 info-beamer

Output that info-beamer will show:

2 info-beamer objects:
shader (0x719f5590 #1 1s ago) po 10
stack traceback:
        [C]: in function 'pcall'
        bundled userlib.lua:234: in function 'auto_load'
        bundled userlib.lua:247: in function 'resource_loader'
        shader/node.lua:3: in main chunk
        kernel: in function 'run_file_in_sandbox'
        kernel: in function <kernel:0>

image (0x10d2238 #2 1s ago) loaded from file shader/lua.png
stack traceback:
        [C]: in function 'pcall'
        bundled userlib.lua:234: in function 'auto_load'
        bundled userlib.lua:247: in function 'resource_loader'
        shader/node.lua:3: in main chunk
        kernel: in function 'run_file_in_sandbox'
        kernel: in function <kernel:0>

Each objects shows it's type, a unique object number (#1 and #2 in the example output), the object age, some information about the object which depends on the object type as well as the full stack traceback that allows you to see where the object was allocated.

Hardware decoding for JPEG images

This feature is back now, but only enabled if it makes sense. On the PI 2 it seems that using the CPU can be faster than using hardware acceleration. See also this blog post. The feature is only on the old PI1 and large images. You can customize the behaviour by setting the INFOBEAMER_HW_JPEG environment variable. Setting it to never will disable the decoder, setting it to always will force using the decoder.

Better audio support

info-beamer now resamples audio to stereo so you should be able to use audio with most video files now.

info-beamer uses libavresample to implement this feature which has to be installed. Installation depends on the Raspbian version you are using. Consult the README.txt in the downloaded tar.gz file on how to do this.

Documentation links in stack traces

Stack traces for errors now include documentation links, so you can potentially click them in your terminal and directly jump to the documentation. Hopefully that makes debugging problems easier.

If you relied on the previous trace back format you can disable the new format by setting the INFOBEAMER_LUA_STYLE_TRACEBACK environment variable.

If you're feeling lucky, you might also try setting INFOBEAMER_VERBOSE_TRACEBACK. This will include local variables for each stack level. The output is a bit noisy so it's not enabled by default.

Other improvements

  • Support setfenv in user code.
  • Prevent invalid JPEG colorspaces that can't be decoded. Only RGB/Grayscale and YCbCr are supported.
  • Video size is now set by the decoder. So streaming videos should now be more reliable.
  • You can force antialiasing by setting the INFOBEAMER_EXPERIMENTAL_AA environment variable. Doing so will reduce the framerate as multisampling takes more GPU resources.
  • Various minor improvements


info-beamer.com offers the most advanced digital signage platform for the Raspberry Pi. Fully hosted, programmable and easy to use. Learn more...

Get started for free!

Trying out the best digital signage solution for the Raspberry Pi is totally free: Use one device and 1GB of storage completely free of charge. No credit card required.

Follow @infobeamer on twitter to get notified of new blog posts and other related info-beamer news. It's very low traffic so just give it a try.

You can also subscribe to the RSS Feed RSS feed.

Share this post:

Share using Twitter

Questions or comments?
Get in contact!