/raspi-backdrop

Utility to display a dispmanx backdrop on the Raspberry Pi screen

Primary LanguageCOtherNOASSERTION

backdrop

Utility to display a backdrop on the Raspberry Pi screen using the Dispmanx windowing system. This is intended to provide controlled backgrounds on lower dispmanx layers over which dispmanx based UIs, such as Kivy based full screen applications can be built, while exposing portions of underlying X windows.

Backdrop only provides black rectangular regions, and if complex shapes or colors are needed you may be able to get away with running multiple instances (I wouldn't recommend too many), or more likely should fork backdrop and implement the shapes and colors you need in code. If you do so in a way which preserves core functionality, pull requests will be welcome.

Usage: backdrop [-d <number>] [-l <layer>] [-x <offset>] [-y <offset>] [-w <pixels> -h <pixels>]

-d - Raspberry Pi display number
-l - DispmanX layer number
-x - offset (pixels from the left)
-y - offset (pixels from the top)
-w - width  (pixels)
-h - height (pixels)

Designed for use with python's subprocess.communicate() or similar, backdrop will continue to monitor stdin for messages providing updated geometry information in the following format :

<x>,<y>,<width>,<height>\n
 where x, y, width, and height are all integers

Dependencies

backdrop depends on Andrew Duncan's raspidmx library and draws heavily from the included test_pattern application.

This repository includes a precomiled version of raspidmx in lib/ and include/. If you wish to use the upstream sources, ensure the correct libraspidmx.a file is copied to lib/ and the headers are copied to include.

If you prefer to use a dynamically linked raspidmx instead, get and compile the raspidmx sources. Note that the current upstream makefiles do not generate a .so, so you might have to modify them first. The generated libraspidmx.so in raspidmx/lib should be installed to your system, typically to /usr/local/lib. The makefile provided with backdrop expects the associated header files from raspidmx/common to be available at raspidmx/common in the configured include directories.

Since raspidmx is really just a collection of examples and not intended to be installed, installing the built library binary and headers to the correct places is left to the user. Alternatively, adjust backdrop/Makefile to suit your particular setup.

Building

To build backdrop, once you obtain the necessary dependencies, simply run make. No installation method is provided. If required, copy the generated backdrop binary to /usr/local/bin.

Other Information

  • Issues, questions, and pull requests may be raised using github's features via [https://github.com/chintal/raspi-backdrop]. If necessary, the author may be contacted using the information on the author's github profile page.
  • backdrop is provided under the terms of the MIT license. A copy of the license text is provided with the sources.