iptables mirror target for kernel version 2.6.37

During my last kernel upgrade I recognized that the iptables mirror target I published here, here and here and here does not work anymore with kernel version 2.6.37. There were some slight changes in kernel headers. You can download the newer version for 2.6.37 and probably future kernels here:

[download#67] gplv3-127x51

To build the module, boot the kernel you want to use the module with. Afterwards unpack the archive, run the compile.sh script and the install.sh script.

Now you may use the mirror target in place of the reject or drop target in the INPUT, FORWARD and PREROUTING chains, like this in your firewall script:


Beware: The use of the mirror target may have strange results, i.e. if you want to connect to the iptables protected machine, you may end up connecting to the local machine without recognizing it. It also may use much bandwith. Worst case: if you have two machines using this module they may end up playing pingpong. So you have been warned, use with caution and at your own risk. For more information see: MIRROR target.

Downloads for older kernel versions are below. Notice the version numbering 2.6.25 works for kernels up to 2.6.27. 2.6.28 also works for 2.6.29 and 2.6.30 kernels. The 2.6.13 version of the module should work up to kernel version 2.6.16.



1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)

zen-sources-2.6.37_p20110325 with tuxonice

Starting with 2.6.36 tuxonice has been removed from zen-sources again. A few days ago the zen-sources-2.6.37_p20110325 ebuild appeared in the gentoo portage tree.  Since I did not want to stick to my old 2.6.35 kernel I patched the brand new zen-sources-2.6.37_p20110325 with tuxonice. The official tuxonice patch from tuxonice.net did not work, so I had to slightly modify it to apply cleanly on zen-sources.

Suspend to RAM works at least on my Dell Precison M65 and my Desktop, as well as suspend to disk does. Well, I have to mention that I wanted to use BFS, the brain fuck scheduler, to increase performance. This resulted in tuxonice freezing during  atomic copy when trying to hibernate, thus I had to use the CFS scheduler again.

Download the zen-sources 2.6.37_p20110325 patch here. Then apply the patch to the vanilla kernel sources avalable from kernel.org. Afterwards download my modified tuxonice patch from here: [download#64]. Then apply it and continue with the standard kernel building process.

For Gentoo users there is a more easy way: Download my modified zen-sources-overlay (including the patches) from [download#65] and extract it in /usr/local/portage. Be sure to include the following line in your /etc/make.conf:


If you want to use tuxonice include toi in your USE-flags. Then emerge zen-sources and build the kernel as you wish. It would be nice if this USE-flag and the ebuild modification find their way into the portage tree.

Tuxonice is not officially supported in current zen-sources. So If you’re using the files above, don’t report any bugs to zen-sources.org. You are on your own.

For my Precision M65 I used the following kernel config: [download#66]

For more information on the zen-sources patchset see www.zen-sources.org.

best regards


1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Adjusting parallax in MPO stereo images

MPO stereo images, that were taken in example using Fujifilm FinePix Real 3D Cameras contain a field parallax in their exif data. The parallax value can be used by stereoscopic viewers like my stereoscopic image viewer SIV to adjust the 3D effect. By manipulating this value one can can customize the strength of the pop out effect and reduce the ghosting effect. This may lead to a more pleasuring viewing experience.

The parallax value can easily be displayed using exiftool:

exiftool -ee -Parallax DSCF0045.MPO

If you want to set the parallax value of an image, this is not that easy, since the value is stored in the exif data of the second embedded jpeg file in the MPO, which is not directly writable with exiftool. However one can find out the beginning of the second file with exiftool, extract the image and then set the parallax value. Afterwards on can put all together again using dd. Doing this manually is a quite awful task, so I wrote a little script for automating it:


#$1: MPO File $2: Parallax value

MPSTART=`exiftool -b -MPImageStart $1`
echo Multipart Image 2 begins at: $MPSTART
cp -a $1 $1.orig
exiftool $1.orig -mpimage2 -b | exiftool  -b -Parallax=$2 – \
| dd conv=notrunc bs=64 seek=$MPSTART of=$1

Use it at the command line as follows:

setparallax.sh [MPO-File] [new parallax value]

in example:

setparallax.sh DSCF0045.MPO 1.25

For determining the value that matches the visual requirements of your image you may use the parallax adjustment function of SIV (+/- key) and use the value on the OSD and printed out in the console. Perhaps some day I will add the functionality, to directly write the new parallax value to the MPO file, to SIV. However the setparallax script at least gives us the possibility to write the parallax value until then.



1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)

Improved OpenSceneGraph-2.8.3 ebuild

The current OpenSceneGraph ebuild in the Gentoo Portage tree does not install the OpenSceneGraph sample data set.  These  files include some sample models, fonts, bitmaps etc. used in the OpenSceneGraph examples and other applications.  This is a problem for applications relying on the files to be available. In example my stereoscopic image viewer SIV relies on having the OpenSceneGraph sample dataset installed and fails to load the arial font from the dataset with the following error:

Warning: font file “fonts/arial.ttf” not found.

Here is my modified ebuild resolving this issue: [download#63]

Download the modified ebuild and extract the archive into /usr/local/portage. Be sure to include the following line in your /etc/make.conf:


If you want to use OpenSceneGraph with ffmpeg support, download the patch from bugs.gentoo.org and copy it to /etc/portage/patches/dev-games/openscenegraph-2.8.3/ as described there, to compile with ffmpeg-0.6. Otherwise the emerge will fail with:

error: cannot allocate an object of abstract type

Now you can set the examples USE-Flag and emerge openscenegraph to get the example dataset.

If you have got flightgear installed, reinstall simgear afterwards,  like the ebuild requests you to do:

emerge -1 dev-games/simgear

Depending on if you were upgrading or just reinstalling with the new ebuild it may be necessary to run revdep-rebuild to resolve issues with broken libraries. Hopefully the next ebuild in the portage tree will  include the sample data set.

Wxwidgets support seems to be broken with the current version. When using the wxwidgets USE-Flag Openscenegraph fails to compile with, so include

=dev-games/openscenegraph-3.0.1 -wxwidgets

in your /etc/portage/package.use if you have enabled wxwidgets in your make.conf.

best regards



1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)

Overlay Problems with Xine

Starting xine with an overlay enabled X-server on nvidia graphics boards can lead  to the problem that the xine window appears shortly and then disappears. The following error message can be found in the console when trying to play a dvd:

Dies ist xine (X11 gui) – Ein freier Video-Player v0.99.6.
(c) 2000-2007 Das xine Team.
libdvdread: Using libdvdcss version 1.2.10 for DVD access

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x00000141
libdvdread: Elapsed time 0
libdvdread: Found 1 VTS’s
libdvdread: Elapsed time 0
No accelerated IMDCT transform found
X Error of failed request:  BadMatch (invalid parameter attributes)
Major opcode of failed request:  150 (RENDER)
Minor opcode of failed request:  4 (RenderCreatePicture)
Serial number of failed request:  2155
Current serial number in output stream:  2165

Removing the  “Overlay” Option from the xorg.conf and restarting the X-server fixes this problem. Yo may also include the line

Option         “Overlay” “off”

into your screen section or device section of your xorg.conf.


1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Flightgear with VR920 headtracking

Recently I basically got Flightgear to work with quad buffered stereo. The only thing that was still missing for having the Vusix VR920 head mounted display fully supported in the flight simulator was headtracking.

However, with my new headtracking driver, VR920 headtracking in Flightgear is possible at last. A good part of the work has been done by Anders Gidenstam who provided the original Nasal module, the headtracking protocol description and usage instructions for his webcam based headtracking solution for Flightgear.

Download and copy the protocol description [download#59] to $FG_ROOT/Protocol. For me (gentoo system) this location is /usr/share/games/FlightGear/Protocol/, probably for many others it is /usr/share/FlightGear/Protocol/

Afterwards download unzip the modified Nasal module [download#58] to ~/.fgfs/Nasal. It is important to use your home directory and NOT i.e. /usr/share/games/FlightGear/Nasal/.

Then make sure that the vr920 headtracking driver runs in UDP mode. If running Flightgear on the same machine as the headtracking driver, which should be the usual case, just use as destionation IP for the driver and use 4242 as destination port. These are the default settings of the driver.

Finally run Flightgear with these options: –generic=socket,in,<hz>,,<port>,udp,headtrack –prop:/sim/headtracking/enabled=1

If you also want to have quad buffered stereo with it (you need an nvidia quadro board, with assumably a pre G80 Chip or probably an ATI FireGL, never tried that, and a stereo enabled xserver) use the patch from FlightGear with quad buffered stereo. For instructions on how to get the xserver to work in stereoscopic mode see: Vuzix VR920 with Linux and active 3D stereo

For the described configuration you can use the following little startup script:

fgfs –generic=socket,in,25,,4242,udp,headtrack –prop:/sim/headtracking/enabled=1

Now have much fun and enjoy a new experience with your VR920 and Flightgear in stereo with headtracking.

best regards


1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)

bino 0.9.2 released

Recently I wrote about bino, a stereoscopic video player that is usable with linux and also supports quad buffered stereo. In the meanwhile the versions 0.9.1 and 0.9.2 have been released. The new version includes multithreading to read, decode, and display video data in parallel, for better performance and some bugfixes.

Bino still does not work properly with linux, at least it still does not display anything on my gentoo box. The patch for bino, I provided here, does not work anymore.


At least on my gentoo box bino failed to display anything. When starting bino  it failed with a window popping up:

Cannot set GL context format

The reason for this was the same as before. Bino was requesting an alpha visual, which did not succeed. I have not seen the point in requiring an alpha visual for bino, so I just removed this. You may download the patch from here: [download#60]

Addon: The patch is only necessary when the X server does not provide an alpha visual, which may i.e. be the case when using only 16 bits of colour  depth.

Getting things to work

Download Bino from here: bino-0.9.2.tar.xy and extract it.

tar -xf bino-0.9.2.tar.xz

Afterwards apply my patches and compile Bino.

cd bino-0.9.2

patch -p0 < bino-0.9.2-quad-buffered-stereo.patch



make install

The Gentoo way

For gentoo users here is my overlay including the ebuild: [download#62] Download the modified overlay (it includes the patches) and extract it in /usr/local/portage. Be sure to include the following line in your /etc/make.conf:


Then emerge bino and enjoy viewing your 3d movies again.


1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)