I don't really need OSS, but as we now have gentoo-sources 2.6.31
in the tree, perhaps adding this would be helpful for some people.
It seems to more or less work, it needs just fuse 2.8.0 (old ebuild
after removing kernel building bits works fine for 2.8.1),
that git patch disabling mmap and 2 udev rules missing in udev 145.
Created attachment 206322 [details]
cuse rule follows fuse rule, so it's either already upstream,
or will get there soon, audio rule is Gentoo specific.
Sad... I just wanted to try ossp but then I found out that it currently only works with pulseaudio which I don't have installed and don't want to install...
Looks like Tejun bumped a new version in November, with an alsa-plugin included.
The mentioned mmap-patch is also included.
Looks like you have to disable all OSS realted things within the kernel to get ossp to work. Also the alsa-oss-emulation.
If you not do this, the kernel pre-claims the devices within /dev/ (dsp, ..) and cuse can't create those nodes.
I had it (the latest snapshot out of the git) up running today, with the following setup:
Linux 2.6.31-gentoo-r6 (with build in fuse and cuse, no oss)
udev 146-r1 (used the rules posted in here)
Changing URL to new sourceforge project site. Old site was:
Comment on attachment 206322 [details]
ossp-1.3.1 comes with a udev-rules file which takes care of the oss-devices.
Created attachment 216313 [details]
Working ebuild. I made the pulseaudio-backend optional but not the alsa-backend.
Please anyone test the ebuild with pulseaudio USE flag being enabled as I did all my tests with -pulseaudio.
Created attachment 216315 [details]
confd files so one can chosse which backend should be used by the daemon.
Created attachment 216317 [details]
init script. worksforme but I only did a few tests.
Once you have started osspd don't restart it or else you get a nice kernel-oops...
Created attachment 216319 [details]
slightly improved init script
Created attachment 216320 [details]
check for CUSE works now.
Created attachment 217113 [details]
- adjusted dependencies
- made alsa-backend optional
Created attachment 217114 [details]
updated conf.d file
I suggest adding this program to tree. This program solves quite a annoying problem with a certain irreplaceable binary application for me at least. The application is a speech synthesizer for my language. For some reason padsp did not work with it.
Also this could be quite nice solution to stop worrying about other programs taking over the sound cards.
Back to the topic:
For some reason it seems that after some time the pulseaudio goes to idle state (I think this is normal behavior) and if some program wants to play a sound it wakes the pulse audio up. Now for some reason this tool does not do that. When pulseaudio is in idle state and I start a program that uses /dev/dsp I get a message saying that it is busy or something. Then if I play something from an application that uses pulseaudio directly and start the program that uses /dev/dsp everything works as it should.
There is also another strange behavior. The program that I'm using pushes the sound to the /dev/dsp as pulses not as a continuous stream. So, if there is coming another pulse before the last one is finished the pulses are played 0.1-0.5 seconds (hard to measure) simultaneously at the end of the first pulse and the beginning the second pulse.
I would be willing to try to fix these if I just knew where to start looking.
Also the version ossp-1.3.2 is out fixing few bugs. So, the ebuild seemed to work if the file is just copied to ossp-1.3.2.ebuild.
Created attachment 225651 [details]
There's no need to attach a new ebuild if only the version number has changed.
For the problems you observed you might want to contact upstream directly (see URL for upstream).
Created attachment 314809 [details, diff]
patch from upstream HEAD
Created attachment 314811 [details, diff]
Thanks for your work on this.
Just a note: checksum for the 1.3.2 tarball from your overlay doesn't match - I think they've made some changes from git (up to the "disable mmap…" one) and updated the tarball without renaming it.
I'm attaching a somewhat improved ebuild. Most important changes include:
- added ~x86 keyword,
- added build dep. on virtual/pkgconfig,
- added change from upstream HEAD (patch included),
- fixed underlinking,
- removed assignments to CC and AR in Makefile,
- changed udev rule install path to /lib/udev/rules.d.
Attaching in case someone finds it useful.