Recently I installed a new soundcard to my computer, and I don’t have any sound anymore in Linux.
Now I have in YaST two sound chips, one AC97 and my soundcard Asus Xonar Essence STX. Obviously Linux detected my soundcard since the custom driver called “Virtuoso” is there. However, my soundchip has still the slot 0, and my soundcard is not configured yet. And here I’m stuck, because:
when I tried to delete the AC97 entry, YaST hangs (actually y2base or something like that, the sound subprogram). Alternatively, I tried to just disable the driver, but this wasn’t possible (unlike with Windows, where you just click a checkbox).
when I tried to configure my new soundcard, the configuration program got stuck again - with every of the three alternatives (fast setup, normal setup and custom setup or so).
I also tried whether the old soundchip is still working, plugging in my headphone into the output of the AC97 soundchip, but I didn’t hear anything, so system sound really seems to be broken.
Where did your old sound chipset go? Did you pull out an old sound card or were you using built-in sound from your PC motherboard?
If you pulled out an old sound card, why not put it back in and remove the new sound card and with the original sound chipset present, then delete the configuration in YaST?
Same goes for a built-in sound chipset to the motherboard, remove the new sound card and with the old sound enabled, delete the sound setup in YaST.
Finally, if the sound was built-in, go into your BIOS, after deleting the entry in YaST with it working, and disabling the built-in sound in your BIOS setup.
In either case, after removing your old sound setup in YaST with the old working stuff in place, then reinstall your new sound card with the old stuff removed and disabled and see what happens with your new card.
If that does not work, then perhaps a reinstall with only the new card in place. It is all just a guess and assumes that the new sound card does work with Linux.
AND If none of this makes sense to you, then read it more slowly than I wrote it.
A further note - I have no idea as to what openSUSE version you have. No idea as to what desktop you have. That information makes a signficant difference in terms of where one should look …
… anyway, if on openSUSE-11.2 try moving the the file /etc/modprobe.d/50-sound.conf to /home/yourusername/whatever and then restart with no config file in place.
… if on openSUSE-11.1 try moving the the file /etc/modprobe.d/sound to /home/yourusername/whatever and then restart with no config file in place. For 11.1 do NOT put backups in /etc/modprobe.d/ as they will be treated as proper config files no matter how you rename them.
You can always restore those files if this makes things worse.
Note it is important with multiple sound cards that the order of cards specified in YaST > Hardware > Sound is matched wrt order of sound devices in KDE Configure Desktop Multimedia.
I have openSUSE 11.2. I deactivated my AC97 soundchip in the BIOS, then it became possible to delete it. Then I got problems configuring the remaining “right” driver, which is why I also plugged out my new soundcard so that I could delete that driver too. Now I have my new soundcard back in place, the AC97 soundchip still disabled, and openSUSE again detected my soundcard correctly (Asus Virtuoso 100 - not exactly my soundcard, but probably the right driver for it).
However, it’s not configured yet, and when I try to configure it, I get the error message (translated):
The kernel module snd-oxygen for sound support couldn’t be loaded. A possible reason for this can be wrong module parameters, as well as invalid IO or IRQ parameters.
The Xonar Essence series requires the virtuoso alsa driver, not oxygen. The Essence STX was supported since alsa 1.0.20 and kernel 2.6.30 (I have the Essence ST, supported since alsa 1.0.22.1 and kernel 2.6.33)
May I therefore suggest that you try this:
Bring up a console, su to root and enter:
modprobe -r snd-oxygen
modprobe snd-virtuoso
See if you can now run alsamixer, and if so, then your card should work.
Then, you can force the boot-time loading of the correct module, using one of a number of different methods.
I use Yast -> System -> /etc/sysconfig editor.
From there, click on System -> Kernel -> MODULES_LOADED_ON_BOOT
In the text box, enter: snd_virtuoso
then click OK to finish.
I would delete the kmix resource files: ~/.kde/share/config/kmixrc and ~/.kde/share/config/kmixctrlrc
to let kmix pick up the mixer settings afresh.
I do not need to (and actually can not) configure my ST in Yast.
When you do get the card going, you will love it. It is a mighty fine sounding device.
@prhunt: I did exactly as you told me, but still no sound. My F2 menu finds alsamixer, but executing it doesn’t open any program. In kmix I have my “Xonar Essence STX” at least correctly displayed, but kmix says that sound is at 0 %. When I open kmix, it’s not mute neither is the bar at 0 %. I opened YaST again and had the same problems: soundcard not configured, and within configuration I get this “snd-oxygen could not be loaded”. Perhaps it was reloaded when I rebooted?
alsamixer needs to be opened from Konsole. You should find it in your menu.
Do you have a file named sound in /etc/modprobe.d/? If so try and rename this as root so you can have alsa redetect the configuration. Run the following command in a konsole (none root!) to do this:
rcalsasound restart
You can also try and blacklist snd-oxygen by adding it to /etc/modprobe.d/50-blacklist.conf as root using your favourite text editor.
This worked for me: remove the cards config from Yast. Reboot. The problem is as decribed, the card does not work (properly) with snd-oxygen, it needs snd-virtuoso, which does work (several cases, all work).
I added snd-oxygen to the blacklist, rebooted, but got the same error message when I tried to configure my soundcard with YaST (snd-oxygen couldn’t be loaded). Actually it’s not possible to delete my soundcard from YaST (it just does nothing when you click the “Delete” button), but I managed somehow to delete it otherwise, but Suse restored the original faulty configuration I have now. I already have manually added the Virtuoso driver to the booting process, as described above.
This is the diagnosis from the alsa-script from the sound troubleshoot page:
upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.59
!!################################
!!Script ran on: Sun Mar 28 14:40:20 UTC 2010
!!Linux Distribution
!!------------------
Welcome to openSUSE 11.2 "Emerald" - Kernel \r (\l). openSUSE 11.2 (x86_64)
!!DMI Information
!!---------------
Manufacturer:
Product Name:
!!Kernel Information
!!------------------
Kernel release: 2.6.31.12-0.2-desktop
Operating System: GNU/Linux
Architecture: x86_64
Processor: x86_64
SMP Enabled: Yes
!!ALSA Version
!!------------
Driver version:
Library version:
Utilities version: 1.0.21
!!Loaded ALSA modules
!!-------------------
!!Sound Servers on this system
!!----------------------------
ESound Daemon:
Installed - Yes (/usr/bin/esd)
Running - No
!!Soundcards recognised by ALSA
!!-----------------------------
!!PCI Soundcards installed in the system
!!--------------------------------------
04:04.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
!!Advanced information - PCI Vendor/Device/Susbsystem ID's
!!--------------------------------------------------------
04:04.0 0401: 13f6:8788
Subsystem: 1043:835c
!!Loaded sound module options
!!--------------------------
!!ALSA Device nodes
!!-----------------
!!Aplay/Arecord output
!!------------
APLAY
aplay: device_list:223: no soundcards found...
ARECORD
arecord: device_list:223: no soundcards found...
!!Amixer output
!!-------------
!!Alsactl output
!!-------------
--startcollapse--
--endcollapse--
!!All Loaded Modules
!!------------------
Module
joydev
ip6t_LOG
xt_tcpudp
xt_pkttype
ipt_LOG
xt_limit
edd
af_packet
radeon
drm
ip6t_REJECT
nf_conntrack_ipv6
ip6table_raw
xt_NOTRACK
ipt_REJECT
xt_state
iptable_raw
iptable_filter
ip6table_mangle
nf_conntrack_netbios_ns
nf_conntrack_ipv4
nf_conntrack
nf_defrag_ipv4
ip_tables
ip6table_filter
ip6_tables
x_tables
cpufreq_conservative
cpufreq_userspace
cpufreq_powersave
powernow_k8
binfmt_misc
nls_iso8859_1
nls_cp437
vfat
fat
fuse
loop
dm_mod
ohci1394
ppdev
amd64_edac_mod
serio_raw
pcspkr
k8temp
ieee1394
sr_mod
cdrom
sg
forcedeth
shpchp
pci_hotplug
edac_core
i2c_nforce2
parport_pc
parport
floppy
button
preloadtrace
ext4
jbd2
crc16
fan
processor
ide_pci_generic
amd74xx
ide_core
ata_generic
thermal
thermal_sys
pata_amd
sata_nv
!!ALSA/HDA dmesg
!!------------------
Yast will NOT configure your card correctly. Do not use Yast.
You need to use the snd-virtuoso driver module. My experience with the Xonar Essence ST (not STX) in Suse 11.2 is that I need to force the loading of snd-virtuoso at boot.
According to the ALSA site, the Essence STX was supported by ALSA at version 1.0.20 or Kernel 2.6.30. It would seem that OpenSUSE 11.2 should support the Essence STX with the distributed versions of software, BUT you need to force the loading of snd-virtuoso rather than snd-oxygen.
Have you uninstalled ALSA? Your diagnostic script seems to show that the ALSA drivers and library are not installed?
ALSA is installed, version 1.0.21-3.2. Yes, I manually added snd_virtuoso to /etc/sysconfig, as I have already mentioned twice in this thread. And I blacklisted snd-virtuoso, so that’s why I’m pretty much puzzled right now.
I don’t know whether snd_virtuoso and snd-virtuoso makes any difference. I’ve got both versions in this thread, the first one for /etc/sysconfig, the second one for use in the console.
*## Path: System/Kernel
Description:
Type: string
Command: /sbin/mkinitrd
This variable contains the list of modules to be added to the initial
ramdisk by calling the script “mkinitrd”
(like drivers for scsi-controllers, for lvm or reiserfs)
I was having a similar problem with the Xonar D1. After messing with it for far too long. According to the Alsa soundcard matrix, your card should be supported with Suse 11.2: Matrix:Vendor-Asus - AlsaProject
To fix my issue, I did a clean install and then did the following:
disable my onboard soundcard first via YAST, then in the BOIS.
force snd_virtuoso to load using YAST, from prhunt’s suggestion.
Delete all sound files in /etc/modprobe.d and ~/.kde/share/config/kmixrc and ~/.kde/share/config/kmixctrlrc via prhunt’s suggestion.
@ prhunt I’m interested if the ALSA driver for the ST is a advanced as the one for the STX (PCI-E version) as it has been available since ALSA 1.0.20 or kernel 2.6.30. In particular, does the ST driver have the ability to choose headphone impedance, the ability to switch the DAC from a sharp to slow roll-off, and also alter the oversampling rate from 64x to 128x?