Last year 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.8 and 0.8.1 have been released. Thanks for your work, Martin. The new versions contain some bug fixes and the following new features:
Adjustable ghostbusting to reduce crosstalk artifacts.
Parallax adjustment.
Mouse-based seeking.
Initial support for choosing an audio stream.
Improved compatibility with many video types.
Bino still does not work properly with linux, at least it does not display anything on my gentoo box. The good news is that my patch for bino, I provided here, still works.
The Gentoo way
For gentoo users here is my overlay including the ebuild:
A while ago I updated the stereocopic mplayer patch to work again with newer mplayer versions. This patch worked to display side by side stereo movies in quad buffered stereo mode but it did not enable mplayer to display stereo videos consisting of two separate video streams for the right and the left eye like those produced with Fujifilm Real 3D cameras. A player capable of displaying these files and many other stereoscopic movie formats is bino. I recognized that bino is also capable of displaying a single video stream in quad buffered stereo mode. For a future version it would be really nice to have it calculating a 3D version of the stream on the fly and displaying this fake stereo video. There are some algorithms known that are capable of doing this calculation. It should be possible to do this in parallel on the GPU, so processing power should not be the problem… Of course such a fake stereo video cannot have the quality of a real stereo one, but it may be the only possibility to watch ones favorite movie in stereo.
Problems
At least on my gentoo box bino failed to display anything. When requesting quad buffered stereo (bino -o stereo) it failed with:
bino: [err] display does not support stereo mode
When trying to start bino without quad buffered stereo it failed with:
bino: [err] cannot set GL context format
The reason for this was found quickly. 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 the modified overlay (it includes the patch) and extract it in /usr/local/portage. Be sure to include the following line in your /etc/make.conf:
PORTDIR_OVERLAY=”/usr/local/portage”
Then emerge bino and enjoy viewing your 3d movies.
Some days ago I wanted to get some information on how OpenSceneGraph internally performs the rendering, to prepare for my B.Sc. thesis. Especially I wanted to know if it really uses Vertex Buffer Objects when I “force” Graphics Nodes to do so. Code analysis would have taken to long and would not have been proof enough for me. Thus I needed an OpenGL debugger. A nice one I found is glsldevil, which was developed at the university of Stuttgart. It can not only debug pure OpenGL, but also GLSL shaders.
glsldevil
For gentoo I found an old ebuild somewhere in the web and modified it for the new version of glsldevil. Here is my overlay including the modified ebuild:
On my x86_64 gentoo box, running gnome and therefore pulseaudio, I experienced the problem that when and after playing some flash videos (i.e. youtube) the sound device was blocked and no other application was able to play sound. After killing the plugin sound worked just normal, but that was no convenient way.
64-bit flash plugin for Firefox
My first suspective was the 32-Bit flash plugin I used in my 64-bit Firefox until now. So I replaced it by the new 64-bit plugin, which did not solve the problem, since it does also not use pulseaudio for playback. But I include the steps for completeness here:
For other linux distributions like Debian, Ubuntu, Redhat or Suse you obviously have to search the appropriate plugin and install it the distribution-specific way. Afterwards you have to remove the 32-bit plugin from nspluginwrapper, which makes 32-bit plugins available for 64-bit firefox:
As I stated before this does not solve the problem, but at least it gives one a 64-bit flash plugin 😉
Make alsa applications use the pulseaudio server
There is a pulseaudio plugin for alsa, which is necessary for playback of alsa sound via the pulseaudio server. So the next step is to install this plugin. For gentoo it is contained in the alsa-plugins package. So for the gentoo way:
emerge alsa-plugins
Afterwards make sure that your /etc/asound.conf contains the following lines:
pcm.pulse { type pulse } ctl.pulse { type pulse } pcm.!default { type pulse } ctl.!default { type pulse }
After restarting alsa everything that is playing sound via alsa now uses pulseaudio via the plugin and the sound device is no more used concurrently. One can playback via pulseaudio after using flash sites or even at the same time. Mission accomplished!
OSS emulation for pulseaudio
Sadly the above only works for applications directly using the alsa sound system. Applications depending on OSS (i.e. all Java Applications), using the kernel layer alsa oss emulation, still block the audio device, so the the kernel layer OSS emulation is a no go with pulseaudio. Include the corresponding modules in /etc/modprobe.d/blacklist.conf or remove the emulation completely from your kernel configuration.
Of course this only shuts off these applications completely but is neccesary for the further steps to work. We´re lucky, we can use a daemon which provides the OSS devices (/dev/dsp, etc.) and links them via fuse to the pulseaudio daemon. For this we need to load the cuse kernel module (add it to /etc/modules.autoload.d/kernel-2.6 and it gets loaded automatically on next reboot) or when not available add the functionality to your kernel configuration and rebuild your kernel.
Now we´re ready to install ossp, the daemon I mentioned before. It is available from Sourceforge, probably also in your distributions package repository. For gentoo users, as usual there is a more easy way. I found an ebuild for ossp on gentoo bugzilla, which I got to work with minor modifications. You can download the modified ebuild here:
For having osspd started automatically on every system boot I lazily included it in my /etc/conf.d/local.start.
echo /usr/sbin/osspd >> /etc/conf.d/local.start
Now sound should just work as one expects it to. Different sources can playback at the same time. No blocked devices occur because of concurrency, no matter which sound API the applications use.
Some years ago I played nethack on my old PC. Nethack is a Diablo like RPG that was originally released in 1987. Before playing a game, you have to create a character. You can choose between different character classes: Archeologist, Barbarian, Caveman, Healer, Knight, Monk, Priest, Ranger, Rogue, Samurai, Tourist Valkyrie and Wizard. These classes have different abilities in fighting and using magic. Afterwards you can descent to the dungeon where you have to retrieve the Amulet of Yendor and defeat the bad Moloch. For some more information on gameplay and how to win see the links below the post.
By chance I discovered a maemo package for vultures eye which I installed on my Nokia N810. Vultures eye is a nice graphical frontend for nethack.
Which dragon shall I ride? – Vultureseye on the N810
Then I felt it would be nice to have Vultures Eye also on my PC. With a large screen and real mouse/keyboard input the game is easier to play, than on the small n810s touchscreen. Since the latest available Gentoo ebuild was far out of date and the sources for it are no longer available I wrote a new ebuild based upon the old one. You may download my new ebuild from here:
I have searched for a 3D game on Linux and found this nice flight simulation. In Gentoos portage tree there is only an old version avaiable, so I wrote an ebuild for the new version. It compiles fine on my computer wth 64bit Gentoo – Linux.
The Power of my graphics board (nVidia Corporation Quadro FX 360M) seems to be enough for this simulation. The control is not easy, but with some time, you can fly around, like in a real aircraft.
What is FlightGear? The FlightGear flight simulator project is an open-source, multi-platform, cooperative flight simulator development project. Source code for the entire project is available and licensed under the GNU General Public License.
cd /usr/locale/portage tar -xzpvf ~/flightgear-2.0.0-stereoscopic_overlay.tar.gz
Then you have to unmask the ebuilds in /etc/portage/package.keywords : =games-simulation/flightgear-2.0.0 ** =dev-games/simgear-2.0.0 ** =dev-libs/boost-1.37.0-r1 ** =dev-util/boost-build-1.37.0 ** =media-libs/freeglut-2.6.0 **
now you can ’emerge =games-simulation/flightgear-2.0.0′
Have fun
Xexplorer
UPDATE 04.03.2010:
Now it´s in portage, with two different lines. First of all I found out that freeglut 2.6 is needed for flightgear, so I put it in the ebuild. And the second is a patch witch is needed if you don´t use freeglut 2.6. So I think my choice is the better way.
One year ago I provided a gentoo ebuild for mplayer which included support for quad-buffered stereo, enabling mplayer to display stereoscopic movies like the great movie Avatar3D I watched in cinema today. To learn more about the movie look here and here. Sadly the patch I referenced there does not apply over newer mplayer versions. So I had to modify the original patch from Stuart Levy to work again with newer mplayer versions. You may download the updated patch from here:
The patch should work at least with nvidia quadro boards, probably with some others. It can be used with CRT and generic shutter glasses or HMDs like the Vusix VR920. Some stereoscopic sample movies for trying it out can be found on www.3d.wep.dk.
For Gentoo users I also modified the mplayer ebuild from portage to include the patch. The modified ebuild is available here:
To use the ebuild it just copy it to /usr/local/portage/media-video/mplayer and copy the the patch to the “/usr/local/portage/media-video/mplayer/files” directory. You probably have to create these directories. Then run