Not quite.
On bootup, the system is fairly busy, and there can be a large delay between
initialising the kernel driver, and reloading the mixer levels from user-space.
Even with sound drivers as loadable modules, with a post-install script to fix
the levels, this has been known to take a few seconds - long enough to wake the
household at 3am when the module gets reloaded because something tries to make
a sound, and the default state of the line input is 'bloody loud' :)
While kerneld was still capable of storing persistent data for modules, I
made the SB driver save and restore mixer settings on load/unload. When it
first initialised the hardware, the previous mixer levels were restored - at
no time did it jump to some arbitrarily-chosen 'default' levels.
Since the death of kerneld, I haven't yet come up with a good solution for
this - perhaps it should be possible to pass the required levels on the
command line, or as an argument to the module?
One thing with which I experimented was reading the current levels back from
the hardware - on cards which support it, that's quite a nice solution.
---- ---- ----
David Woodhouse David.Woodhouse@mvhi.com Office: (+44) 1223 810302
Project Leader, Process Information Systems Mobile: (+44) 976 658355
Axiom (Cambridge) Ltd., Swaffham Bulbeck, Cambridge, CB5 0NA, UK.
finger dwmw2@ferret.lmh.ox.ac.uk for PGP key.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/