At Wed, 2 Jul 2003 18:11:27 +0200,
Gregor Riepl wrote:

> Isn't there any documentation on this?
> I would really appreciate if someone could finally sort this trouble out 
> since there are a lot of people who use a VIA8233+.

ok, let me explain briefly about this theme.

VIA82xx chip has different revisions, and the behavior of the chip
depends on the revision.
basically, via chip has two different playback modes.
one is called DXS (direct sound) mode, and another is multi-channel
mode.  the former supports only two-channel format but you can play
up to 4 streams at the same time.  the sample rate of these 4 streams
must be identical, though.

the another mode, multi-channel mode, supports only one stream but you
can play from 2 to 6 (5.1) channels with this.  obviously, this is
used for playback of AC3 decoding, etc.

in the recent ALSA via82xx driver, the DXS mode is used as default
(i.e. the first pcm device hw:0,0) on the chip models which support
it.  the multi-channel mode is assigned to the secondary pcm (hw:0,1),
which corresponds to /dev/adsp in the OSS-emulation mode.

the chip with the revision 0x40, which is called VIA8233A, has no DXS
mode.  other revisions, VIA8233, 8233C and 8235, do support it.
each DXS channel (from 0 to 3) has an indepedent stereo volume.
please make sure that these volumes, "VIA DXS Playback Volume", are
set to full (although they are initialized to full as default).

unfortuantely, some motherboards have the problems of DXS channels.
on some, DXS mode doesn't work at all, and on some, only 48kHz is
available (otherwise you'll hear click noises).
according to the people of VIA tech, this is because of the BIOS
(typically AWARD BIOS).  so, one solution is to update the BIOS.
but it's not always a preferred solution.

in the recent driver version, a workaround is provided instead.
there is a module option "dxs_support", which defines how to handle
the DXS channels.  if you have a problem with the first pcm device,
try dxs_support=2 or dxs_support=3.

when dxs_support=2 is given, the DXS mode is disabled and you'll have
only the multi-channel playback mode.  this means, the chip is handled
as VIA8233A.  of course, you can play only on stream.  in this case,
dmix plugin would be a workaround.

when dxs_support=3 is given, only 48kHz is allowed for the DXS
channels.  that means, the sample-rate conversion will be done in
alsa-lib or OSS-emulation for playing MP3.  but it's cheaper than dmix
plugin.  so, try this once, and if still doesn't work, try the
previous one.

how to add such an option?  if you already have module options for
via82xx driver, you should see the line like following in
/etc/modules.conf

        options snd-via82xx index=0

and just add dxs_support=2 (or 3) there.

        options snd-via82xx index=0 dxs_support=2

then restart the driver.


in future, i'll add a black-list of motherboards which don't work well
with DXS mode.  if your mobo needs the workaround above, please let me
know the pci-subsystem vendor/device ids, which can be obtained via
"lspci -nv" command.


Takashi


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to