New snd_hda driver came in.
mav at FreeBSD.org
Sat Sep 13 17:08:57 UTC 2008
I have just committed my massive snd_hda driver update to the 8-CURRENT.
Because of using more clear and same time more functional codec parser
new driver is able to handle more codecs, use them better then before
and without most of previous quirks. All of tested codecs itself manage
playback, record, input mixing and monitoring quite fine. In all of
investigated trouble cases problem was found or in nonstandard codec
usage or in incorrect codec configuration made by BIOS. Most of that
cases could be fixed using device hints, some of which are already
included to the driver.
New driver supports multiple codecs per HDA bus, multiple audio function
groups per codec and multiple logical sound devices per audio function
group. So don't worry when you get several PCM devices instead of one,
it is normal. It is usual situation with powerful codecs to provide, for
example, 3 PCM devices: one for 7.1 playback and main recording, one for
headset and one for digital SPDIF I/O.
New driver implements Universal Audio Architecture (UAA) much better
then previous one. Most information about recommended codec usage now
taken from the codec configuration registers initialized by BIOS. User
may alter that configuration using device hints to reconfigure logical
audio devices to his needs in a very broad range up to the limits of the
New driver supports digital PCM playback and AC3 pass-through. I am not
sure about completeness of this implementation, but I have several
success stories including my own. Vchans subsystem does not support AC3
pass-through so it had to be disabled for that devices at this moment.
New driver is ready for multichannel playback, but until our OSS is
unable to use this it will just duplicate same stereo stream into all
New driver supports suspend/resume. I am unable to really test this part
myself, but I have got several success stories.
Driver has very informative verbose boot messages. So if you have any
questions or problems - enable and read them first.
Driver was actively discussed and tested on freebsd-multimedia@ mail list.
More information about the freebsd-current