SB Audigy LS (snd-ca0106)

Hey all.

I have a Soundblaster Audigy sound card in my desktop box that is giving me some problems. I purchased it when I realised that my C-Media on-board sound that was only supported by the USB-Audio module wouldn’t do surround sound.

The surround sound works fine, the issue lies in the fact that if I am playing music in Amarok (which is almost all of the time) sound from other applications won’t play. Such as Kopete, KNotify, Games, etc.

If another application tries to play sound a message pops up by the system tray from phonon (no clue what that is) saying that the default card is disabled.

Also, I don’t think this is a KDE 4 issue, as it doesn’t happen on my laptop, but at start up the KDE startup sound stops halfway through (about the same time the tip of the day pops up). It sounds to me like it is because of the multiple application issue.

Another thing. Is it normal to not have a master volume control in KMix when you have a surround system? I have volume sliders for the indivudual channels but not a slider for all of them. That is kind of frustrating, as I would like to be able to turn down all of my speakers, as opposed to one or two of them. =\

The card is identified in YaST as a SB Audigy LS using the snd-ca0106 module. If any other info is needed, let me know.

Typically, the sound APIs with ESD, aRts, and OSS won’t share audio between applications. However the alsa API (where alsa comes with both hardware sound drivers and an API) will share audio between applications.

What works for some users in the 10.x openSUSE is to specify alsa as the sound output module in each and every multimedia applications.

I’m not up to speed on the practical aspects of phonon.

I know Phonon was intended to provide a common interface on top of other systems, such as GStreamer. It was to be introduced with KDE4 (which I don’t have installed), to offer a consistent API to use audio or video within multimedia applications. Phonon is not supposed to be a new sound server, and is not supposed to compete with xine, GStreamer, ESD, aRts, etc. Rather, due to the ever-shifting nature of multimedia programming, it is supposed to offer a consistent API that wraps around these other multimedia technologies.

As to how that was implemented, … I don’t know. Hence I don’t know if you need to point Phonon to use alsa (instead of ESD, aRts, OSS) or if you have to point your applications to use alsa.

KDE4 is too unstable for my temperament, and hence I will be behind the learning curve on the practical aspects of smoothing out KDE4 sound hiccups. Others who know the theory and practical will need to step in and help you here.

I find the appearance of kmix tends to be very specific to the various sound cards. Maybe this is an enhancement or bug you need to forward to the KDE developers.

I assume you have seen Chrysantine’s solution for audigy users with no sound (and I think it not applicable to you). [Solution] Creative Audigy 1/2 + 11.0 + KDE/GNOME + ALSA - openSUSE Forums](http://forums.opensuse.org/hardware/386773-solution-creative-audigy-1-2-11-0-kde-gnome-alsa.html)

I appreciate the assistance, oldcpu. Just out of curiosity, if I were using KDE3 what would be your suggestions?

Of course, I could always try booting into KDE3 and see what happens, however, I remember having the same issues in 10.3, but at the time I was using my laptop more so it didn’t bother me as much.

I am familiar with that thread as I found it when searching for a solution before posting this thread. I don’t have an option to do what is suggested. One thing I did notice is that they seem to be using a different module than SuSE used for my card.

I find the appearance of kmix tends to be very specific to the various sound cards. Maybe this is an enhancement or bug you need to forward to the KDE developers.

It is the same in alsamixer as well. So I don’t think it is a KMix issue, but rather a module thing.

Any ideas at all?

Okay, I’ve been messing with this for the past month off and on trying to sort these issues out, and I have it mostly.

To get surround sound to work, I added this to /etc/asound.conf.


pcm.!dmix {
   type plug
   slave {
       pcm surround51
       channels 6
   }
}
pcm.!default {
   type plug
   slave.pcm "dmix"
   slave.channels 6
   route_policy duplicate
}

When this is done, only one app is able to use the sound, So I stumbled across a solution from the ubuntu forums using pulseaudio. I had been avoiding pulse it as it seemed buggy for many, but now it is handling things better.

However, when tweaking pulseaudio the right way, surround sound works and multiple apps can use the sound device, meaning I can get sound through kopete whilst jamming in amarok.

Here is my /etc/pulse/default.pa file:


#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio 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 Lesser General Public License
# along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

.nofail

### Load something into the sample cache
#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
#load-sample-lazy pulse-access /usr/share/sounds/generic.wav

.fail

### Load audio drivers statically (it's probably better to not load
### these drivers manually, but instead use module-hal-detect --
### see below -- for doing this automatically)
#load-module module-alsa-sink
load-module module-alsa-sink device="surround51" channels=6 sink_name=sur51
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink

### Automatically load driver modules depending on the hardware available
#.ifexists module-hal-detect.so
#load-module module-hal-detect
#.else
### Alternatively use the static hardware detection module (for systems that
### lack HAL support)
#load-module module-detect
#.endif

### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix

### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish

### Load the RTP reciever module (also configured via paprefs, see above)
#load-module module-rtp-recv

### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 description="RTP Multicast Sink"
#load-module module-rtp-send source=rtp.monitor

### Automatically restore the volume of playback streams
load-module module-volume-restore

### Automatically restore the default sink/source when changed by the user during runtime
load-module module-default-device-restore

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams

### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle

### Load X11 bell module
#load-module module-x11-bell sample=x11-bell

### Register ourselves in the X11 session manager
# Deactivated by default, to avoid deadlock when PA is started as esd from gnome-session
# Instead we load this via /etc/xdg/autostart/ and "pactl load-module" now
# load-module module-x11-xsmp

### Load additional modules from GConf settings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif

### Publish connection data in the X11 root window
.ifexists module-x11-publish.so
.nofail
load-module module-x11-publish
.fail
.endif

### Make some devices default
#set-default-sink output
#set-default-source input

I also uncommented the line ‘default-sample-channels = 2’ in /etc/pulse/daemon.conf and changed it to six.

The only issues left is that sound stutters just a tad when starting a song in amarok. This one isn’t too big of a deal, I’m actually content in waiting for an updated version of pulse to see if that fixes it.

However, I still have an issue with not having a master volume control in kmix or alsa mixer. This was an issue before i installed pulse, so I assume it is an also issue. It is very important to me to have a master volume control, because I would love to be able to mute and turn down a master channel with my keyboard. If anyone has any ideas, I would be grateful.

a message pops up by the system tray from phonon (no clue what that is) saying that the default card is disabled.

I had the same message from phonon until I installed the xine backend. Go into Personal Settings/Sound and under the Device Preference tab prefer your card for everything you want it to be top dog for. In the Backend tab select the Xine backend. Don’t have the Xine backend? No problem it’s easy enough to get via YaST.
If you have an onboard card on your motherboard phonon may be trying to prefer it over your Audigy card even if you have the onboard disabled in the bios.

I’ve had the xine back end for phonon since I started using KDE4, and I disabled the on board sound right after installing the new card back in the 10.3 days. Anyway, as I mentioned before, after installing pulse and tweaking a few files (files posted in my last post) the sound system has been plying through multiple apps without any issue.

My phonon layout stuff is really confusing, multiple cards display for what is in fact only one card.

See Here.

However, that isn’t what bothers me - phonon works, I don’t get that message any more. The issue that I really want to fix, is that I do not have a master volume control, of which I would really like to figure out how to have.

See Here.

It’s the same in alsamixer as well. Clicky.

As you can see, I have volume controls for each individual speaker, but I do not have a single control that turns them down all together. That is all I really need now.

I hate to bump this, but I’ve made progress.

Ditched pulse.

Surround, all channels, even on two channel audio works.

I used softvol to create a master channel. Works, However, It doesn’t seem to work on reboot unless I restart alsa.

Besides sofvol not working on reboot, unless I rcalsasound restart, I can’t have multiple apps using sound. IE, if amarok is playing music, kopete will not play sounds.

Any ideas?

EDIT: Here is my /etc/asound.conf:


pcm.!dmix {
   type plug
   slave {
       pcm surround51
       channels 6
   }
}
pcm.!default {
   type plug
   slave.pcm "softvol"
   slave.channels 6
   route_policy duplicate
}
pcm.softvol {
        type softvol
        slave {
                pcm "dmix"    
        }
        control {
                name "Master Volume"
                card 0
        }
} 

If you wish “rcalsasound restart” run automatically everytime at boot, you could put “rcalsasound restart” (no quotes) as the last line in “/etc/init.d/boot.local”

Typically in openSUSE, the convention is not to put that in an asound.conf file, but create a custom /home/username/.asoundrc file, and put that code there. Of course that means each user will need the same file under their /home/username directory.

That is most likely what I will do if it comes down to it. I was just hoping that there was another solution to the problem as Alsa is already starting at boot, albeit, without the softvol enabled.

As far as the ~/asound.conf thing goes, I knew about that, I just went with /etc/ so that every user could have it, but now that I think about it, I’m wondering if that may have something to do with why the Master Volume I created with softvol isn’t showing up unless I restart alsa.

I’d really like to avoid setting alsa to restart when I boot up, it seems a tad messy to me. :smiley: