FS#48306 - [pulseaudio] headphone jack stopped working

Attached to Project: Arch Linux
Opened by Liudas Ališauskas (liudas) - Tuesday, 23 February 2016, 04:23 GMT
Last edited by Jan Alexander Steffens (heftig) - Friday, 26 February 2016, 20:02 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

After pulseaudio update (8.0-1 -> 8.0-2) headphone jack stopped working.

Additional info:
* package version 8.0-2
* config files didn't change.


Steps to reproduce:
- update pulseaudio and libpulse packages = no more working headphone jack.
- downgrading both packages = headphone jack works again.
This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Friday, 26 February 2016, 20:02 GMT
Reason for closing:  Fixed
Additional comments about closing:  pulseaudio 8.0-3
Comment by Tanu Kaskinen (tanuk) - Wednesday, 24 February 2016, 09:50 GMT
I can't reproduce this on my laptop. Can you attach the output from "pactl list"? I'll try to configure my pulseaudio so that it thinks I have similar hardware as you do.
Comment by Gustavo Alvarez (sl1pkn07) - Thursday, 25 February 2016, 17:53 GMT
for me, when the frontal headphone jack is unplug, pulseaudio detect it as plugged, and when connect the headphone jack, pulseaudio detect it as unplugged (no output sound)

headphone plugged: http://wstaw.org/m/2016/02/25/Screenshot_20160225_184920.png
headphone unplugged: http://wstaw.org/m/2016/02/25/Screenshot_20160225_184943.png

└───╼ acpi_listen
jack/headphone HEADPHONE plug
jack/headphone HEADPHONE unplug

'pactl list' plugged: http://sl1pkn07.wtf/paste/view/af66d18d
'pactl list' unplugged: http://sl1pkn07.wtf/paste/view/f7465c26

edit: updating pactl list log
Comment by Tanu Kaskinen (tanuk) - Thursday, 25 February 2016, 19:47 GMT
Gustavo, can you confirm that this is something that was caused by the 8.0-1 to 8.0-2 pulseaudio package upgrade? That is, downgrading back to 8.0-1 makes the headphones work again?
Comment by Gustavo Alvarez (sl1pkn07) - Thursday, 25 February 2016, 19:56 GMT
yes. downdrade to 8.0-1 solve the problem
Comment by Tanu Kaskinen (tanuk) - Thursday, 25 February 2016, 20:24 GMT
Thanks! I don't think it's an issue of pulseaudio detecting headphones as unplugged when you plug them in, the screenshots and the "pactl list" logs don't support that. Rather, you have a surround 5.1 profile selected in both plugged and unplugged cases. When headphones are plugged in, the surround profile becomes unavailable. 8.0-1 will in this situation switch away from the surround profile, but 8.0-2 may not do that. 8.0-2 should behave the same way as PulseAudio 7.1, so compared to 7.1 there shouldn't be any regression. The reason why the behaviour was reverted in 8.0-2 to how 7.1 behaved is that the 8.0-1 behaviour, while good for you, was awful for some other people.

I'll do some testing tomorrow still, I'll try to reproduce the behaviour you're seeing, and also make sure that 7.1 and 8.0-2 behave in the same way. If you can test the last 7.1 Arch package (I believe that was version 7.1-3?) as well to confirm that it behaves the same way as 8.0-2, that would be helpful (I'm not an Arch user myself, but I am to blame for the change that was done between 8.0-1 and 8.0-2).
Comment by Gustavo Alvarez (sl1pkn07) - Thursday, 25 February 2016, 20:52 GMT
the screenshot is only for show the "unplugged" word when the headpones jack is connected (pavucontrol)

you are right. when select 5.1 output+analog stereo profile and plug the jack, the profiles is changed to stereo.duplex. and when unplug it, back to 5.1 output+analog profile in pulseaudio 8.0-1

in pulseaudio 8.0-2 keep the same profile (5.1+analog), but one with the word "(unplugged)" when the jack is connected and without "(uplugged)" when the jack is disconnect, but never output sound in the headphones in plug case

I'm not sure if I can test with pulseaudio 7.1-3, due missing shared library (version missmatch) by other programs

greetings

Comment by Gustavo Alvarez (sl1pkn07) - Thursday, 25 February 2016, 21:07 GMT
in 7.1-3 works ok, but with wreid pavucontrol behavior

if select 5.1+analog (with the jack disconect) and connect the jack, the profile change to stereo.duplex (and out sound in the headphones), if disconnect the jack, the profile is keep in the stereo.duplex, but the sound in the 5.1 works, if plug again the jack, the profile is keep in stereo.duplex and the headphones works again
Comment by Tanu Kaskinen (tanuk) - Friday, 26 February 2016, 11:38 GMT
I can now reproduce the described behaviour. I'll try to figure out why 8.0-2 behaves differently than 7.1.
Comment by Tanu Kaskinen (tanuk) - Friday, 26 February 2016, 15:06 GMT
I found the problem now. When plugging in headphones the profile switch from surround to stereo doesn't happen, because there are two events that logically happen at the same time, but pulseaudio processes them sequentially, and the processing order is "wrong" in 8.0-2. First headphones become available, but pulseaudio doesn't switch to them, because the lineout (i.e. the currently active port) appears to be still available. Then the lineout becomes unavailable, but the 7.1 logic doesn't switch profiles when a port becomes unavailable.

This works in 7.1, because the processing order is different: first the lineout becomes unavailable, nothing happens at this point, and then headphones become available, and since the currently active port is now unavailable, pulseaudio switches to the headphones.

8.0-2 can be made match the 7.1 behaviour by reverting this commit: https://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=91313e60a81e96ce976f24c522656c57b4ab94ca

Loading...