Only some apps play sound

My machine has a Soundblaster X-FI card. There was no driver support for it before openSUSE 11.2 so I always just plugged my speakers into the sound jack on my motherboard. However, now that my X-FI card works I am having some problems. I need to plug my speakers into the motherboard when using VLC or Flash, but into the X-FI card when using Amarok. How can I make everything use the X-FI card?

Disable the onboard audio in BIOS. That’s the easiest way, it will then use X-Fi in Linux only.

Take a look also at step-9 here:
SDB:AudioTroubleshooting - openSUSE - step-9 - determine the order of sound devices

Thanks for the replies. These are good suggestions. Still having trouble though.

I disabled the sound on my BIOS. There’s only one card showing up in the YaST sound module.

The AudioTroubleshooting wiki mentioned as one of the first steps to delete the audio card and then to add and configure it. However, adding the card failed for me with the error:
An error occurred during the installation of X-Fi. The kernel module error for sound support could not be loaded. This can be caused by incorrect module parameters, including invalid IO or IRQ parameters.

Also, before trying to reconfigure the card, I ran the speaker test as root and it failed:
speaker-test -c2 -l5 -twav

speaker-test 1.0.21

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
ALSA lib confmisc.c:768:(parse_card) cannot find card ‘0’
ALSA lib conf.c:4154:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4154:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4154:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4633:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM default
Playback open error: -2,No such file or directory

I’m surprised YaST won’t let you add the card again. Surely YaST was the program that initially set up the card the first time.

Please provide the information as requested in our stickie:
Welcome to multimedia sub-area - openSUSE Forums

Here’s a link to the info from the ALSA script.

The software I am running:
alsa-utils-1.0.21-3.1.x86_64
alsa-1.0.21-3.2.x86_64
alsa-oss-1.0.17-25.2.x86_64
alsa-plugins-1.0.21-3.3.x86_64
alsa-plugins-32bit-1.0.21-3.3.x86_64
alsa-firmware-1.0.20-3.2.noarch
alsa-oss-32bit-1.0.17-25.2.x86_64
libpulse0-0.9.19-2.3.x86_64
libxine1-pulse-1.1.16.1-7.6.x86_64
libasound2-1.0.21-3.2.x86_64

Kernel info:
Linux chameleon-htpc 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26 15:49:03 +0100 x86_64 x86_64 x86_64 GNU/Linux

Sound config (cat /etc/modprobe.d/50-sound.conf):
options snd slots=snd-hda-intel

u1Nb.R9UumuVxdP8:82801G (ICH7 Family) High Definition Audio Controller

alias snd-card-0 snd-hda-intel

Thanks!

Try deleting the file /etc/modprobe.d/50-sound.conf and then go to YaST > Hardware > Sound and again try to install your Xfi sound drive.

You could even try testing your X-fi (after a fresh reboot) with out that file being present.

How many Xfi variants are there? I note this:
!!ALSA/HDA dmesg
!!------------------

5.685591] input: PC Speaker as /devices/platform/pcspkr/input/input2
5.732455] ALSA /usr/src/packages/BUILD/kernel-desktop-2.6.31.5/linux-2.6.31/sound/pci/ctxfi/ctatc.c:1265: ctxfi: **chip 20K1 model Unknown (1102:0021) is found**
5.732494]   alloc irq_desc for 20 on node 0


6.040241] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 190.42 Tue Oct 20 20:25:42 PDT 2009
6.127169] ALSA /usr/src/packages/BUILD/kernel-desktop-2.6.31.5/linux-2.6.31/sound/pci/ctxfi/cttimer.c:424: ctxfi: Use xfi-native timer
6.139580] ohci1394 0000:02:04.0: PCI INT A → GSI 19 (level, low) → IRQ 19

Still couldn’t add the X-Fi card, but it works fine now that I’ve deleted that file and rebooted! Thanks for the great help.

Ok, thats great to know… Glad to read its working and thanks for sharing your solution.

I’m still puzzling over that “chip 20K1 model Unknown (1102:0021) is found” message in your dmesg. Do you still get that when you run the script? If so, IMHO it might be worth while writing a bug report.

Sorry, I missed that your second post earlier. Yes, I do still get the message about the 20k1 chip being unknown. There are a few X-Fi variants (at least 3). Mine is the X-Fi Music.

If you have the time, you could write a bug report on openSUSE-11.2 , quoting that dmesg error.

There is guidance for bug reports here: Submitting Bug Reports - openSUSE

You could note with no /etc/modprobe.d/50-sound.conf file and your motherboard sound switched OFF in BIOS, your sound does work OK. You could also note that YaST fails to configure the X-Fi, and in fact when run breaks the audio functionality, forcing you to remove the sound.conf file that is created by YaST.

Also you could run the script:

/usr/sbin/alsa-info.sh --no-upload

which will create the file /tmp/alsa-info.txt, and attach that file alsa-info.txt to the bug report.

Since your sound functions, you can put the bug report as a low priority, as it may just be closed immediately. The idea here is to provide the openSUSE sound packager (who is also an alsa developer) more information on a different X-Fi variant.

Thanks again for your help. I’ve filed a bug with openSUSE in the Novell Bugzilla as suggested: https://bugzilla.novell.com/show_bug.cgi?id=560163