Bug 106189 - No arts/alsa sound after upgrading kernel to 2.6.10 or 2.6.11 - kmix
Summary: No arts/alsa sound after upgrading kernel to 2.6.10 or 2.6.11 - kmix
Status: RESOLVED FIXED
Alias: None
Product: kmix
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Christian Esken
URL:
Keywords:
: 113375 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-05-24 04:40 UTC by Gabriel M. Beddingfield
Modified: 2006-09-28 16:39 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gabriel M. Beddingfield 2005-05-24 04:40:31 UTC
Version:            (using KDE KDE 3.3.2)
Installed from:    Gentoo Packages
Compiler:          gcc 3.3.5-20050130 
OS:                Linux

OS: Gentoo Linux
Kernel:  2.6.9  -> 2.6.11
uC:  Pentium M
Sound card:  0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
ALSA driver:  snd_intel8x0
KDE version: 3.3.2 through HEAD

When I updated from linux kernel 2.6.9 to 2.6.11, I had no sound in KDE.  Before starting KDE, alsa (aplay) works fine.  After starting KDE, there is no audio and it does not recover until boot time... that is, until KDE starts again.

It appears the problem is that the ALSA driver has added a couple new switches:  "Headphone Jack Sense" and "Line Jack Sense."  When first encountering these new settings, KDE enables them by default, which actually kills the sound.

Resolution:  Unset these switches.

This affects me in KDE 3.3.2 and KDE HEAD.  I've found a couple other links on google of people saying things like "upgrading to 2.6.10 kills my sound."

Steps to reproduce:
1. Using 2.6.9 kernel, confirm a working alsa/arts setup.
2. Run kmix.  Leave it minimized in the panel.
3. Shut down KDE/Linux/computer normally.
4. Reboot to 2.6.11 kernel into single-user.
5. Start 'alsasound' service.  Notice when init starts 'alsasound' service that it reports:
  alsactl: set_control:930: warning: name mismatch (External
  Amplifier/Headphone Jack Sense) for control #26
5. Prove device works using aplay to play a wav file.
6. Go to runlevel 3.
7. Start and log in to KDE.
8. Notice that the "KDE is starting" sound will stop mid-way through.
9. Start a player (like xmms), and try to play.  It looks like it's playing, but no sound.  Same behavior for all players... they all think that they're playing.

Workaround:
1. Open KMix application, go to "Switches" tab.
2. Disable (dark circle) the switches "Headphone Jack Sense" and "Line Jack Sense."
Comment 1 Christian Esken 2005-05-24 22:52:28 UTC
As you describe the problem stems from newly introduced ALSA mixer controls. KMix is not prepared for this kind of upgrade in the volume restauration. But your proposed workaround works fine.
Another workaround wouldbe to disable volume restauration in KMix. Look in the KMix menubar for something like "Settings -> Configure Kmix". Unmark the "Restore volume" item and press "OK". Done, you are now safe from sound driver upgrade issues.

The "upgrading the sound driver" problem is a problem that has been forseen. Preparations are already in progress to solve this issue. But many parts are affected as well, like Keyboard Shortcut assignment. Thus the fix isn't trivial and this means it won't be solved before KDE4.0. Please use the workaround
Comment 2 Christian Esken 2006-02-23 23:39:20 UTC
*** Bug 113375 has been marked as a duplicate of this bug. ***
Comment 3 Christian Esken 2006-09-28 16:39:11 UTC
SVN commit 589725 by esken:

Move MixerWidget from integer id to proper ID (QString). This makes KMix
more robust against Kernel updates (especially ALSA driver).
CCBUGS: 106189


 M  +1 -1      guiprofile.cpp  
 M  +5 -3      kmix.cpp  
 M  +4 -3      kmixdevicemanager.cpp  
 M  +9 -4      kmixdockwidget.cpp  
 M  +1 -1      kmixdockwidget.h  
 M  +143 -134  kmixerwidget.cpp  
 M  +67 -34    kmixprefdlg.cpp  
 M  +1 -0      kmixprefdlg.h  
 M  +9 -5      mdwslider.cpp  
 M  +1 -1      mdwswitch.cpp  
 M  +10 -21    mixdevice.cpp  
 M  +4 -7      mixdevice.h  
 M  +88 -88    mixer.cpp  
 M  +17 -17    mixer.h  
 M  +6 -6      mixer_alsa.h  
 M  +65 -60    mixer_alsa9.cpp  
 M  +12 -4     mixer_backend.cpp  
 M  +14 -12    mixer_backend.h  
 M  +54 -43    mixer_oss.cpp  
 M  +4 -4      mixer_oss.h  
 M  +11 -6     mixer_sun.cpp  
 M  +4 -4      mixer_sun.h  
 M  +1 -2      mixertoolbox.cpp  
 M  +11 -4     viewdockareapopup.cpp  
 M  +5 -1      viewsliderset.cpp  
Comment 4 Christian Esken 2006-09-28 16:39:56 UTC
Fixed for KDE4.