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
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.
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
.
- 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.