Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 288059 - media-sound/ossp: userspace oss deamon
Summary: media-sound/ossp: userspace oss deamon
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
Depends on:
Reported: 2009-10-07 14:25 UTC by Rafał Mużyło
Modified: 2012-06-09 18:47 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---

missing rules (90-cuse.rules,71 bytes, text/plain)
2009-10-07 14:28 UTC, Rafał Mużyło
ossp-1.3.1.ebuild (ossp-1.3.1.ebuild,1.46 KB, text/plain)
2010-01-13 00:30 UTC, Lars Wendler (Polynomial-C)
osspd.confd (osspd.confd,211 bytes, text/plain)
2010-01-13 00:31 UTC, Lars Wendler (Polynomial-C)
osspd.initd (osspd.initd,681 bytes, text/plain)
2010-01-13 00:33 UTC, Lars Wendler (Polynomial-C)
osspd.initd (osspd.initd,794 bytes, text/plain)
2010-01-13 00:50 UTC, Lars Wendler (Polynomial-C)
ossp-1.3.1.ebuild (ossp-1.3.1.ebuild,1.48 KB, text/plain)
2010-01-13 00:56 UTC, Lars Wendler (Polynomial-C)
ossp-1.3.1.ebuild (ossp-1.3.1.ebuild,2.11 KB, text/plain)
2010-01-21 20:19 UTC, Lars Wendler (Polynomial-C)
osspd.confd (osspd.confd,216 bytes, text/plain)
2010-01-21 20:19 UTC, Lars Wendler (Polynomial-C)
Version bump. (ossp-1.3.2.ebuild,2.11 KB, text/plain)
2010-03-29 12:20 UTC, Jani Saarenpää
patch from upstream HEAD (ossp-1.3.2-adsp_ops.patch,704 bytes, patch)
2012-06-09 18:39 UTC, Sławomir Nizio
Details | Diff
improved ebuild (ossp-1.3.2-r1.ebuild,2.32 KB, patch)
2012-06-09 18:47 UTC, Sławomir Nizio
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rafał Mużyło 2009-10-07 14:25:56 UTC
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.
Comment 1 Rafał Mużyło 2009-10-07 14:28:37 UTC
Created attachment 206322 [details]
missing rules

cuse rule follows fuse rule, so it's either already upstream,
or will get there soon, audio rule is Gentoo specific.
Comment 2 Lars Wendler (Polynomial-C) gentoo-dev 2009-10-23 21:54:54 UTC
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...
Comment 3 Benjamin Block 2009-12-31 21:32:04 UTC
Looks like Tejun bumped a new version in November, with an alsa-plugin included.
The mentioned mmap-patch is also included.
Comment 4 Benjamin Block 2010-01-03 01:58:41 UTC
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)
fuse 2.8.1
udev 146-r1 (used the rules posted in here)
Comment 5 Lars Wendler (Polynomial-C) gentoo-dev 2010-01-12 22:52:13 UTC
Changing URL to new sourceforge project site. Old site was:
Comment 6 Lars Wendler (Polynomial-C) gentoo-dev 2010-01-13 00:28:42 UTC
Comment on attachment 206322 [details]
missing rules

ossp-1.3.1 comes with a udev-rules file which takes care of the oss-devices.
Comment 7 Lars Wendler (Polynomial-C) gentoo-dev 2010-01-13 00:30:42 UTC
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.
Comment 8 Lars Wendler (Polynomial-C) gentoo-dev 2010-01-13 00:31:24 UTC
Created attachment 216315 [details]

confd files so one can chosse which backend should be used by the daemon.
Comment 9 Lars Wendler (Polynomial-C) gentoo-dev 2010-01-13 00:33:41 UTC
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...
Comment 10 Lars Wendler (Polynomial-C) gentoo-dev 2010-01-13 00:50:43 UTC
Created attachment 216319 [details]

slightly improved init script
Comment 11 Lars Wendler (Polynomial-C) gentoo-dev 2010-01-13 00:56:35 UTC
Created attachment 216320 [details]

check for CUSE works now.
Comment 12 Lars Wendler (Polynomial-C) gentoo-dev 2010-01-21 20:19:06 UTC
Created attachment 217113 [details]

Updated ebuild.

- adjusted dependencies
- made alsa-backend optional
Comment 13 Lars Wendler (Polynomial-C) gentoo-dev 2010-01-21 20:19:36 UTC
Created attachment 217114 [details]

updated conf.d file
Comment 14 Jani Saarenpää 2010-03-29 12:18:56 UTC
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.
Comment 15 Jani Saarenpää 2010-03-29 12:20:18 UTC
Created attachment 225651 [details]
Version bump.

Version bump.
Comment 16 Lars Wendler (Polynomial-C) gentoo-dev 2010-03-29 12:27:46 UTC
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).

Comment 17 Sławomir Nizio 2012-06-09 18:39:42 UTC
Created attachment 314809 [details, diff]
patch from upstream HEAD
Comment 18 Sławomir Nizio 2012-06-09 18:47:15 UTC
Created attachment 314811 [details, diff]
improved ebuild

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.