<?php /* -*- HTML -*- */
/*

$Id: sound.php,v 1.2 2001/06/26 17:09:12 cph Exp $

Copyright (c) 2001 Massachusetts Institute of Technology

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA.

*/

include ("support.php");
$SCRIPT_TITLE = "Sound";
standard_header ("\$Id: sound.php,v 1.2 2001/06/26 17:09:12 cph Exp $");
?>

<p>
Linux 2.4.2 and later have support for the Maestro 3 chipset.  This
driver seems to work very well.  Linux 2.4.3 incorporates a
<a href="http://www.zabbo.net/pipermail/maestro-users/2001-February/000249.html">
patch</a> from Zach Brown that fixes the problem with PCM output on
machines with more than 256 MB of RAM.  This driver handles suspend
correctly.
</p>

<p>
One problem with the Linux driver is that the mixer settings are
always reset to particular values when the machine is powered on.
These aren't particularly useful settings, so this means it's
necessary to adjust them every time the machine is booted.  To
simplify this, I've written a program to save the settings when the
machine is shut down, and to restore them when it is booted.

There's a <?php debref ("oss-preserve", "Debian package") ?> for the
program.

(There is also <a href="debian/dists/potato/main/source/">source
code</a> for non-Debian systems.)
</p>

<p>
<a href="http://www.alsa-project.org/">ALSA</a> 0.5.10 supports the
Maestro 3 chipset.  The driver doesn't handle suspend right, so it's
necessary to unload and reload ALSA around the suspend.  There's
also a bug: the PCM driver doesn't work right if you have more than
256 MB of RAM installed.  (I assume Zach Brown's patch will soon be
integrated into the ALSA driver to fix this.)
</p>

<p>
One remaining detail is that the volume-control buttons don't work.
Neither the rocker switch on the right side of the case, nor the
Fn-shifted up and down arrow keys, have any effect on the volume.
</p>

<p>
The <a href="http://www.opensound.com/">Open Sound System</a> driver,
version 3.9.3r, also works, but now that there is good free support
for this chipset there's little reason to spend $30 on a non-free
driver.  However, if you want to use OSS, here is a Debian-style
<?php cfgref ("/etc/init.d/oss-local", "init script") ?> to turn it on
at boot and off at shutdown.
</p>

<?php standard_footer () ?>
