# Alsa built into kernel or as module?

## evoweiss

Hi all,

For those of you are running the 2.6 version of the kernel, how many have alsa built into the kernel and how many have alsa loaded as a module. I actually had both for a while  :Shocked: .

Is there any advantage to one or the other? 

Basically, my problem is that, ever since migrating to the 2.6 kernel (gentoo and vanilla sources: 2.6.6 and then 2.6.7), I've had a lot of trouble with distortion creeping into songs when playing music with xmms or beep-media-player. 

Presently, I've ruled out that it had something to do with my xfs file system being screwed up. I thought one possibility is that there's a problem when alsa is built into the kernel or at least my version of the kernel.

Hope to hear from you all soon.

Best,

Alex

----------

## moocha

Always used them as modules, ever since ALSA appeared. Was using OSS/Free as modules even before. No particular reason - I just like my bzImages to be small, hence everything that falls under the "luxury / toys" category gets put into a module instead of monolithically into the kernel.

----------

## metalifloyd

I've noticed the same problem with distortion. The only resolution I was able to find was to keep all mixer levels (PCM, Master, ETC.) below 80%.. 

I've had Alsa compiled in and as modules. I'm unable to tell the difference.

----------

## evoweiss

 *metalifloyd wrote:*   

> I've noticed the same problem with distortion. The only resolution I was able to find was to keep all mixer levels (PCM, Master, ETC.) below 80%..

 

Well, previously I had the settings down and still had the problem (it gets pretty bad sometimes). Well, given that I now only have alsa built into the kernel, I'll hope it works. 

 *Quote:*   

> I've had Alsa compiled in and as modules. I'm unable to tell the difference.

 

Ok... I might go for the minimalist approach as well. It appeals to me on an aesthetic level.

Best,

Alex

----------

## codergeek42

I use the alsa-driver ebuild, so its modules for me...

----------

## Supaiku

2.6 and modules.

I think I tried it in kernel first but it didn't work - either that or I read the wiki article and set it up as they said for 2.6 (which IS as modules).

----------

## Genfoo'

I have a Hercules Gamesurround Fortissimo II (cs46xx) and I have always used the kernel drivers because it was easier.  Recently I tried using the modules instead and realized I didn't have hardware mixing and I couldn't get dmix to work.

Is there a way to get hardware mixing with the module driver or put the current 1.0.7 driver in the kernel?  The drivers in the 2.6.10-gentoo-r4 kernel don't play through the rear speakers.

----------

## Gentree

AHHH.

I have been banging my head trying to dmix to work for a couple of days. Most audio threads seem to recommend modules for alsa so maybe I've just lost something aloing the way.

Can any of the modules proponents here confirm a working dmix?

If so , does it need anything more than a valid /etc/asound.conf to make it work?

TIA  :Cool: 

----------

## Supaiku

Me:D

I followed the alsa/dmix wiki guide and it worked out alright. 

The proper asound.conf is vital, and it does take a little tweaking.

----------

## evoweiss

 *Supaiku wrote:*   

> 
> 
> I followed the alsa/dmix wiki guide and it worked out alright. 
> 
> The proper asound.conf is vital, and it does take a little tweaking.

 

I followed the guide too and yet that thing, i.e., distortion overwhelming the song to the point where you can't hear it well at all, still happens.

Can you post your asound.conf file?

Best,

Alex

----------

## Supaiku

I don't have an asound.conf..

You might try messing with the mixer levels a little, I dunno.

Here's my here's my asoundrc though, I have an Abit NF7-S (soundstorm - the snd_intel8x0 module). it's Hardware specific though (I think, it's under the hardware related ones).

```

# Set default sound card

# Useful so that all settings can be changed to a different card here.

pcm.snd_card {

     type hw

     card 0

}

# Allow mixing of multiple output streams to this device

pcm.dmix {

     type dmix

     ipc_key 1024

     slave.pcm "snd_card"

     slave {

          # This stuff provides some fixes for latency issues.

          # buffer_size should be set for your audio chipset.

          period_time 0

          period_size 1024

          buffer_size 8192

     }

     bindings {

          0 0

          1 1

     }

}

# Allow reading from the default device.

# Also known as record or capture.

pcm.dsnoop {

     type dsnoop

     ipc_key 2048

     slave.pcm "snd_card"

## Possible artsd full duplex fix:

#     slave {

#          period_time 0

#          period_size 1024

#          buffer_size 8192

#     }

     bindings {

          0 0

          1 1

     }

}

# This is what we want as our default device

# a fully duplex (read/write) audio device.

pcm.duplex {

     type asym

     playback.pcm "dmix"

     capture.pcm "dsnoop"

}

###################

# CONVERSION PLUG #

###################

# Setting the default pcm device allows the conversion

# rate to be selected on the fly.

# duplex mode allows any alsa enabled app to read/write

# to the dmix plug (Fixes a problem with wine).

pcm.!default {

     type plug

     slave.pcm "duplex"

}

# Apparently this is wrong (breaks mplayer for me opening the device)

#ctl.!default {

#     type plug

#     slave.pcm "snd_card"

#}

########

# AOSS #

########

# OSS dsp0 device

pcm.dsp0 {

     type plug

     slave.pcm "duplex"

}

# OSS control for dsp0 (needed?...this might not be useful)

ctl.dsp0 {

     type plug

     slave.pcm "snd_card"

}

# OSS control for dsp0 (default old OSS is mixer0)

ctl.mixer0 {

     type plug

     slave.pcm "snd_card"

}

```

----------

## NorthWoodsman

If your PCM volume is 100 (or sufficently high), clipping will occur and music will sound distorted; this shouldn't apply to your master volume though, so use that to set your volume.

----------

## evoweiss

Hi,

 *NorthWoodsman wrote:*   

> If your PCM volume is 100 (or sufficently high), clipping will occur and music will sound distorted; this shouldn't apply to your master volume though, so use that to set your volume.

 

Yes, I am aware of this and have the volumes down below 80. I don't think it's clipping. What happens is the sound just gets more and more garbled until the music is hardly audible. What's strange is that not using dmix solves the problem. Additionally, it never happens when I use mplayer or xine.

Anyway, I've recompiled my kernel with sound as a module and have gotten rid of a ton of stuff in there which I will never use. I thought I had gotten rid of it before, but I was likely being overly cautious (hope everything still works).

Edit: Well, I guess I can rule out the module vs. kernel thing as it started doing it again when compiled as a module. Oh yes, it happens with beep-media-player as well.

Best,

Alex

----------

## Supaiku

My guess is turn off Mmmap mode in the alsa config (adv. tab) of xmms and also in any other programs.

----------

## placeholder

I compile it into the kernel so that I do not have to deal with the alsasound script which does not always load modules properly, and it just seems easier. It is really a personal preference but compiling ALSA as modules and using the alsasound script causes ~80% of ALSA setup problems.

----------

## codergeek42

 *Pwnz3r wrote:*   

> I compile it into the kernel so that I do not have to deal with the alsasound script which does not always load modules properly, and it just seems easier. It is really a personal preference but compiling ALSA as modules and using the alsasound script causes ~80% of ALSA setup problems.

 Very strange   :Confused: 

Whenever people have problems with kernel modules, building it in statically usually fixes it, and whenever people have troubles with building it in statically, modularizing it seems to fix it.   :Laughing: 

----------

## Supaiku

I'd just like to say that I havn't ever hard any startup problems w/ alsa (not that I've been using it for even a month though, I've probably rebooted like 5 times... But I couldn't even get it working w/o moduels - probably user error. When's the last time somone had a post were most of what they said was parenthetical)

----------

## evoweiss

 *Supaiku wrote:*   

> My guess is turn off Mmmap mode in the alsa config (adv. tab) of xmms and also in any other programs.

 

Already been there and done that. The only thing I've noticed is that there's a bit more static in some songs when alsa is set up as modules. Also, note that I previously mentioned that the problem does not come up if I use mplayer or xine to play music.

Also, count me in on the list of folks who don't have a problem with the start-up scripts.

Best,

Alex

----------

## Supaiku

Darn, I was pretty sure that was gonna be it.  :Sad: 

it cause some weird problems for me and cedega isn't supposed to use it w/ dmix either :/ Shux

----------

## evoweiss

 *Supaiku wrote:*   

> Darn, I was pretty sure that was gonna be it. 
> 
> it cause some weird problems for me and cedega isn't supposed to use it w/ dmix either :/ Shux

 

Eh, it's ok. I remember having trouble with mmaps before switching to 2.6 and the joy of figuring out that it was the source of many woes.

Right now I am trying to play the music after a modprobe rtc-timer to see if that fixes things. I will, no doubt, report back with my findings.

I've tried posting about this on the xmms bugtracker, but that's not gotten me very far. If I can confirm that the same problem happens in bmp, I'll report it to their bugtracker as, from what I hear, bmp is being actively developed.

Best,

Alex

----------

## Cintra

I have alsa built in to 2.6.10.. its simpler and allows my onboard sound and usb voip handset to come up in the right order too.

btw, the only thing which has caused distortion for me on a number of distros can be detected by running # iecset and seeing if rate is set to 48000. If it is try # iecset rate 44100.

regards

----------

## evoweiss

Hi Cintra,

 *Cintra wrote:*   

> 
> 
> btw, the only thing which has caused distortion for me on a number of distros can be detected by running # iecset and seeing if rate is set to 48000. If it is try # iecset rate 44100.

 

When I type that in I get the following error message.

```
control "IEC958 Playback Default" not found
```

Any clue as to what that means or how to get it working? I tried using google and searching on the forum, but had no luck.

Alex

----------

## Cintra

Like alsamixer its part of alsa-utils - /usr/bin/iecset

mvh

----------

## evoweiss

 *Cintra wrote:*   

> Like alsamixer its part of alsa-utils - /usr/bin/iecset

 

I have the program, but running it gives me that output. I will try re-emerging alsa-utils.

Update: Nope, that didn't work...

Best,

Alex

----------

## ozbird

 *evoweiss wrote:*   

> What happens is the sound just gets more and more garbled until the music is hardly audible. What's strange is that not using dmix solves the problem. Additionally, it never happens when I use mplayer or xine.

 

Sounds like feedback?  See if dmix has any toggle/switch settings like "Line-In As Surround" - when this was set for my on-board sound (ALC850),

it produced some weird results, similar to what you describe.  "Mic As Center/LFE" is another than might cause feedback.

You could also try taking snapshots of the mixer settings before running dmix and while it is running (and distorting) using 

```
/usr/sbin/alsactl store -f /tmp/mixer.settings
```

Comparing the files may identify which mixer setting(s) are to blame.

----------

## evoweiss

 *ozbird wrote:*   

> 
> 
> Sounds like feedback?  See if dmix has any toggle/switch settings like "Line-In As Surround" - when this was set for my on-board sound (ALC850),
> 
> it produced some weird results, similar to what you describe.  "Mic As Center/LFE" is another than might cause feedback.

 

I'm not sure what feedback would sound like on the computer, though I don't suspect it is. See, here's the symptoms.

1. Songs play just fine.

2. Suddenly they start sounding garbled and warbly

3. Pausing and unpausing will fix it as will advancing to the next song.

I have all the inputs shut to mute, though I'm not sure whether that will do the trick. Also, wouldn't this effect sound played with mplayer or xine? As I said, both mplayer and xine do a fine job of playing audio stuff without any distortion, etc., it's only xmms and bmp that can't get their act together. Another thing I noticed is that songs recorded at a lower Hz rating have static in them while being played with xmms and bmp and NOT xine or mplayer. I suspect this is related to the problem in some way, i.e., the same bug is causing both problems to occur.

 *Quote:*   

> You could also try taking snapshots of the mixer settings before running dmix and while it is running (and distorting) using 
> 
> ```
> /usr/sbin/alsactl store -f /tmp/mixer.settings
> ```
> ...

 

I will do that, though I may not be able to get around to it until tomorrow (woman > xmms). I may have been wrong about it not happening when dmix is off, but I will run it without dmix, with dmix, and with dmix while the distortion is happening. I can also get the same output while playing music with mplayer, xine, and bmp. Hence, it will offer a nice set of comparisons.

Best,

Alex

----------

## Cintra

 *evoweiss wrote:*   

>  *Cintra wrote:*   Like alsamixer its part of alsa-utils - /usr/bin/iecset 
> 
> I have the program, but running it gives me that output. I will try re-emerging alsa-utils.
> 
> Update: Nope, that didn't work...
> ...

 

do you have iec958 in alsamixer? if not I guess your card doesn't support it..

----------

## evoweiss

 *cintra wrote:*   

> do you have iec958 in alsamixer? if not I guess your card doesn't support it..

 

Unfortunately, I do not, so I guess that explains that.

As I previously said, I think this may have something to do with the xmms and bmp alsa plug-ins as xine and mplayer work fine. It would be nice if somebody could work on porting over those sound systems to xmms.

AlexLast edited by evoweiss on Thu Jan 13, 2005 2:58 am; edited 1 time in total

----------

## Genfoo'

evoweiss, I have the same problem with Rhythmbox.  It is annoying, but I just stop and restart the player and all is well.  I thought it was a gstreamer problem, but if it happens in xine then I guess it is something else.

My sound card is Hercules Gamesurround Fortissimo II and alsa driver is cs46xx.

Can anyone tell me how to get hardware mixing working with the 1.0.7 drivers as a module or how to get the latest drivers into the kernel.  The drivers in the 2.6.10-gentoo-r4 kernel don't drive the rear speakers, but have hardware mixing and the current 1.0.7 drivers drive the rear speakers, but don't have hardware mixing.

----------

## metalifloyd

I was going to suggest what ozbird said. Check to see if you have a microphone plugged in. It's possible that it could be picking up what is playing over the speakers and feeding it back into the system. However that doesn't explain what it would only cause distortion in XMMS and beep but not Xine or Mplayer. I would check the settings of say Xine and Xmms and see what they are using for sound output. i.e. Alsa, OSS, Arts, Esound, etc...

----------

## evoweiss

 *cintra wrote:*   

> do you have iec958 in alsamixer? if not I guess your card doesn't support it..

 

Unfortunately, I do not, so I guess that explains that.

As I previously said, I think this may have something to do with the xmms and bmp alsa plug-ins as xine and mplayer work fine. It would be nice if somebody could work on porting over those sound systems to xmms.

Alex

----------

## evoweiss

 *Genfoo' wrote:*   

> evoweiss, I have the same problem with Rhythmbox.  It is annoying, but I just stop and restart the player and all is well.  I thought it was a gstreamer problem, but if it happens in xine then I guess it is something else.

 

I've never tried gstreamer, so I wouldn't know. On my system there is a problem with xmms and beep-media-player, period.

As per your question on playing sounds simultaneously, if you need software mixing, look up dmix on the forums and you'll come across the answers you need (some from me!)

Best,

Alex

----------

## evoweiss

Hi,

 *metalifloyd wrote:*   

> I was going to suggest what ozbird said. Check to see if you have a microphone plugged in. It's possible that it could be picking up what is playing over the speakers and feeding it back into the system. However that doesn't explain what it would only cause distortion in XMMS and beep but not Xine or Mplayer.

 

I don't have any microphones plugged in and I keep those channels muted. As the previously mentioned woman has left for the evening, I'm trying the experiment Ozbird suggested. I have made the files for mplayer, xine, and xmms when it's not screwing up. I'm now waiting for xmms to screw up so that I can do the same thing and see whether there were any differences.

 *Quote:*   

> I would check the settings of say Xine and Xmms and see what they are using for sound output. i.e. Alsa, OSS, Arts, Esound, etc...

 

I can confirm that both use alsa as their output as I can use software mixing while they're playing. With mplayer I had to note that in the ~/.mplayer/conf file. Are there any important settings to look for?

My current thinking is that the problem is a bug somewhere in the xmms alsa libs as, if I recall, the same libs are used in bmp which is a fork off the xmms project.

Ooh, weirdness occurred. I wasn't running dmix (I don't think) and had xmms stop playing with the following error while I was emerging gtk+

ALSA lib pcm_hw.c:1172:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Device or resource busy

ALSA lib pcm_dmix.c:868:(snd_pcm_dmix_open) unable to open slave

I wonder if this is related.

I also have gotten this message before.

Message: fmt 5, channels: 2

Best,

Alex

----------

## thoughtform

so after emerging alsa driver, am i supposed to have 

Sound support compiled in

and alsa set as modules?

does the alsa-driver updated the modules that get modularized in the kernel?

i have no sound with my setup currently  :Sad: 

teh scorpaen # lsmod

Module                  Size  Used by

snd_seq_midi            8672  0

snd_pcm_oss            52896  0

snd_mixer_oss          19776  1 snd_pcm_oss

snd_seq_oss            37056  0

snd_seq_midi_event      7744  2 snd_seq_midi,snd_seq_oss

snd_seq                54864  5 snd_seq_midi,snd_seq_oss,snd_seq_midi_event

snd_cs46xx             83428  0

snd_rawmidi            25312  2 snd_seq_midi,snd_cs46xx

snd_seq_device          9036  4 snd_seq_midi,snd_seq_oss,snd_seq,snd_rawmidi

snd_ac97_codec         77216  1 snd_cs46xx

snd_pcm                94536  3 snd_pcm_oss,snd_cs46xx,snd_ac97_codec

snd_timer              25796  2 snd_seq,snd_pcm

snd                    56548  10 snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_cs46xx,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm,snd_timer

snd_page_alloc          9988  2 snd_cs46xx,snd_pcm

nvidia               3466332  12

----------

## evoweiss

 *Scorpaen wrote:*   

> so after emerging alsa driver, am i supposed to have Sound support compiled in and alsa set as modules? does the alsa-driver updated the modules that get modularized in the kernel? i have no sound with my setup currently 

 

What happens when you type in:

```
/etc/init.d/alsasound start
```

Do you have alsa-lib and alsa-utils, etc. installed? After compiling your kernel did you use the modules-update command?

Best,

Alex

----------

## evoweiss

Well, I got the snapshots and found some differences between the two files, though I'm not sure whether they existed previously or whether I am to blame for them. I am going to go through the whole thing again. Here are the snapshots:

The good sound

```

state.ICH5 {

 control.1 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'Master Surround Playback Switch'

  value.0 false

      value.1 false

   }

   control.2 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Master Surround Playback Volume'

      value.0 24

      value.1 24

   }

   control.3 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Center Playback Switch'

      value false

   }

   control.4 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Center Playback Volume'

      value 24

   }

   control.5 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'LFE Playback Switch'

      value false

   }

   control.6 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'LFE Playback Volume'

      value 0

   }

   control.7 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Surround Playback Switch'

      value.0 false

      value.1 false

   }

   control.8 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Surround Playback Volume'

      value.0 24

      value.1 24

   }

   control.9 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Master Playback Switch'

      value.0 true

      value.1 true

   }

   control.10 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Master Playback Volume'

      value.0 31

      value.1 31

   }

   control.11 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Master Mono Playback Switch'

      value false

   }

   control.12 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Master Mono Playback Volume'

      value 24

   }

   control.13 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Phone Playback Switch'

      value false

   }

   control.14 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Phone Playback Volume'

      value 0

   }

   control.15 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Mic Playback Switch'

      value false

   }

   control.16 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Mic Playback Volume'

      value 0

   }

   control.17 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Mic Boost (+20dB)'

      value false

   }

   control.18 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Line Playback Switch'

      value.0 true

      value.1 true

   }

   control.19 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Line Playback Volume'

      value.0 0

      value.1 0

   }

   control.20 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'CD Playback Switch'

      value.0 true

      value.1 true

   }

   control.21 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'CD Playback Volume'

      value.0 0

      value.1 0

   }

   control.22 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Aux Playback Switch'

      value.0 false

      value.1 false

   }

   control.23 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Aux Playback Volume'

      value.0 0

      value.1 0

   }

   control.24 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'PCM Playback Switch'

      value.0 true

      value.1 true

   }

   control.25 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'PCM Playback Volume'

      value.0 24

      value.1 24

   }

   control.26 {

      comment.access 'read write'

      comment.type ENUMERATED

      comment.item.0 Mic

      comment.item.1 CD

      comment.item.2 Video

      comment.item.3 Aux

      comment.item.4 Line

      comment.item.5 Mix

      comment.item.6 'Mix Mono'

      comment.item.7 Phone

      iface MIXER

      name 'Capture Source'

      value.0 Mic

      value.1 Mic

   }

   control.27 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Capture Switch'

      value.0 true

      value.1 true

   }

   control.28 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 15'

      iface MIXER

      name 'Capture Volume'

      value.0 0

      value.1 0

   }

   control.29 {

      comment.access 'read write'

      comment.type ENUMERATED

      comment.item.0 Mic1

      comment.item.1 Mic2

      iface MIXER

      name 'Mic Select'

      value Mic2

   }

   control.30 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Exchange Front/Surround'

      value false

   }

   control.31 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Spread Front to Surround and Center/LFE'

      value false

   }

   control.32 {

      comment.access 'read write'

      comment.type ENUMERATED

      comment.item.0 Off

      comment.item.1 '6 -> 4'

      comment.item.2 '6 -> 2'

      iface MIXER

      name Downmix

      value '6 -> 2'

   }

   control.33 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Surround Jack as Input'

      value false

   }

   control.34 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Center/LFE Jack as Input'

      value false

   }

 control.35 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'Stereo Mic'

  value false

 }

 control.36 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'External Amplifier'

  value false

 }

}

state.ICH5 {

 control.1 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Master Surround Playback Switch'

      value.0 false

      value.1 false

   }

   control.2 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Master Surround Playback Volume'

      value.0 24

      value.1 24

   }

   control.3 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Center Playback Switch'

      value false

   }

   control.4 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Center Playback Volume'

      value 24

   }

   control.5 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'LFE Playback Switch'

      value false

   }

   control.6 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'LFE Playback Volume'

      value 0

   }

   control.7 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Surround Playback Switch'

      value.0 false

      value.1 false

   }

   control.8 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Surround Playback Volume'

      value.0 24

      value.1 24

   }

   control.9 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Master Playback Switch'

      value.0 true

      value.1 true

   }

   control.10 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Master Playback Volume'

      value.0 31

      value.1 31

   }

   control.11 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Master Mono Playback Switch'

      value false

   }

   control.12 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Master Mono Playback Volume'

      value 24

   }

   control.13 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Phone Playback Switch'

      value false

   }

   control.14 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Phone Playback Volume'

      value 0

   }

   control.15 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Mic Playback Switch'

      value false

   }

   control.16 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Mic Playback Volume'

      value 0

   }

   control.17 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Mic Boost (+20dB)'

      value false

   }

   control.18 {

      comment.access 'read write'

      comment.type BOOLEAN

  iface MIXER

  name 'Line Playback Switch'

  value.0 true

  value.1 true

 }

 control.19 {

  comment.access 'read write'

  comment.type INTEGER

  comment.range '0 - 31'

  iface MIXER

  name 'Line Playback Volume'

  value.0 0

  value.1 0

 }

 control.20 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'CD Playback Switch'

  value.0 true

  value.1 true

 }

 control.21 {

  comment.access 'read write'

  comment.type INTEGER

  comment.range '0 - 31'

  iface MIXER

  name 'CD Playback Volume'

  value.0 0

  value.1 0

 }

 control.22 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'Aux Playback Switch'

  value.0 false

  value.1 false

 }

 control.23 {

  comment.access 'read write'

  comment.type INTEGER

  comment.range '0 - 31'

  iface MIXER

  name 'Aux Playback Volume'

  value.0 0

  value.1 0

 }

 control.24 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'PCM Playback Switch'

  value.0 true

  value.1 true

 }

 control.25 {

  comment.access 'read write'

  comment.type INTEGER

  comment.range '0 - 31'

  iface MIXER

  name 'PCM Playback Volume'

  value.0 24

  value.1 24

 }

 control.26 {

  comment.access 'read write'

  comment.type ENUMERATED

  comment.item.0 Mic

  comment.item.1 CD

  comment.item.2 Video

  comment.item.3 Aux

  comment.item.4 Line

  comment.item.5 Mix

  comment.item.6 'Mix Mono'

  comment.item.7 Phone

  iface MIXER

  name 'Capture Source'

  value.0 Mic

  value.1 Mic

 }

 control.27 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'Capture Switch'

  value.0 true

  value.1 true

 }

 control.28 {

  comment.access 'read write'

  comment.type INTEGER

  comment.range '0 - 15'

  iface MIXER

  name 'Capture Volume'

  value.0 0

  value.1 0

 }

 control.29 {

  comment.access 'read write'

  comment.type ENUMERATED

  comment.item.0 Mic1

  comment.item.1 Mic2

  iface MIXER

  name 'Mic Select'

  value Mic2

 }

 control.30 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'Exchange Front/Surround'

  value false

 }

 control.31 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'Spread Front to Surround and Center/LFE'

  value false

 }

 control.32 {

  comment.access 'read write'

  comment.type ENUMERATED

  comment.item.0 Off

  comment.item.1 '6 -> 4'

  comment.item.2 '6 -> 2'

  iface MIXER

  name Downmix

  value '6 -> 2'

 }

 control.33 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'Surround Jack as Input'

  value false

 }

 control.34 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'Center/LFE Jack as Input'

  value false

 }

 control.35 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'Stereo Mic'

  value false

 }

 control.36 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'External Amplifier'

  value false

 }

}

```

Now the bad:

```

state.ICH5 {

 control.1 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Master Surround Playback Switch'

      value.0 false

      value.1 false

   }

   control.2 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Master Surround Playback Volume'

      value.0 24

      value.1 24

   }

   control.3 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Center Playback Switch'

      value false

   }

   control.4 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Center Playback Volume'

      value 24

   }

   control.5 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'LFE Playback Switch'

      value false

   }

   control.6 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'LFE Playback Volume'

      value 0

   }

   control.7 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Surround Playback Switch'

      value.0 false

      value.1 false

   }

   control.8 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Surround Playback Volume'

      value.0 24

      value.1 24

   }

   control.9 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Master Playback Switch'

      value.0 true

      value.1 true

   }

   control.10 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Master Playback Volume'

      value.0 31

      value.1 31

   }

   control.11 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Master Mono Playback Switch'

      value false

   }

   control.12 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Master Mono Playback Volume'

      value 24

   }

   control.13 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Phone Playback Switch'

      value false

   }

   control.14 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Phone Playback Volume'

      value 0

   }

   control.15 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Mic Playback Switch'

      value false

   }

   control.16 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Mic Playback Volume'

      value 0

   }

   control.17 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Mic Boost (+20dB)'

      value false

   }

   control.18 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Line Playback Switch'

      value.0 false

      value.1 false

   }

   control.19 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Line Playback Volume'

      value.0 0

      value.1 0

   }

   control.20 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'CD Playback Switch'

      value.0 false

      value.1 false

   }

   control.21 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'CD Playback Volume'

      value.0 0

      value.1 0

   }

   control.22 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Aux Playback Switch'

      value.0 false

      value.1 false

   }

   control.23 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'Aux Playback Volume'

      value.0 0

      value.1 0

   }

   control.24 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'PCM Playback Switch'

      value.0 true

      value.1 true

   }

   control.25 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 31'

      iface MIXER

      name 'PCM Playback Volume'

      value.0 20

      value.1 20

   }

   control.26 {

      comment.access 'read write'

      comment.type ENUMERATED

      comment.item.0 Mic

      comment.item.1 CD

      comment.item.2 Video

      comment.item.3 Aux

      comment.item.4 Line

      comment.item.5 Mix

      comment.item.6 'Mix Mono'

      comment.item.7 Phone

      iface MIXER

      name 'Capture Source'

      value.0 Mic

      value.1 Mic

   }

   control.27 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Capture Switch'

      value.0 true

      value.1 true

   }

   control.28 {

      comment.access 'read write'

      comment.type INTEGER

      comment.range '0 - 15'

      iface MIXER

      name 'Capture Volume'

      value.0 0

      value.1 0

   }

   control.29 {

      comment.access 'read write'

      comment.type ENUMERATED

      comment.item.0 Mic1

      comment.item.1 Mic2

      iface MIXER

      name 'Mic Select'

      value Mic1

   }

   control.30 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Exchange Front/Surround'

      value false

   }

   control.31 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Spread Front to Surround and Center/LFE'

      value false

   }

   control.32 {

      comment.access 'read write'

      comment.type ENUMERATED

      comment.item.0 Off

      comment.item.1 '6 -> 4'

      comment.item.2 '6 -> 2'

      iface MIXER

      name Downmix

      value '6 -> 2'

   }

   control.33 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Surround Jack as Input'

      value false

   }

   control.34 {

      comment.access 'read write'

      comment.type BOOLEAN

      iface MIXER

      name 'Center/LFE Jack as Input'

      value false

   }

 control.35 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'Stereo Mic'

  value false

 }

 control.36 {

  comment.access 'read write'

  comment.type BOOLEAN

  iface MIXER

  name 'External Amplifier'

  value false

 }

}

```

Now the diff file:

```

140,141c140,141

<   value.0 true

<       value.1 true

---

>       value.0 false

>       value.1 false

157,158c157,158

<   value.0 true

<   value.1 true

---

>   value.0 false

>   value.1 false

200,201c200,201

<   value.0 24

<   value.1 24

---

>   value.0 20

>   value.1 20

243c243

<   value Mic2

---

>   value Mic1

```

Alex

----------

## evoweiss

Well, I suspect I was the culprit who caused the difference between those files and not some xmms problem. I will give it one more shot. Is there any other way to get some sort of idea of what's happening?

----------

## evoweiss

Well, I think I've hit upon another possible reason I'm having this problem, but only time will tell. 

I had kmix off, but, out of curiosity, I brought it up and saw that, under switches, mic select, Video, and Downmix were all turned on.

Unfortunately, every time I change it, close kmix, shut kmix down, it doesn't seem to stick. So, for now, I'm playing stuff with xmms and keeping kmix open with those three settings turned off. 

As always, I'm hoping this is the cause of the problem because I imagine getting kmix to permanently cease it's bullshit would be easy.

Best,

Alex

----------

## evoweiss

Hi all,

Well, I've ruled out every possibility except one: something about xmms and beep-media-player does not work well when hyperthreading is enabled. Here's how I came upon this possibility.

1) My old 2.4 kernel did not have hyperthreading activated.

2) If I pass acpi=off to the kernel in grub.conf, the problem seems to go away, though cat /proc/cpuinfo says I only have a single cpu afterwards.

3) As soon as I boot back into a kernel with hyperthreading enabled, the problem returns.

Does this help anybody figure out the problem?

Best,

Alex

----------

## Starcub

 *Genfoo' wrote:*   

> 
> 
> Can anyone tell me how to get hardware mixing working with the 1.0.7 drivers as a module or how to get the latest drivers into the kernel.  The drivers in the 2.6.10-gentoo-r4 kernel don't drive the rear speakers, but have hardware mixing and the current 1.0.7 drivers drive the rear speakers, but don't have hardware mixing.

 

http://alsa.opensrc.org/index.php?page=AlsaBuild2.6

----------

## ian!

Moved from 'Multimedia'.

----------

## Genfoo'

Thank you, Starcub.  I'm trying it now.

----------

## Genfoo'

Starcub's link worked, but all it did was put a 'Duplicate Front' selection in the mixer.  At least I get sound out of all four speakers.  Thank You.

----------

## evoweiss

Hi all,

Well, I've tried a few more things and I still have the occasional problem with the distortion creeping into songs. I've ruled out everything, have alsa running as modules using the most recent drivers, and even cleaned out my /tmp directory of potentially conflicting files. It was at this last stage that I made an interesting discovery.

There's a file therein called alsa-dmix-XXXXX-XXXXXXXXXX-XXXXXX where X are numbers. It seems as if a change in the last series of numbers is associated with clicking for the next song after the distortion has set in (which fixes the problem).

Could somebody clue me in as to whether this is telling me anything and what might be going on? The problem seems to have something to do with hyperthreading, dmix, and the alsa plugin for xmms. Of course, as one might expect, the xmms bugtracker has been of almost no help, so this is my last resort.

Best,

Alex

----------

## metalcoat

I recently had that program and then switched to kde, after i still had the same problem of course. After searching all of googles reponses i reemerged gstreamer to 0.8.8 i believe and everything seems to be flawless..dont know if that helps you

----------

