New version of the vr920 headtracking driver coming soon

Last year I published the first version of my linux headtracking driver for the VR920 HMD here. Currently I am working on a new driver version which will have the following additional features:

  • Multiple Protocols:
    -UDP multicast (as before)
    -UDP unicast (for flightgear connection and perhaps more)
    -mouse emulation (via uinput)
    -joystick emulation (via uinput)
    -character device for direct angle readings (via cuse, will
    require a kernel >= 2.6.31)
  • Inverting of axes (to have moving the head up making the mouse pointer up or down, depending on needs)
  • Better filtering algorithm (more stable headtracking)
  • Scaling of data (i.e. to match screen size with mouse mode)
  • Customisable delay between sensor readings
  • User interface separated from the driver

With the upcoming MPX and the mouse emulation it should be possible to control the visible viewport by turning around the head. Controlling the view for games or other software that do not natively support headtracking should also be possible with the emulation.

In the current development stage most of the features are basically working so expect the new driver to be released soon.

Stay tuned for updates

Jürgen

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

pulseaudio – flash blocks the audio device

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:

echo “=www-plugins/adobe-flash-10.2.161.22_pre20100915 **” >> /etc/portage/package.keywords

emerge adobe-flash

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:

nspluginwrapper  -r /usr/lib/mozilla/plugins/npwrapper.libflashplayer.so

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.

screenshot

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.

kernel configuration for cuse

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: [download#40]

To use the ebuild, just copy it to/usr/local/portage/media-sound/ossp/ . You probably have to create the directory. Then run

ebuild /usr/local/portage/media-sound/ossp-1.3.2.ebuild digest

Be sure to include the following line in your /etc/make.conf.

PORTDIR_OVERLAY=”/usr/local/portage”

Also include ossp into your /etc/portage/package.keywords

echo “media-sound/ossp **” >> /etc/portage/package.keywords

Afterwards just

emerge ossp

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.

Jürgen

References:

BombStrike´s blog: How to use two different computers with two differents OSes seemlessly

H3X.SE: FAQ

Linux Live: ALSA and Jack Cooperate using PulseAudio

Gentoo Bugzilla: osspd ebuild

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Nokia N810 GPS fix solution

The Nokia N810 with its internal GPS is a device that should fit well for navigation purposes. Below you can see it running navit. In my opinion this is the best available navigation software for the N810. Navit is the main reason for me for wanting the GPS unit in the N810 to be reliable. Get the svn version from here: Gerrit’s Techie Stuff. Some hints on getting navit to run on the N810 can be found on wiki.navit-project.org.

N810 running Navit
N810 running Navit

Sadly the internal GPS unit of the N810 is known to be very problematic and occasionally hardly gets a fix. The suspect seems to be the gpsdriver. It writes i.e. the almanac data to /var/lib/gps/nvd_data. This file seems to be corrupt sometimes when the gpsdriver writes it. Probably the problem occurs when the GPS unit has no fix. The bug entry on this topic on bugs.maemo.org inspired me to write a small wrapper script for the gpsd that copies a backup to /var/lib/gps/nvd_data and watches the gps-daemon. When the GPS unit has a fix it creates a new backup copy of the nvd_data file for later use. Since I use the script, acquiring a GPS fix never took me more than five minutes anymore (without AGPS, with AGPS it is faster, of course).

If you also want to give my script a try, install bash via program manager and download my script from here: [download#23]

The most convenient way to get the script to the n810 and to perform the necessary changes is to log into the tablet using ssh. How to get ssh to run on your internet tablet is described here: internettabletblog

Log into your tablet using ssh and rename the original gpsd.

-sh-3.2# mv /usr/sbin/gpsd /usr/sbin/gpsd.orig

Then copy my script to the tablet (replace XXX.XXX.XXX.XXX with the ip of your tablet):

scp gpsd root@XXX.XXX.XXX.XXX:/usr/sbin/

Afterwards fix the permissions of the script on the tablet:

-sh-3.2# chmod a+rx /usr/sbin/gpsd

That’s all, now you should have a much better working GPS unit in your N810. Since I only have one device to test this on, please leave a comment if this also worked for you.

regards

Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

nvidia-drivers-180.60 is working !!!

After I have tested the nvidia-drivers-185.18.08 beta I searched the web for a new one and I found it yesterday on nvnews.net. This version seems to run well on my Dell M4300. For all using Gentoo I  made an ebuild:[download#20]

# mkdir /usr/local/portage/
# cd /usr/local/portage/
# tar -xpvf nv-portage.tar

Be sure that PORTDIR_OVERLAY=”/usr/local/portage” is in your /etc/make.conf, then you can emerge it:
# ACCEPT_KEYWORDS=”~amd64″ emerge =nvidia-drivers-180.60 -1

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

nvidia-drivers-185.18.08 beta is not working

Because of the problem with a good, fast and working nvidia driver, I’ve tested the actual beta driver from Nvidia. After installing it on my system (Dell M4300, with zen-sources 2.6.29-r3 running fine on it) everything seems to be fine. But there was the first fault. The character set in the Terminal swaps. The next serious error was restarting the X-Server or crashing the whole system while surfing with Epiphany. So I downgraded my system to nvidia-drivers-180.29 again as mentioned here. It seems Nvidia has to do some work on it, still we have another working release. Stay tuned, we will test it and tell you our experience with any new driver we found from Nvidia.

LG Thorsten

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

upgrade experiences with nvidia-drivers-180.51

Today, during my regular upgrades, I upgraded my gentoo boxes to nvidia-drivers-180.51, which is the latest version in portage. Since the error in dmesg

bluetooth-apple[10079] general protection ip:7fec32b2cebe sp:7fff3dc7ff00 error:
0 in libGL.so.180.51[7fec32ad6000+a5000]

I mentioned in CTRL-C and CTRL-Z not working after nvidia-driver upgrade and high CPU usage and saw in later releases still occurs and therefore I expect more problems, I downgraded to nvidia-drivers-180.29 again.  Since I upgraded  to xorg-server-1.5.3 in the meanwhile, I am sure now, that the problems are not related to incompatibilities with the older xorg release I ran before.

Did anyone monitor the driver release any closer? How were your experiences?

Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

zen-sources-2.6.29-r3 with tuxonice

Some days ago Thorsten wrote TuxOnIce is broken in 2.6.29-zen1. Well, I wanted to have a 2.6.29 kernel, because the iwl3945 driver in 2.6.29 works the first time with a useable speed for me.  So I no longer need the hack for the ipw3945 driver I published on ipw3945 unter linux-kernel 2.6.27.

Today I managed to patch the brand new zen-sources-2.6.29-r3 with tuxonice. This was necessary since I need tuxonice on my notebook and tuxonice has been removed permanently from zen-sources. Suspend to RAM works at least on my Dell Precison M65 as well as suspend to disk does.

Since 2.6.29-zen3 has not been released as patch yet, you may download the patch I created from git here: [download#16] Then apply the patch to the vanilla kernel sources available from kernel.org. Afterwards download the tuxonice patch from http://www.tuxonice.net/downloads/all/tuxonice-3.0-for-2.6.29.patch.bz2 and apply it to the kernel sources with the zen patchset already applied.

For Gentoo users there is a more easy way:

Download my modified overlay  (including the patches) from [download#17] 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 zen-sources-toi and buld the kernel as you wish.

The files above are not from an official zen release. Tuxonice is not officially supported in zen-sources. So If you’re using the files above, don’t report any bugs to zen-sources.org.

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

If you want to use all channels with the iwl3945 driver change the line

static char *ieee80211_regdom = “US”;

to

static char *ieee80211_regdom = “JP”;

in the file net/wireless/reg.c.

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

best regards

Jürgen

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

siteinfo

Translator