Bug 249508 - KMix: Cant use the whole range of the volume slider just 52 - 100%
Summary: KMix: Cant use the whole range of the volume slider just 52 - 100%
Status: CLOSED FIXED
Alias: None
Product: kmix
Classification: Applications
Component: general (show other bugs)
Version: 1
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Christian Esken
URL:
Keywords:
: 276438 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-08-30 14:21 UTC by Peter Fors
Modified: 2014-01-05 22:31 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
kmirc (2.53 KB, application/octet-stream)
2010-12-07 22:27 UTC, sorath
Details
ALSA.Xonar_ST.1.Base.xml (1.10 KB, text/xml)
2010-12-07 22:29 UTC, sorath
Details
kmixrc (1.40 KB, application/octet-stream)
2010-12-08 12:03 UTC, Andrea Cavaliero
Details
ALSA.Xonar_DX.1.Base.xml (1.01 KB, text/xml)
2010-12-08 12:06 UTC, Andrea Cavaliero
Details
ALSA.Xonar_DX.1.default.xml (950 bytes, text/xml)
2010-12-08 12:07 UTC, Andrea Cavaliero
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Fors 2010-08-30 14:21:10 UTC
Version:           4.5 (using KDE 4.5.0) 
OS:                Linux

KMix: Cant use the whole range of the volume slider just 52 - 100%, when at 52% it's completely silence. This gives me a very small range for setting the volume.

I'm running ALSA, and I've read that some soundcards does not support 0-xxx in volume, my card "Asus Xonar D2" reports 52 as lowest volume.

Kmix should use 0% - 100% for volume whatever the min/max reported from Alsa.

Reproducible: Always

Steps to Reproduce:
lower volume, at 52%(around middle) it's stuck...


Expected Results:  
Kmix should use 0% - 100% range for the master volume whatever the min/max reported from Alsa.
Comment 1 sorath 2010-09-23 21:54:03 UTC
it seems that Kmix use Amixer from Alsa to set volume level, maybe the problem concern limits of playback levels of Amixer: 
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=5140

but I don't still sure that it's only Amixer bug
Comment 2 sorath 2010-10-04 20:54:08 UTC
Next referring to bugtracker of ALSA:
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=5140

confirm discribed behaviour is obviously only Kmix (and KDE) bug.


Kmix should change volume level from 0 % to 100 % for "ASUS Xonar" audiocards series.
Comment 3 Andrea Cavaliero 2010-10-29 19:04:21 UTC
i just plugged into my computer an Asus Xonar DX and i have the same issue.
Alsamixer works fine so i think it's a kmix bug.
Comment 4 Christian Esken 2010-12-07 21:42:20 UTC
For further insight into this, please post the following information:

- Which sound backend is used. Please copy the output from
    KMix menu => Help => Hardware information

- The ouput of "amixer" (or "amixer -c 1" or any other number that corresponds to the affected soundcard).


- The permissions of your sound card devices, using 
 getfacl /dev/snd/controlC0  (or controlC1 or any other number that corresponds to the affected soundcard).

Please also post the following files:

~/.kde4/share/config/kmixrc
~/.kde4/share/apps/kmix/profiles/*

In case there is no ~/.kde4/ directory, please post the following files:
 
~/.kde/share/config/kmixrc
~/.kde/share/apps/kmix/profiles/*
Comment 5 sorath 2010-12-07 22:27:16 UTC
Created attachment 54273 [details]
kmirc
Comment 6 sorath 2010-12-07 22:29:08 UTC
Created attachment 54274 [details]
ALSA.Xonar_ST.1.Base.xml
Comment 7 sorath 2010-12-07 22:30:00 UTC
First please note, that there is no such kmix behaviour with build sound card!

1. KMix menu => Help => Hardware information:
Sound drivers supported: ALSA + OSS
Sound drivers used: ALSA


2. Output: $amixer -c 0

Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 135 - 255
  Mono:
  Front Left: Playback 219 [70%] [-18.00dB] [on]
  Front Right: Playback 219 [70%] [-18.00dB] [on]
Simple mixer control 'Headphones Impedance',0
  Capabilities: penum
  Items: '< 64 ohms' '64-300 ohms' '300-600 ohms'
  Item0: '< 64 ohms'
Simple mixer control 'Line',0
  Capabilities: cswitch cswitch-joined penum
  Capture channels: Mono
  Mono: Capture [off]
Simple mixer control 'Mic',0
  Capabilities: cvolume cvolume-joined cswitch cswitch-joined penum
  Capture channels: Mono
  Limits: Capture 0 - 31
  Mono: Capture 0 [0%] [-34.50dB] [off]
Simple mixer control 'Mic Boost (+20dB)',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Aux',0
  Capabilities: cvolume cswitch cswitch-joined penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 31
  Front Left: Capture 0 [0%] [-34.50dB] [off]
  Front Right: Capture 0 [0%] [-34.50dB] [off]
Simple mixer control 'Analog Input Monitor',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 1
  Mono: Playback 0 [0%] [-10.00dB] [off]
Simple mixer control 'Analog Output',0
  Capabilities: enum
  Items: 'Speakers' 'Headphones' 'FP Headphones'
  Item0: 'Speakers'
Simple mixer control 'DAC Filter',0
  Capabilities: penum
  Items: 'Sharp Roll-off' 'Slow Roll-off'
  Item0: 'Sharp Roll-off'
Simple mixer control 'DAC Oversampling',0
  Capabilities: penum
  Items: '64x' '128x'
  Item0: '64x'


3. $ getfacl /dev/snd/controlC0

getfacl: Removing leading '/' from absolute path names
# file: dev/snd/controlC0
# owner: root
# group: audio
user::rw-
user:sorath:rw-
group::rw-
mask::rw-
other::---


4. see attached "kmixrc" and "ALSA.Xonar_ST.1.Base.xml"
Comment 8 Andrea Cavaliero 2010-12-08 12:03:08 UTC
Created attachment 54291 [details]
kmixrc
Comment 9 Andrea Cavaliero 2010-12-08 12:04:03 UTC
1. KMix menu => Help => Hardware information:
Sound drivers supported: PulseAudio + ALSA + OSS
Sound drivers used: ALSA


2. Output: $ amixer

Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right - Rear Left - Rear Right - Front Center - Woofer - Side Left - Side Right
  Limits: Playback 67 - 127
  Mono:
  Front Left: Playback 85 [30%] [-42.00dB] [on]
  Front Right: Playback 85 [30%] [-42.00dB] [on]
  Rear Left: Playback 85 [30%] [-42.00dB] [on]
  Rear Right: Playback 85 [30%] [-42.00dB] [on]
  Front Center: Playback 85 [30%] [-42.00dB] [on]
  Woofer: Playback 85 [30%] [-42.00dB] [on]
  Side Left: Playback 85 [30%] [-42.00dB] [on]
  Side Right: Playback 85 [30%] [-42.00dB] [on]
Simple mixer control 'Front Panel',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Line',0
  Capabilities: cswitch cswitch-joined penum
  Capture channels: Mono
  Mono: Capture [on]
Simple mixer control 'Mic',0
  Capabilities: cvolume cvolume-joined cswitch cswitch-joined penum
  Capture channels: Mono
  Limits: Capture 0 - 31
  Mono: Capture 0 [0%] [-34.50dB] [off]
Simple mixer control 'Mic Boost (+20dB)',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Aux',0
  Capabilities: cvolume cswitch cswitch-joined penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 31
  Front Left: Capture 11 [35%] [-18.00dB] [off]
  Front Right: Capture 11 [35%] [-18.00dB] [off]                                                                                                                                                                   
Simple mixer control 'Analog Input Monitor',0                                                                                                                                                                      
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum                                                                                                                                                
  Playback channels: Mono                                                                                                                                                                                          
  Limits: Playback 0 - 1                                                                                                                                                                                           
  Mono: Playback 0 [0%] [-6.00dB] [off]                                                                                                                                                                            
Simple mixer control 'DAC Filter',0                                                                                                                                                                                
  Capabilities: penum                                                                                                                                                                                              
  Items: 'Fast Roll-off' 'Slow Roll-off'                                                                                                                                                                           
  Item0: 'Fast Roll-off'                                                                                                                                                                                           
Simple mixer control 'Stereo Upmixing',0                                                                                                                                                                           
  Capabilities: enum                                                                                                                                                                                               
  Items: 'Front' 'Front+Surround' 'Front+Surround+Back' 'Front+Surround+Center/LFE' 'Front+Surround+Center/LFE+Back'                                                                                               
  Item0: 'Front'


3. $ getfacl /dev/snd/controlC0

getfacl: Removing leading '/' from absolute path names
# file: dev/snd/controlC0
# owner: root
# group: audio
user::rw-
group::rw-
other::---


4. See Attachments
Comment 10 Andrea Cavaliero 2010-12-08 12:06:31 UTC
Created attachment 54292 [details]
ALSA.Xonar_DX.1.Base.xml
Comment 11 Andrea Cavaliero 2010-12-08 12:07:13 UTC
Created attachment 54293 [details]
ALSA.Xonar_DX.1.default.xml
Comment 12 Andrea Cavaliero 2011-04-07 16:04:34 UTC
Hello,
any news on this? Even if i got used to this bug, it's still pretty annoying.
Comment 13 sorath 2011-08-29 20:06:01 UTC
with Kmix 3.8 (using KDE 4.6.5) bug is observed still
Comment 14 Christian Esken 2011-09-01 07:11:35 UTC
Please check whether other mixers show the same behaviour (e.g. alsamixer started in a Konsole), and report back here.
Comment 15 Christian Esken 2011-09-01 07:12:30 UTC
mark as needs feedback
Comment 16 Andrea Cavaliero 2011-09-01 07:14:10 UTC
other mixers (e.g. alsamixer) work fine.

i ended up using veromix in kde (of course that means you must use pulseaudio. Kmix shows this bug both with and without pulseaudio)
Comment 17 Christian Esken 2011-09-01 07:14:22 UTC
*** Bug 276438 has been marked as a duplicate of this bug. ***
Comment 18 Christian Esken 2011-09-01 07:15:12 UTC
.
Comment 19 Christian Esken 2011-09-01 07:26:58 UTC
Yes, now I see you are absolutely right. I missed that link to the ALSA bug tracker.
This is a most likely a KMix bug. I have adjusted a lot of source code dealing with the low border over the last years, but I must have missed some (I cannot test without a soundcard with this behavior).
As I do not own a soundcard like this, I do need testers that try out new KMix versions from trunk from time to time. Please let me know if you can do it. It will dramatically increase fixing speed.
Comment 20 Andrea Cavaliero 2011-09-01 07:39:15 UTC
onfortunately i won't have access to the computer with such soundcard until christmas holidays. Hopefully the other guys can help you before.
Comment 21 Sebastian Schubert 2011-09-01 10:13:45 UTC
I am able to test with an Asus Xonar STX.

Cheers
Comment 22 sorath 2011-09-01 20:28:13 UTC
I use an "Xonar ST" and able to test with it
Comment 23 Christian Esken 2011-09-01 22:58:23 UTC
SVN commit 1250844 by esken:

CCBUGS: 249508
Implement proper minimum volume level (and the volumeSpan() helper)

 M  +1 -5      apps/kmix.cpp  
 M  +4 -2      core/mixer.cpp  
 M  +9 -4      core/mixer.h  
 M  +18 -1     core/volume.cpp  
 M  +9 -2      core/volume.h  
 M  +3 -6      dbus/dbuscontrolwrapper.cpp  
 M  +2 -2      gui/kmixdockwidget.cpp  
 M  +4 -4      gui/mdwslider.cpp  
 M  +3 -0      gui/osdwidget.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1250844
Comment 24 Christian Esken 2011-09-01 23:00:29 UTC
This is the first try. I added a proper volume range (maxVolume - minVolume + 1), which might fix the issue. Please test.
Comment 25 sorath 2011-09-02 14:18:19 UTC
I use Gentoo with "kde overlay" and it seems that you changes was applied
("kmix.cpp" filesize the same at least).

I have just compile and install kmix-9999 and now "volume master slider" (is it always horizontal now? - as after opening all "mixer" sliders they are vertical as set up in settings) moves by mouse wheel from left border to the right, but during scrolling by mouse wheel in the system tray "kmix icon" value changes from 223% to 322% in the volume pop-up indication window.
Comment 26 sorath 2011-09-02 16:51:55 UTC
In alsa bug tracker "Raymond (reporter)" noted that :
---------------------------------
comment.range '135 - 255' and Limits: Playback 135 - 255 are the same range

 if min_vol is at 135 and max_vol at 255 , no of steps is 255-135 = 120 , 

 120 step x .5 dB / step = 60 dB

 int snd_mixer_selem_get_playback_volume_range(snd_mixer_elem_t *elem, 
                           long *min, long *max);

 so it seem to be bug of kde if it assume min_vol must be 0

 The percentage value is calulcated as (value - min )/( max- min ) in amixer/alsamixer

 it is correct for amixer to display 0% 

  Front Left: Playback 135 [0%] [-60.00dB] [on]
   Front Right: Playback 135 [0%] [-60.00dB] [on]

---------------------------------

Do "minVolume" and "maxVolume" are defined from "Limits: Playback 135 - 255" directly from amixer ?

Sorry, I'm finaly confused :)
Comment 27 Christian Esken 2011-09-02 21:36:33 UTC
SVN commit 1251007 by esken:

CCBUGS: 249508
Implement proper minimum volume level (remove old buggy average calculation)

 M  +5 -23     core/volume.cpp  
 M  +0 -2      core/volume.h  
 M  +3 -4      gui/kmixdockwidget.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1251007
Comment 28 Christian Esken 2011-09-02 21:42:47 UTC
I have no idea what you talk about in comment 26. "minVolume" and "maxVolume" are from ALSA driver/lib.

But I did another patch that removes invalid calculations. As in the patch before I cannot test this myself, so help is appreciated.
Comment 29 sorath 2011-09-03 07:09:14 UTC
Thanks! Now it seems works correct - slider moves to 0% to 100% and by mouse scrolling, with the change dock icon to "mute" state at 0% volume level in the system tray, but it's not real "mute" state - I still can hear the quiet sound - but it's seems normal behaviour observed always early.

Could you test new "kmix" from trunk on any soundcard (just of any another one different from Asus) to verify that's all work as should be?
Comment 30 Christian Esken 2011-09-05 22:35:48 UTC
I personally test with 4 installed soundcards, but none of them is affected by this bug. I don't think more testing is required.

I'll wait some days for feedback from https://bugtrack.alsa-project.org/alsa-bug/view.php?id=5140 , then I'll close this bug.
Comment 31 sorath 2011-09-06 16:46:47 UTC
Yes, it can be closed as resolved as you note in KDE 4.8 release. Thanks.
Comment 32 Christian Esken 2011-09-09 18:42:03 UTC
Thanks.Closing.
Comment 33 Simeon 2011-12-05 21:11:59 UTC
Hey there!
I think I'm experiencing this very same bug.
Is this supposed to be fixed in kmix version 3.9 running on kde 4.7.3 ? Or I should wait for KDE 4.8 in order for this as mentioned somewhere above? If this is true is there any way to install the version that's supposed to be used with kde 4.8 on 4.7.3 ?
Here is link to the thread that got me here - http://forum.kde.org/viewtopic.php?f=19&t=98028 .

Thanks!
Comment 34 Mihai 2014-01-05 22:31:56 UTC
Hello guys,
I have the same problem on openSUSE 13.1, KDE 4.11.3, KMix 4.4, phonom-vlc

Hardware: Intel Audio, Driver: "snd_hda_intel", 6 Series/C200 Series Chipset Family High Definition Audio Controller

Software drivers supported: PulseAudio + ALSA + OSS + MPRIS2
Sound driver used: PulseAudio
When AlsaMixer is 100% Kmix is about 65, the same with PulseAudio Volume Control being at 100%
When I move Kmix to 100% AlsaMixer remains to 100% and PulseAudio moves to 153%

=================> kmixrc <=====================
[Global]
AllowDocking=true
AutoStart=true
AutoUseMultimediaKeys=true
ConfigVersion=3
DefaultCardOnStart=PulseAudio.Playback_Devices.1.default
Labels=true
MasterMixer=PulseAudio::Playback_Devices:1
MasterMixerDevice=alsa_output.pci-0000_00_1b.0.analog-stereo
Menubar=true
MixerIgnoreExpression=Modem
Orientation=Vertical
Orientation.TrayPopup=Vertical
Position=860,0
Size=502,321
Soundmenu.Mixers=PulseAudio::Playback_Streams:1,PulseAudio::Capture_Streams:1,PulseAudio::Playback_Devices:1,PulseAudio::Capture_Devices:1
Tickmarks=true
TrayVolumeControl=true
Visible=false
VolumeFeedback=false
showOSD=true
startkdeRestore=true

[View.PulseAudio.Capture_Devices.1.default.PulseAudio::Capture_Devices:1.alsa_input.pci-0000_00_1b.0.analog-stereo]
Split=false

[View.PulseAudio.Capture_Streams.1.default.PulseAudio::Capture_Streams:1.stream:1]
Split=false

[View.PulseAudio.Playback_Devices.1.default.PulseAudio::Playback_Devices:1.alsa_output.pci-0000_00_1b.0.analog-stereo]
Split=false

[View.PulseAudio.Playback_Streams.1.default.PulseAudio::Playback_Streams:1.stream:103]
Split=false

[View.PulseAudio.Playback_Streams.1.default.PulseAudio::Playback_Streams:1.stream:21]
Split=false

[View.PulseAudio.Playback_Streams.1.default.PulseAudio::Playback_Streams:1.stream:25]
Split=false

[View.PulseAudio.Playback_Streams.1.default.PulseAudio::Playback_Streams:1.stream:28]
Split=false

[View.PulseAudio.Playback_Streams.1.default.PulseAudio::Playback_Streams:1.stream:4]
Split=false

[View.PulseAudio.Playback_Streams.1.default.PulseAudio::Playback_Streams:1.stream:694]
Split=false
====================================================

===============> amixer -c 0 <=========================
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 74
  Mono: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 74 [100%] [0.00dB] [on]
  Front Right: Playback 74 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 0 [0%] [-74.00dB] [on]
  Front Right: Playback 0 [0%] [-74.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 254 [100%] [-0.20dB]
  Front Right: Playback 254 [100%] [-0.20dB]
Simple mixer control 'Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 3 [75%] [30.00dB]
  Front Right: 3 [75%] [30.00dB]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 7
  Mono: Playback 0 [0%] [-28.00dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 80 [100%] [6.00dB] [on]
  Front Right: Capture 80 [100%] [6.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'
Simple mixer control 'Digital',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 60 [50%] [0.00dB]
  Front Right: Capture 60 [50%] [0.00dB]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 4
  Front Left: 4 [100%] [48.00dB]
  Front Right: 4 [100%] [48.00dB]
====================================================

============> getfacl /dev/snd/controlC0 <===============
getfacl: Removing leading '/' from absolute path names
# file: dev/snd/controlC0
# owner: root
# group: audio
user::rw-
user:mihai:rw-
group::rw-
mask::rw-
other::---
=====================================================

Can anyone help me with this issue?