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