Click to See Complete Forum and Search --> : better sound driver


shadowrider
03-15-2003, 12:42 PM
i have sound blaster live 5.1 sc, and i'm using the regular emu10k1 with ac97 driver from vanilla source, and the sound quality is terrible..the sound cracks all the time.

i'm thinking of updating the driver. which one is better? ALSA or the emu10k1 from creative?

Hayl
03-15-2003, 12:58 PM
ALSA uses the emu10k1 for that card :)

you have Gentoo, right?

if so then do this:

env ALSA_CARDS='emu10k1' emerge alsa-driver

otherwise you will end up emerging all the drivers - which you don't want :)

actually - just follow the ALSA guide on the Gentoo web page. It is foolproff.

shadowrider
03-15-2003, 02:34 PM
thx for the great reply.
:D

but i found this from md's suggestion http://opensource.creative.com/

see..some people say ALSA is better, some say don't for sb live 5.1

if i update using alsa, do i need to unmerge alsa if i decided to use the above link?

bwkaz
03-15-2003, 03:54 PM
Probably. I have the Alsa and OSS drivers for my Yamaha sound card both installed, but to reduce confusion, it would probably be a good idea to uninstall alsa if you are going to install Creative's emu10k1 (which I believe is based on the OSS driver that you're using now...).

Hayl
03-15-2003, 04:09 PM
Gentoo uses ALSA 0.9 - which is a vast improvement over the other common version which i think is 0.5.

if i were you, i'd ask on the #gentoo irc channel.

i personally use ALSA for my SB Audigy and have had no problems.

sharth
03-15-2003, 04:28 PM
Alsa is the standard in 2.5 so I would say work with that. Should give better quality, but I tossed 2.5 when nvidia didn't support it.

shadowrider
03-15-2003, 05:36 PM
oh crap...oh well...here it goes..i followed from the beginning of the guide.
remove other modules in kernel support.
so on and on...(and so far so good), then running it:

root@localhost shadowrider # /etc/init.d/alsasound start
* WARNING: "alsasound" has already been started.

#emerge alsa-utils
#amixer
then it says:

Warning: You shouldn't get this, but if you get an error about "amixer: Mixer attach default error: No such file or directory",
you should manually insmod snd-mixer-oss and snd-pcm-oss once. After that run amixer again. and i did get that :mad:

then went on with the solution:
root@localhost shadowrider # insmod snd-mixer-oss
Using /lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_verbose_printk_Rsmp_49d4e4d1
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_iprintf_Rsmp_2f0b152f
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_kcalloc_Rsmp_4da9e78a
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_info_get_line_Rsmp_0a6fd27b
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_info_unregister_Rsmp_6e4aca88
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_cards_Rsmp_8cf78952
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_info_create_card_entry_Rsmp_e9f2dc4e
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_ctl_notify_Rsmp_afd0959b
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_info_register_Rsmp_b5939e37
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_unregister_oss_device_Rsmp_11b032a9
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_register_oss_device_Rsmp_5d6d9eda
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_info_get_str_Rsmp_b213fe8b
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_info_free_entry_Rsmp_6083bcaa
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_oss_info_register_Rsmp_8df3789f
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_mixer_oss_notify_callback_Rsmp_8f76bb63
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_kmalloc_strdup_Rsmp_5dd3bf69
/lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o: unresolved symbol snd_ctl_find_id_Rsmp_2c7319b9
what happened here?

<EDIT>
do i need to emerge alsa-oss ?

shadowrider
03-15-2003, 07:07 PM
well...actually i tried the sound again and it does sound better (so i think this must be using the alsa driver).

but the weird thing is when i lsmod, it doesn't list the alsa modules, only list nvidia.
(eventhough i followed EXACTLY the same steps as in the gentoo-guide)

then from dmesg:

nvidia: loading NVIDIA Linux x86 NVdriver Kernel Module 1.0-3123 Tue Aug 27 15:56:48 PDT 2002
EMU10K1/Audigy soundcard not found or device busy
blk: queue c0420868, I/O limit 4095Mb (mask 0xffffffff)

i don't know..this is kind a mess up..:confused:

i don't know if this will help, but i have this :

root@localhost log # cat /proc/driver/emu10k1/00\:08.0/ac97
Vendor name : SigmaTel STAC9708
Vendor id : 8384 7608
AC97 Version : 2.0 or later
Capabilities :
DAC resolutions : -16-bit- -18-bit-
ADC resolutions : -16-bit- -18-bit-
3D enhancement : SigmaTel 3D Enhancement
POP path : pre 3D
Sim. stereo : off
3D enhancement : off
Loudness : off
Mono output : MIX
MIC select : MIC1
ADC/DAC loopback : off
Ext Capabilities : -PCM surround DAC-
Front DAC rate : 0

this looks like i have the old driver installed.
<EDIT> no i can't play any sound now.
if someone can help me cleaning this up, that would be great.
thx

shadowrider
03-16-2003, 05:17 AM
actually i went to the alsa original website, downloaded their tarball, redo the steps from the gentoo-alsa guide, everything worked fine.
but i still can't play the sound now.

root@localhost shadowrider # lsmod
Module Size Used by Tainted: P
snd-pcm-oss 39012 0 (autoclean) (unused)
snd-mixer-oss 13272 0 (autoclean) [snd-pcm-oss]
NVdriver 1066944 10
snd-emu10k1-synth 4764 0 (unused)
snd-emux-synth 29116 0 [snd-emu10k1-synth]
snd-seq-midi-emul 5360 0 [snd-emux-synth]
snd-seq-virmidi 3448 0 [snd-emux-synth]
snd-seq-midi-event 3560 0 [snd-seq-virmidi]
snd-seq 41488 0 [snd-emux-synth snd-seq-midi-emul snd-seq-virmidi snd-seq-midi-event]
snd-emu10k1 72240 0 [snd-emu10k1-synth]
snd-rawmidi 14336 0 [snd-seq-virmidi snd-emu10k1]
snd-pcm 65120 0 [snd-pcm-oss snd-emu10k1]
snd-timer 12072 0 [snd-seq snd-pcm]
snd-util-mem 1616 0 [snd-emux-synth snd-emu10k1]
snd-hwdep 4256 0 [snd-emu10k1]
snd-seq-device 4400 0 [snd-emu10k1-synth snd-emux-synth snd-seq snd-emu10k1 snd-rawmidi]
snd-ac97-codec 30948 0 [snd-emu10k1]
snd 30220 0 [snd-pcm-oss snd-mixer-oss snd-emux-synth snd-seq-virmidi
snd-seq-midi-event snd-seq snd-emu10k1 snd-rawmidi snd-pcm snd-timer snd-util-mem
snd-hwdep snd-seq-device snd-ac97-codec]
soundcore 4356 8 [snd]

any luck?

bwkaz
03-16-2003, 11:21 AM
You still can't play sound... did you use alsamixer to unmute the channels?

Are you getting errors?

shadowrider
03-16-2003, 01:04 PM
when i try to play xmms, it says "
please check that
1 you have the correct output plugin
2 no other program is blocking the soundcard
3 your soundcard is configured properly

i've done :

root@localhost shadowrider # amixer set Master 100 unmute
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Front Left: Playback 31 [100%] [on]
Front Right: Playback 31 [100%] [on]

root@localhost shadowrider # amixer set PCM 100 unmute
Simple mixer control 'PCM',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Front Left: Playback 31 [100%] [on]
Front Right: Playback 31 [100%] [on]

when i go to "audio I/O plugin", the output plugins are:

OSS Driver 1.2.7 (libOSS.so)
Disk writer plugin 1.2.7 (libdisk_writer.so)
eSound Output Plugin 1.2.7 (libesdout.so)

not sure if these matter though

shadowrider
03-16-2003, 01:13 PM
oh crap...i needed the alsa-xmms support, that's why the xmms is not showing the output plugin for alsa
now it works. thx

<EDIT> but for somewhat reason, the sound cracks at higher volume (almost the same as the before one).

shadowrider
03-16-2003, 01:59 PM
:confused: :confused: :confused:

after rebooted, alsa modules not loaded eventhough i did rc-update add alsasound boot

then from the guide again,
root@localhost sound # insmod snd-mixer-oss
Using /lib/modules/2.4.20/kernel/sound/acore/oss/snd-mixer-oss.o
insmod: a module named snd-mixer-oss already exists

root@localhost sound # insmod snd-pcm-oss
Using /lib/modules/2.4.20/kernel/sound/acore/oss/snd-pcm-oss.o
insmod: a module named snd-pcm-oss already exists

root@localhost sound # amixer
amixer: Mixer attach default error: No such device

root@localhost sound # lsmod
Module Size Used by Tainted: P
snd-pcm-oss 39012 0 (unused)
snd-pcm 65120 0 [snd-pcm-oss]
snd-timer 12072 0 [snd-pcm]
snd-mixer-oss 13272 0 [snd-pcm-oss]
snd 30220 0 [snd-pcm-oss snd-pcm snd-timer snd-mixer-oss]
soundcore 4356 0 [snd]
NVdriver 1066944 10

what's going on actually..:( :(

<EDIT>

further check....
manually probing:

modprobe snd-emu10k1;modprobe snd-pcm-oss;modprobe snd-mixer-oss;modprobe snd-seq-oss

...now amixer works (but i thought snd-emu10k1 should be probed automatically at boot time)
...now playing xmms:
"ALSA error: snd_mixer_attach permission denied"

bwkaz
03-16-2003, 02:26 PM
I think if you alias snd-slot-1 to snd-emu10k1, it might load at boot. Maybe.

Permission denied -- who are you running xmms as? Does that user have write permission to the files in /dev/snd (or /dev/pcm*, /dev/control*, /dev/mixer*, /dev/seq, and /dev/timer, if you don't have a snd directory under /dev)?

Does a text-mode audio player work any better or any differently (something like mpg123 or ogg123)?

(note: I've also de-widened the page a little for you; it was getting hard to reply with the button way past the right side of my screen. ;))

shadowrider
03-16-2003, 02:47 PM
Originally posted by bwkaz
I think if you alias snd-slot-1 to snd-emu10k1, it might load at boot. Maybe.

Permission denied -- who are you running xmms as? Does that user have write permission to the files in /dev/snd (or /dev/pcm*, /dev/control*, /dev/mixer*, /dev/seq, and /dev/timer, if you don't have a snd directory under /dev)?

Does a text-mode audio player work any better or any differently (something like mpg123 or ogg123)?

(note: I've also de-widened the page a little for you; it was getting hard to reply with the button way past the right side of my screen. ;))

how do i alias snd-slot-1 to snd-emu10k1?
i'm running as user normally?
shadowrider@localhost dev $ ls -al /dev/snd
total 0
drwxr-xr-x 1 root root 0 Dec 31 1969 .
drwxr-xr-x 1 root root 0 Dec 31 1969 ..
crw-rw---- 1 root audio 116, 0 Dec 31 1969 controlC0
crw-rw---- 1 root audio 116, 33 Dec 31 1969 timer

bwkaz
03-16-2003, 03:34 PM
In /etc/group, is your username listed in the comma-separated list after the "audio" group? If not, edit that, log out, and when you log back in, you'll be a member of that group.

You do the alias by adding (in modules.conf) alias snd-slot-0 snd-emu10k1 and running depmod -a.

shadowrider
03-16-2003, 04:10 PM
shadowrider@localhost dev $ cat /etc/group
root::0:root
bin::1:root,bin,daemon
daemon::2:root,bin,daemon
sys::3:root,bin,adm
adm::4:root,adm,daemon
tty::5:
disk::6:root,adm,shadowrider
lp::7:lp
mem::8:
kmem::9:
wheel::10:root,shadowrider
floppy::11:root
mail::12:mail
news::13:news
uucp::14:uucp
man::15:man
cron::16:cron
console::17:
audio::18:
cdrom::19:
dialout::20:root
ftp::21:
sshd::22:
at::25:at
tape::26:root
video::27:root
squid::31:squid
gdm::32:gdm
xfs::33:xfs
games::35:
named::40:named
mysql:x:60:
postgres::70:
cdrw::80:
apache::81:
nut::84:
usb::85:
vpopmail:x:89:
users::100:games
nofiles:x:200:
qmail:x:201:
postfix:x:207:
postdrop:x:208:
smmsp:x:209:smmsp
portage::250:portage
utmp:x:406:
nogroup::65533:
nobody::65534:

so i guess add audio::18:shadowrider ?

shadowrider
03-16-2003, 05:07 PM
yeah...the sound group works..but the snd-emu10k1 doesn't get loaded automatically.
i'll find out more about this.

bwkaz
03-16-2003, 09:22 PM
Originally posted by shadowrider
so i guess add audio::18:shadowrider ? Yep, as you found out, that was right.

On the autoload front, you could also do:

alias /dev/snd/* snd-emu10k1

instead. This would not autoload (but since it seems Gentoo doesn't autoload snd-slot-0 anyway, that's not a big deal), but when /dev/snd/* is accessed, if it doesn't exist yet, this alias will make your system load the module that provides it (snd-emu10k1).

You need to be using devfs, but since your Alsa stuff is already under /dev/snd, I believe you are.

If all else fails, you can put /sbin/modprobe emu10k1 at the start of /etc/rc.d/init.d/rc.local, so that it gets executed on every bootup, too...