[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnewsense-dev] OSSv4 default sound on parkes?

From: Steven McDonald
Subject: [Gnewsense-dev] OSSv4 default sound on parkes?
Date: Sun, 15 Aug 2010 05:26:00 +1000


I have recently been playing around with OSSv4 on Debian and Trisquel,
and I think it would be beneficial to include it as the default sound
backend in gNewSense 3.0. I would be interested in hacking on this if
it is something that has the support of the gNewSense development
community. OSS4's advantages over ALSA include:

* Portability - OSSv4 runs on BSD and OpenSolaris systems as well as
  GNU/Linux, making applications which use it easier to port than those
  which use ALSA.
* Lower latency[1]
* Better sound quality[1] - I have noticed this myself, although
  unfortunately have not performed any double-blind tests because I know
  of no way that this could be done when kernel modules have to be
  loaded/unloaded to change sound backends, so placebo cannot be ruled
  out here.
* Compatibility with UNIX file abstraction - All sound devices are
  represented as files under /dev in OSS, meaning that any file
  operations (such as sound playback over a network with NFS[1]) can be
  easily implemented with OSSv4.

Some potential disadvantages of OSSv4 are:

* It is not included in the Linux source. At present, using it requires
  building it as a kernel module separately.
* The binary distribution of OSSv4 includes some non-free drivers.
  While these are not present in the GPL'd source distribution, use of
  OSS may be misconstrued by users as supporting a project which
  distributes non-free software.
* I do not know of any user-friendly mixer widget that supports OSS.
  The OSSv4 source distribution itself comes with a program called
  ossxmix, which is exceptionally ugly and features unintuitive

Given these advantages and disadvantages, I propose the following
solution to including OSSv4 as the default sound backend in gNewSense
3.0 "parkes" (with ALSA available at the user's option, of course),
which I am willing to hack on with the development community's go-ahead:

1. Either merge the OSSv4 kernel modules into the Linux-libre source
(preferred), or otherwise provide a separate pre-built package
containing the OSSv4 modules for every version of the kernel Linux
available in the distribution.

2. Provide packages containing the user-level software needed to
interface with the OSSv4 kernel modules. (Such packages already exist
in Debian, albeit somewhat modified by the Debian project, but this
step is included here for completeness.)

3. Ensure that application software, especially that included in a
default installation of gNewSense, contains and is built with OSSv4
support enabled. This is an issue for programs such as Gnash, which I
have not yet got working with OSSv4, as well as for Firefox-based
browsers, which I have been told on IRC make direct ALSA calls.
Whichever Firefox derivative parkes will include may be the most
significant obstacle to the adoption of OSS.

4. Find, create or modify an existing mixer widget to control OSS sound
cards. This will require significant community participation, as I do
not possess every sound card supported by OSSv4.

5. Write user documentation regarding OSSv4, with particular emphasis
on the fact that we use a free version of the software and not the
non-free binary distribution offered by 4Front Technologies.

6. Submit any significant work upstream.

Ideally, the end result would be a distribution of gNewSense seamlessly
tied in with OSSv4, as well as hopefully encouraging other distros to
do the same.

Steven McDonald

[1] -

Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]