On 06/11/2012 02:40 AM, Andres Cimmarusti wrote:
On Sun, Jun 10, 2012 at 8:25 PM, Andres Cimmarusti <acimmarusti@gmail.com> wrote:Andres, do you know of relevant commit ids? Can you describe the difference in behavior between 3.2.19-1 and 3.4.1-1~experimental.1 and whether it's worth backporting these changes?I will try the kernel from experimental and let you know if the changes are worth while. Unfortunately I have not tracked the relevant commits. But it looks like you probably found them. We can probably contact David Henningsson from Canonical, since he was heavily involved in it and provided a lot of guidance to solve this issue.I just tried kernel 3.4.1-1~experimental.1. I could see NO benefit at all in using that kernel. I still had to choose from a long list of advertised HDMI interfaces in pavucontrol before finding the correct one that produced sound on the TV speakers. On my laptop at least, I saw NO automatic jack detection benefit whatsoever. Is there anything else that needs to change? Perhaps David Henningsson can comment?
You're correct; even if the information is there, it isn't advertised in pavucontrol. I should probably implement that... (If you're using Ubuntu 12.04, you will have a new sound settings UI that hides unavailable devices. For upstreaming of this UI please see the gnome-cc list.)
What you'll get is instead what the module-switch-on-port-available module provides. When you plug your headphones in, the selected port will switch (you should be able to notice this in pavucontrol I think), which means your media keys / sound indicator / etc would control your headphone's volume instead of your speaker's volume.
For the multi HDMI case - if you have selected the wrong HDMI interface, and then activate your HDMI screen, module-switch-on-port-available should automatically switch to the correct one.
This is all assuming you're running PulseAudio 2.0 - earlier versions of PulseAudio do not have this functionality.
Should you be interested in backporting the jack detection kernel patches, I'll be happy to point you to the Ubuntu kernel's git tree, where I did the same thing.
-- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic