ALSA, Phonon, pulseaudio, and the ASUS P6T

I’ve just built myself a new box, with a fresh install of openSUSE 11.1, and have been working out the kinks in my personal setup. Of course, the biggest help was upgrading to KDE 4.2.4, but there were still problems with the audio - random volume settings, scratchy or distorted playbacks, Amarok failures, etc. So I spent the last couple of days looking into these glitches, and now I need some direction to go forward.

First the hardware: the onboard audio of the ASUS P6T mobo is speced as a Realtek ALC1200 (Intel) HD audio, and identifies itself with a ALC888 codec. Neither is specifically identified by YaST2, but the ALC888/ALC882 has a few optional model IDs, and ‘6stack-dig’ seems to work, mostly. It looks like ALSA 1.0.20 adds a couple of other choices (‘asus’, ‘asus-dig’, ‘asus-dig2’, etc), so if anybody knows the optimal ‘model=’ (or any other) parameter for this chipset, I’d like to know what it is.

Back to software: with KDE 4.2.4, things got more stable, but still too much flakiness for me. Thanks to the ALSA debugging page, I found that the latest kernel (2.6.27.23) ALSA driver IDs itself (cat /proc/asound/version) as 1.0.17, so an upgrade to ALSA 1.0.20 was called for. This help fix almost everything, from volume settings to distortion problems, EXCEPT:

Now when I log in, one of two sequences happen: either I get the login theme played and system sounds play, but Amarok fails to play(device busy), OR I get no system sounds and Phonon displays a warning [The audio device HDA Intel (ALC1200 Analog) does not work. Falling back to HDA Intel (ALC1200 Digital)] and Amarok works just fine. Heres what I found:

          Case 1: login sound plays, but Amarok won't

. excerpt from /var/log/messages
.

Jun 24 19:42:01 linux-w12j kernel: nepomukservices[27641]: segfault at ffffffff006e4ad0 ip 00007fb3a224ef61 sp 00007fffaa83cf90 error 4 in libQtCore.so.4.4.3[7fb3a21f5000+223000]
Jun 24 19:42:04 linux-w12j pulseaudio[27680]: pid.c: Daemon already running.
Jun 24 19:42:04 linux-w12j python: hp-systray(init)[27676]: warning: No hp: or hpfax: devices found in any installed CUPS queue. Exiting.
Jun 24 19:57:18 linux-w12j pulseaudio[26679]: module-alsa-sink.c: Error opening PCM device front:0: Device or resource busy
Jun 24 19:57:41 linux-w12j su: (to root) gwb on /dev/pts/3


. output from `ps fax`
.
  PID TTY      STAT   TIME COMMAND
(Lines deleted for brevity)
 4853 tty5     Ss+    0:00 /sbin/mingetty tty5
 4854 tty6     Ss+    0:00 /sbin/mingetty tty6
 5279 ?        S      0:43 boinc --dir BOINC
 5282 ?        RNl  685:12  \_ astropulse_5.03_x86_64-pc-linux-gnu
26679 ?        Ssl    0:00 /usr/bin/pulseaudio --start
27395 ?        S      0:00 dbus-launch --autolaunch d2f223773c984c89331a62fa493ee8fd --binary-syntax --close-stderr
27396 ?        Ss     0:00 /bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
27572 ?        S      0:00 dbus-launch --sh-syntax --exit-with-session
27573 ?        Ss     0:01 /bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
27578 ?        Ss     0:00 kdeinit4: kdeinit4 Running...
27579 ?        S      0:00  \_ klauncher
27624 ?        Sl     0:00  \_ ksmserver
27626 ?        SL     0:20  |   \_ kwin -session 10116100e5a6000124266728600000105390000_1245886906_97679
27674 ?        S      0:15  |   \_ amarokapp -session 10116100e5a6000124585472000000082570029_1245886906_82216
27744 ?        Sl     0:01  |   |   \_ yauap -noexit
27749 ?        S      0:00  |   |   \_ ruby /opt/kde3/share/apps/amarok/scripts/score_default/score_default.rb
27694 ?        Sl     0:04  |   \_ gapcmon
27647 ?        S      0:00  \_ kdeinit4: kio_file [kdeinit] file local:/tmp/ksocket-gwb/klauncherT27579.slave-socket local:/tmp/ksocket-gwb/kio_desktopT27645.slave-socket
27687 ?        S      0:00  \_ /usr/bin/policykit-kde
27756 ?        S      0:22  \_ /usr/bin/boinc_gui
28508 ?        Sl     0:00  \_ /usr/lib64/kde4/libexec/kdesu -u root -c /sbin/yast2
28941 ?        S      0:00  \_ /bin/sh /usr/bin/firefox
28946 ?        Sl     0:33      \_ /usr/lib64/firefox/firefox
27581 ?        S      0:00 kded4
27633 ?        SLl    0:02 /usr/bin/knotify4
27634 ?        Sl     0:00 /usr/bin/nepomukserver
27637 ?        S      0:00  \_ /usr/bin/nepomukservicestub nepomukstorage
27638 ?        S      0:00  \_ /usr/bin/nepomukservicestub nepomukontologyloader
27639 ?        S      0:00  \_ /usr/bin/nepomukservicestub nepomukqueryservice
27640 ?        S      0:00  \_ /usr/bin/nepomukservicestub nepomukfilewatch
27635 ?        Sl     0:03 /usr/bin/plasma
27649 ?        S      0:00 /usr/bin/kaccess
27660 ?        Sl     0:00 /usr/bin/krunner
27673 ?        S      0:00 kmix -session 10116100e5a6000124542005700000084110027_1245886906_81857
27684 ?        Ss     0:00 kdeinit Running...                           
27692 ?        S      0:00  \_ klauncher [kdeinit] --new-startup            
27754 ?        S      0:00  \_ kio_file [kdeinit] file /tmp/ksocket-gwb/kl  
27689 ?        S      0:00 dcopserver [kdeinit] --nosid --suicide       
27695 ?        S      0:00 kded [kdeinit] --new-startup                 
27698 ?        S      0:00 /usr/lib/GConf/2/gconfd-2
27702 ?        SNl    0:01 beagled /usr/lib64/beagle/BeagleDaemon.exe --replace --bg
27707 ?        S      0:00 /usr/bin/kupdateapplet
27708 ?        S      0:00 /usr/bin/klipper
27717 ?        S      0:00 /usr/lib64/gvfs/gvfsd
27723 ?        Ssl    0:00 /usr/lib64/gvfs//gvfs-fuse-daemon /home/gwb/.gvfs
27829 ?        SNl    0:03 beagled-helper /usr/lib64/beagle/IndexHelper.exe
28510 ?        S      0:00 /usr/lib64/kde4/libexec/kdesud
28521 ?        Sl     0:00  \_ /usr/lib64/kde4/libexec/kdesud
28524 pts/3    Ss+    0:00      \_ /bin/su root -c /usr/lib64/kde4/libexec/kdesu_stub -
28527 pts/3    S+     0:00          \_ /usr/lib64/kde4/libexec/kdesu_stub
28530 ?        Ss     0:00              \_ /bin/bash /sbin/yast2
28555 ?        S      0:00                  \_ /usr/lib/YaST2/bin/y2controlcenter -S
28620 ?        Sl     0:00 /usr/bin/konsole
28622 pts/4    Ss     0:00  \_ /bin/bash
29474 pts/4    R+     0:00      \_ ps fax
28685 ?        S      0:00 /bin/bash /sbin/yast2 view_anymsg /var/log/messages
28709 ?        Sl     0:00  \_ /usr/lib/YaST2/bin/y2base view_anymsg -S (/var/log/messages) qt




     Case 2: No login sound, but Phonon message displayed, and Amarok works.

.  /var/log/messages excerpt
.

Jun 24 21:20:30 linux-w12j kernel:    domain 2: span 0-7 level NODE
Jun 24 21:20:30 linux-w12j kernel:     groups: 0-7
Jun 24 21:20:30 linux-w12j kernel: nepomukservices[32253] general protection ip:7f6f8ae1a37e sp:7fff93407b70 error:0 in libQtCore.so.4.4.3[7f6f8adbe000+223000]
Jun 24 21:20:34 linux-w12j python: hp-systray(init)[32292]: warning: No hp: or hpfax: devices found in any installed CUPS queue. Exiting.
Jun 24 21:20:34 linux-w12j pulseaudio[32325]: main.c: High-priority scheduling enabled in configuration but not allowed by policy.
Jun 24 21:20:34 linux-w12j pulseaudio[32345]: pid.c: Daemon already running.
Jun 24 21:23:48 linux-w12j su: (to root) gwb on /dev/pts/4
Jun 24 21:23:48 linux-w12j su: (to root) gwb on /dev/pts/4
Jun 24 21:31:06 linux-w12j kernel: npviewer.bin[32742]: segfault at ff9bea2c ip 00000000ff9bea2c sp 00000000bfa742cc error 14


. output from `ps fax`
.
  PID TTY      STAT   TIME COMMAND
(deleted for brevity)
 4853 tty5     Ss+    0:00 /sbin/mingetty tty5
 4854 tty6     Ss+    0:00 /sbin/mingetty tty6
 5279 ?        S      0:46 boinc --dir BOINC
 5282 ?        RNl  732:26  \_ astropulse_5.03_x86_64-pc-linux-gnu
31692 ?        S      0:00 dbus-launch --autolaunch d2f223773c984c89331a62fa493ee8fd --binary-syntax --close-stderr
31693 ?        Ss     0:00 /bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
32187 ?        S      0:00 dbus-launch --sh-syntax --exit-with-session
32188 ?        Ss     0:00 /bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
32193 ?        Ss     0:00 kdeinit4: kdeinit4 Running...
32194 ?        S      0:00  \_ klauncher
32239 ?        Sl     0:00  \_ ksmserver
32241 ?        SL     0:01  |   \_ kwin -session 10116100e5a6000124266728600000105390000_1245891403_405132
32290 ?        S      0:02  |   \_ amarokapp -session 10116100e5a6000124585472000000082570029_1245891403_389756
32368 ?        S      0:00  |   |   \_ yauap -noexit
32373 ?        S      0:00  |   |   \_ ruby /opt/kde3/share/apps/amarok/scripts/score_default/score_default.rb
32306 ?        Sl     0:00  |   \_ gapcmon
32258 ?        S      0:00  \_ kdeinit4: kio_trash [kdeinit] trash local:/tmp/ksocket-gwb/klauncherT32194.slave-socket local:/tmp/ksocket-gwb/plasmaw32250.slave-socket
32259 ?        S      0:00  \_ kdeinit4: kio_http [kdeinit] http local:/tmp/ksocket-gwb/klauncherT32194.slave-socket local:/tmp/ksocket-gwb/plasmaZ32250.slave-socket
32260 ?        S      0:00  \_ kdeinit4: kio_desktop [kdeinit] desktop local:/tmp/ksocket-gwb/klauncherT32194.slave-socket local:/tmp/ksocket-gwb/plasmah32250.slave-socket
32263 ?        S      0:00  \_ kdeinit4: kio_file [kdeinit] file local:/tmp/ksocket-gwb/klauncherT32194.slave-socket local:/tmp/ksocket-gwb/kio_desktopT32260.slave-socket
32279 ?        S      0:00  \_ kdeinit4: kio_trash [kdeinit] trash local:/tmp/ksocket-gwb/klauncherT32194.slave-socket local:/tmp/ksocket-gwb/krunnern32275.slave-socket
32297 ?        S      0:00  \_ /usr/bin/policykit-kde
32394 ?        S      0:01  \_ /usr/bin/boinc_gui
32196 ?        S      0:00 kded4
32248 ?        SLl    0:00 /usr/bin/knotify4
32249 ?        Sl     0:00 /usr/bin/nepomukserver
32252 ?        S      0:00  \_ /usr/bin/nepomukservicestub nepomukstorage
32254 ?        S      0:00  \_ /usr/bin/nepomukservicestub nepomukontologyloader
32255 ?        S      0:00  \_ /usr/bin/nepomukservicestub nepomukqueryservice
32256 ?        S      0:00  \_ /usr/bin/nepomukservicestub nepomukfilewatch
32250 ?        Sl     0:01 /usr/bin/plasma
32265 ?        S      0:00 /usr/bin/kaccess
32275 ?        S      0:00 /usr/bin/krunner
32289 ?        S      0:00 kmix -session 10116100e5a6000124542005700000084110027_1245891403_389684
32299 ?        Ssl    0:00 /usr/bin/pulseaudio --start
32301 ?        Ss     0:00 kdeinit Running...                           
32307 ?        S      0:00  \_ klauncher [kdeinit] --new-startup            
32377 ?        S      0:00  \_ kio_file [kdeinit] file /tmp/ksocket-gwb/kl  
32378 ?        S      0:00  \_ kio_file [kdeinit] file /tmp/ksocket-gwb/kl  
32379 ?        S      0:00  \_ kio_file [kdeinit] file /tmp/ksocket-gwb/kl  
32304 ?        S      0:00 dcopserver [kdeinit] --nosid --suicide       
32312 ?        S      0:00 /usr/lib/GConf/2/gconfd-2
32313 ?        S      0:00 kded [kdeinit] --new-startup                 
32314 ?        SNl    0:00 beagled /usr/lib64/beagle/BeagleDaemon.exe --replace --bg
32317 ?        S      0:00 /usr/bin/kupdateapplet
32322 ?        S      0:00 /usr/bin/klipper
32332 ?        S      0:00 /usr/lib64/gvfs/gvfsd
32340 ?        Ssl    0:00 /usr/lib64/gvfs//gvfs-fuse-daemon /home/gwb/.gvfs
32425 ?        Sl     0:00 /usr/bin/konsole
32427 pts/2    Ss     0:00  \_ /bin/bash
32470 pts/2    R+     0:00      \_ ps fax

Note that in each case, there is a message from pulseaudio that there is another instance of it running; but also note that the surviving instance is started at a different point in the KDE startup sequence - one at the very beginning (Case 1), and one around the time kmix is started (Case 2). This looks like a classic race condition, with one instance clobbering some part of the other’s environment/output.

So it seems that I’ve found at least 2 bugs (backlevel ALSA driver, and pulseaudio/KDEstartup race), and one unanswered question (what the heck do I call this audio chipset), and I call on the assembled wisdom of the forum - what do I do now?

TIA

I get that same warning from Phonon when i log in, only the chipset and driver is different. I also have issues with scratchy audio and when certain online audio clips such as ones on myspace play there is a loud buzz at first. Maybe this is the same problem I am having only for different hardware.

I have an Asus P6T Deluxe V2 with openSUSE-11.1 KDE-3.5.10. I have not tried to optimize the audio. I have it connected to a 5.1 speaker system. There are some definite quirks wrt the audio, and I suspect some optimization is needed.

I’m currently away from my Asus P6T (and the country where I live) as I am on vacation in Asia (currently in Phuket Thailand). But maybe together in this thread we can work toward exploring some of the issues, and if we can localize specific problems or glitches, we can then write focused bug reports to get the alsa developer/SuSE-GmbH packager support in solving them.

I’ll be back home (to Europe) in a couple of weeks.

Thanks, oldcpu, enjoy your vacation.

I did find that the pulseaudio process in Case 1 is not from a race in initialization - it’s from the previous session! If I log out and log back in within a small window, I get Case 1 - system sounds but no Amarok :(. Now I have to find out why Case 2 happens at all, and why I get ‘Daemon already running’ in both cases.

Check your Amarok settings. I had something similar, and I changed Amarok’s settings.

Take a look at "Amarok > Settings > Engine > Output plugin, and if “autodetect” is not working for you, try one of the others. Sometimes “pulse” does not work, and one need to fix it to “oss” or to “alsa”.

Have a look here.
[ubuntu] Sound problem (Realtek ALC1200) - Page 3 - Ubuntu Forums](http://ubuntuforums.org/showthread.php?t=939198&page=3)

But instead adjust it in /etc/modprobe.d/sound

Also upgrading alsa to 1.0.18 they reported that it was detected properly as ALC1200.

P.S. I know that it was regarding having no sound at all but i guess it might help a little.

I would if I could, but the only choice in the dropdown menu is Gstreamer/yauap. (KDE4.2.4)

Did that (via YaST > Hardware > Sound > Edit).

When I logged out/in, I still got no login crescendo, but Amarok seems to work. And I got 3 different PIDs purporting to be pulseaudio so there’s still a problem there.

Jun 27 17:12:27 linux-w12j kernel: nepomukservices[14459] general protection ip:7fdd5441337e sp:7fff5c9ff170 error:0 in libQtCore.so.4.4.3[7fdd543b7000+223000]
Jun 27 17:12:31 linux-w12j pulseaudio[14497]: pid.c: Stale PID file, overwriting.
Jun 27 17:12:31 linux-w12j python: hp-systray(init)[14491]: warning: No hp: or hpfax: devices found in any installed CUPS queue. Exiting.
Jun 27 17:12:31 linux-w12j pulseaudio[14511]: main.c: High-priority scheduling enabled in configuration but not allowed by policy.
Jun 27 17:12:31 linux-w12j pulseaudio[14515]: pid.c: Daemon already running.

I did update to ALSA 1.0.20, but now I think a pulseaudio update (0.9.15 is in Factory) is in the cards for me.

None of that should be necessary. My Asus P6T just works with Amarok using the packman packaged xine engine (and Packman packaged Amarok) under KDE-3.5.10.

I still have a week and 1/2 vacation left, and don’t have access to my PC, so it will be a few weeks before I have access to similar hardware.

But as noted, sound in Amarok (with the appropriate output engine and model selection) just works under KDE-3.5.10 on my Asus P6T.

GeoBaltz wrote:

>
> BenderBendingRodriguez;2004874 Wrote:
>> Have a look here.
>> ‘[ubuntu] Sound problem (Realtek ALC1200) -
Page 3 - Ubuntu Forums’
>>
(http://ubuntuforums.org/showthread.php?t=939198&page=3)
>>
>> But instead adjust it in /etc/modprobe.d/sound
>>
>> Also upgrading alsa to 1.0.18 they reported
that it was detected
>> properly as ALC1200.
>>
>> P.S. I know that it was regarding having no
sound at all but i guess it
>> might help a little.
>
> Did that (via YaST > Hardware > Sound > Edit).
>
> When I logged out/in, I still got no login
crescendo, but Amarok seems
> to work. And I got 3 different PIDs purporting
to be pulseaudio so
> there’s still a problem there.
>
>
> Code:
> --------------------
> Jun 27 17:12:27 linux-w12j kernel:
nepomukservices[14459] general
> protection ip:7fdd5441337e sp:7fff5c9ff170
error:0 in
> libQtCore.so.4.4.3[7fdd543b7000+223000]
> Jun 27 17:12:31 linux-w12j pulseaudio[14497]:
pid.c: Stale PID file,
> overwriting. Jun 27 17:12:31 linux-w12j
python: hp-systray(init)[14491]:
> warning: No hp: or hpfax: devices found in
any installed CUPS queue.
> Exiting. Jun 27 17:12:31 linux-w12j
pulseaudio[14511]: main.c:
> High-priority scheduling enabled in
configuration but not allowed by
> policy. Jun 27 17:12:31 linux-w12j
pulseaudio[14515]: pid.c: Daemon
> already running.
>
> --------------------
>
>
> I did update to ALSA 1.0.20, but now I think a
pulseaudio update
> (0.9.15 is in Factory) is in the cards for me.
>
I have similar problem with openSUSE 11.2
Milestone 2. I find three instances of pulseaudio
running after start up. YaST2 -Hardware-Sound,
and configure desktop - multimedia, and Amarok
2.0 will not playsound. I have an Intel built
system. My internal sound is HDA Intel (STAC92xx
Analog) as default. In Amarok 2.0 Settings -
Playback -Sound System Config. the above is the
default. The way I correct this is to kill all
three pulseaudio processes, then everything works
until the next time I boot the system.

The mixer (Kmix) comes up with the Mute checked
for master sometimes, other with master set to 0.

This has been occurring with openSuSE since
milestone 1.

also konqueror and amarok will not start until
the pulseaudio processes are killed.

My 11.1 system seems to work correctly with KDE
4.2.4 except after a kernel update, then it is
similar to above.


openSUSE 11.2 Milestone 2 (2.6.30-8-default
[x86_64]), KDE 4.3 Beta 2 release 138, Intel
DX48BT2, Core 2 Duo E7200, 4GB, NV8400GS