Linux Volume control not linear
#1
Hello,

With XBMC 12.2 on a Debian Wheezy I got a non linear volume control.
For instance when my system volume is at 100% and XBMC volume is at 100%, I can decrease XBMC volume with no real effect until it reaches 1%.
Then there is a noticeable volume reduction and at 0% the volume is muted.

Is this a known problem ?
I found a related thread here:
http://forum.xbmc.org/showthread.php?tid=88750

Thanks !
Reply
#2
Did you solve this problem? I see the same on XBMC 13 after upgrading 12.04 -> 14.04.
Reply
#3
You 100% don't see that issue on xbmc v13 - cause xbmc 12.2 did not have a pulseaudio sink ... v13 has a completely rewritten PASink.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#4
Yeah, pulseaudio is in use for me, but I see similar behaviour. The volume seems reversely exponential. All variation is in the first 1 %, and the it flattens out more and more from 2-5% volume to max. The last 25% of the volume indicator is perhaps 5-10% volume variation according to pulseaudio.
Reply
#5
Jep - I know - I thought too much while implementing. I wanted it to be: e.g. 50% == half the hearable volume but ran into what you found out now: Can you try: https://github.com/xbmc/xbmc/pull/5231 ?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#6
It should now behave exactly as pavucontrol does.

The first press you do (after changed the volume by external with pavucontrol) xbmc will ignore and only update the volume bar - this is for syncing. Afterwards it should behave like you expect it.

Thanks much for testing in advance!
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#7
Code:
sudo apt-get build-dep xbmc
git clone https://github.com/fritsch/xbmc.git
git checkout pa-volume-fix
cd xbmc
./bootstrap
./configure --disable-debug
make -j5

if that was succesful:
Code:
sudo make install

Now you can start this xbmc by running: xbmc

Please make a backup of your old .xbmc directory prior to testing as this introduces Helix changes.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#8
Would love to help, but don't really want to do anything to my media center that could make ppa upgrades more difficult. Also, I'm booting right into xbmc (old xbmclive install), and use ssh to connect to the box for maintenance etc.

Sooo: To be able to test, I need undo instructions as well. And some assurance that I can go back to a regular PPA install afterwards.
Reply
#9
@fritsch: I just tested it on Debian Wheezy and it is much better !

Thanks !
Reply
#10
Please try my open PR. I fixed that code to be More what user expects. https://github.com/xbmc/xbmc/pull/5231
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#11
Oki will perhaps go into 13.3 i was too late for 13.2
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#12
Before I forget: Thx much for supporting xbmc by helping to test.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#13
Do you still need my help for testing? Or do you have sufficient testing already?
Reply
#14
Nope - all fine from my side. I was travelling when I read your other reply. I already send a PullRequest so that this change will in any case reach helix and also will be backported to Gotham 13.3 - in the meantime, you can "pick" the patch on the Gotham branch to have this functionality in our stable build.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#15
Hi,

it's me again. I made another change to not poll the external volume but gracefully setting an internal flag. If you find time, mind testing:

https://github.com/fritsch/xbmc/commits/...ync-volume ?

Code:
cd xbmc
git fetch origin
git reset --hard
git clean -xfd
git checkout -b pa-rework-async-volume origin/pa-rework-async-volume
./bootstrap
./configure --disable-debug
make -j5

All should be the same as before from user perspective point of view.

Test cases:
Test case1:
change xbmc's internal volume. Expectation: See the pavucontrol slider moving linearly

Test case2:
Change xbmc's stream volume with pavucontrol. See that first press to xbmc's volume slider only changes the volume meter in xbmc not the volume itself

Test case3:
Change xbmc's stream volume with pavucontrol. Press two times xbmc's volume up and see that the slider again moves linearly.

Thank you very much in advance.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply

Logout Mark Read Team Forum Stats Members Help
Volume control not linear0