From VDR Wiki
Jump to: navigation, search


This plugin has been written for the following scenario: The VDR is connected in the "usual" way to a TV, but the TV also has a VGA input to which the videocard of the VDR is connected, running an X server.

One would like to display images using the X server, but keeping all the other functionality the old way. The idea of this plugin is to act as a gateway: When loaded, the plugin starts an external image viewer and forwards commands received from the remote to the viewer.

Warning: This plugin is a total hack. I only document it here in the hope that it will be useful for someone anyway. To get it running some tinkering is required.


All required files can be found in this archive: http://www.jan.vornberger.net/sonstiges/vdr2qiv.tar.gz


It should be possible to compile and load the plugin like every VDR plugin. The plugin expects to find a wrapper script called vdr2qiv.sh in /usr/local/bin/. If you don't like that path, you can change it in vdr2qiv.c. Once the plugin is loaded, it starts this wrapper script which in turn starts the external image viewer.

For the external image viewer Qiv is used, which the wrapper script expects to find in /usr/local/bin under the name "qiv_vdr".

The image viewer has been patched by me as well (as I said, quite a hack *g*) to be able to receive the commands from the plugin. To make this possible the process signal USR2 is used, as well as a pipe in /video/vdr2qiv.pipe. This pipe has to be created with "mkfifo /video/vdr2qiv.pipe". Should you want to change these paths as well, changes in the plugin as well as the qiv patch are needed.

The Qiv version I used can be download here: http://www.klografx.net/qiv/download/qiv-2.0-src.tgz The archive contains a patch that can be applied with "patch < qiv-2.0_vdr.patch". Qiv can then be compiled and the binary copied over to /usr/local/bin/qiv_vdr.

To be able to open the image viewer an X servers needs to be running and the wrapper script needs to have the required rights to start and display Qiv.

After loading the plugin it displays a small help site which documents how to control qiv from the remote.


Yes, it's a total hack and absolutely tailored to my system (hardcoded paths and the like). But maybe someone wants to realize a similar project and this can be a starting point. I'd be glad to hear from someone, so maybe you could drop me a quick line at jan@uos.de. That way I'd also know if I should document future hacks or if they are just to much focused on my specific situation to be of any use for someone else.