-   Linux - Hardware (
-   -   Linux + Intel HDA + ALSA = bad sound quality... (

stelek 12-22-2006 04:26 AM

Linux + Intel HDA + ALSA = bad sound quality...
Dear all,

I'm not completely new to Linux but this is my first attempt to switch from Windows completely. I've managed to solve most of the issues but this one is still a mystery to me...

My motherboard is Asus P5GD1 with Realtek ALC880 audio. I have installed Slackware 11 with kernel

On Windows it works perfectly. I can go with the volume up to the top and the sound is still perfect. At the top, my ears really hurt (in the headphones) but the quality is still superb. Nothing to complain about...

The situation is different on Linux. If I use the mixer to go with "front" and "pcm" to the top, the sound is really bad. It sounds like there's simply too much bass and my headphones go crazy. To have a decent sound quality I have to limit the "pcm" volume to about a half. But then the problem is that the sound is simply not loud enough. So in the end - I cannot really use the Linux to listen to music...

Just to clarify: when I put all the sliders up to the top on both Windows and Linux, the loudness is more or less the same. The problem is the quality which is much worse on Linux - too much bass which results in a distorted sound.

I've tried going for the new Alsa 14rc1 but it did not help...

Any other ideas what could improve the audio quality at higher volumes? If I don't solve this problem, I'll have to go back to Windows :(

My config:
Asus P5GD1 with ALC880/Intel HDA
Slackware 11
Alsa 13/14rc1 (tried both)
KDE 3.5.4


Module Size Used by
nvidia 4707924 32
snd_seq_oss 32256 0
snd_seq_midi_event 6016 1 snd_seq_oss
snd_seq 45776 4 snd_seq_oss,snd_seq_midi_event
snd_seq_device 6924 2 snd_seq_oss,snd_seq
snd_pcm_oss 42912 0
snd_mixer_oss 16000 1 snd_pcm_oss
snd_hda_intel 17048 1
snd_hda_codec 200624 1 snd_hda_intel
snd_pcm 70792 3 snd_pcm_oss,snd_hda_intel,snd_hda_codec
snd_timer 19844 2 snd_seq,snd_pcm
snd 45924 11 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_hda_codec,snd_pcm,snd _timer
snd_page_alloc 8072 2 snd_hda_intel,snd_pcm
ipv6 228704 85
sg 28188 0
fuse 42516 6
capability 3464 0
commoncap 5376 1 capability
agpgart 28336 1 nvidia
lp 10312 0
parport_pc 24900 1
parport 31560 2 lp,parport_pc
pcspkr 2560 0
psmouse 37384 0

GrueMaster 12-22-2006 09:17 PM

When you load alsa 1.0.14rc1, what is the output in dmesg? Also what is the subsytem ID returned from "lspci -v|fgrep -A1 Audio"?

It's possible that your system is not properly being setup in alsa. If dmesg returns something like "hda_codec: Unknown model for ALC880, trying auto-probe from BIOS..." then your configuration isn't entered in the driver. The lspci output will give me the info I need to add it.

stelek 12-23-2006 03:12 AM

LSPCI lists the following:

00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)
Subsystem: ASUSTeK Computer Inc. P5GD1-VW Mainboard
01:09.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
Subsystem: Twinhan Technology Co. Ltd VisionPlus DVB Card

The latter is my DVB-S card which I currently do not use...

DMESG output does not contain any Alsa-related messages. Or maybe I'm doing something wrong... Should I do anything more except calling DMESG and checking the output?

stelek 12-23-2006 03:15 AM

Additionally - scanpci gives me the following...


pci bus 0x0000 cardnum 0x1b function 0x00: vendor 0x8086 device 0x2668
Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller

GrueMaster 12-23-2006 11:20 AM

I was looking at the code, and your system could be different than the one programmed in the driver. First, I need to verify your sound subsystem id. Post the output from "lspci -s 0:1b -vn". Also, there are a few different configuration possiblities that your system may fall under. Try unloading and reloading snd-hda-intel with "model=<from list>" parameter, using the following list:


Each of them is slightly different in their settings. Another thing to try is to rebuild the driver with debug=detect. Then you can load it with "model=test". This will open up the controls more.


stelek 12-23-2006 04:27 PM

"lspci -s 0:1b -vn" gives me...


00:1b.0 0403: 8086:2668 (rev 03)
Subsystem: 1043:814e
Flags: bus master, fast devsel, latency 0, IRQ 10
Memory at cfdf4000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Capabilities: [70] Express Unknown type IRQ 0

I will try the modes and post the results here...

stelek 12-23-2006 05:23 PM

Woohoo !!! The setting "model=asus" made a miracle for me. It works perfectly now. No more unneeded low frequencies. GrueMaster - thank you very much... :)

Now that I look at this, it is described in the ALSA Docs (in the sources). It seems that I was expecting that such thing would simply work from the beginning. Seems I was wrong...

Anyway - thank you very much again. Although I'm still not sure whether my audio is "asus-dig" or "asus-dig2", the important thing is that it works now :)

Now I only need to compile WineX and I can leave Windows for good :)

GrueMaster 12-25-2006 08:32 PM


Although I'm still not sure whether my audio is "asus-dig" or "asus-dig2",
You will need to look at your system's rear panel. If you have an SPDIF Digital out port, it will be one of the two. For now, I'll change the driver so that you at least default to Asus instead of 5stack.

All times are GMT -5. The time now is 11:14 PM.