Red Hat Bugzilla – Bug 903869
HDMI audio device detected by PulseAudio but not listed in Sound Settings; Jack is reported as unplugged.
Last modified: 2013-04-30 23:04:32 EDT
Created attachment 687083 [details]
PulseAudio verbose start (search for hdmi and HDMI)
Description of problem:
PulseAudio sees my HDMI sound sink, but does not allow it to be seen in Sound Settings. In the initialization of PulseAudio, PulseAudio reports the jack as being unplugged:
( 0.162| 0.000) D: [pulseaudio] module-alsa-card.c: Jack 'HDMI/DP,pcm=3 Jack' is now unplugged
Alsa's aplay utility plays audio through the HDMI link.
Version-Release number of selected component (if applicable):
VGA compatible controller: NVIDIA Corporation C79 [GeForce 9200M G] (rev b1)
NVIDIA Corporation MCP79
Use Fedora. This was not an issue in Ubuntu 10.4 for my laptop on and the most recent Ubuntu. However, it seems others had a very similar problem as well: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/961286
Attempted Work Arounds:
I tried the required and required-any additions to /usr/share/pulseaudio/alsa-mixer/paths/hdmi-output-0.conf with no success. I have tried reinstalling Fedora.
Attached you will find my verbose output of starting PulseAudio
(In reply to comment #1)
Thanks! I reread that document and have the following to report:
* Plugging in and unplugging the analog audio plug changes /proc/asound/card0/codec#0 .
* Plugging in and unplugging the HDMI plug does not change /proc/asound/card0/codec#3 .'
* I did not see any changes in dmesg or any of my kernal logs showing that I unplugged or replugged my hdmi cable
So, I think NVidia is not reporting that the HDMI Audio sink is unplugged and therefore PulseAudio is not allowing me to select it in the GUI.
Any other thoughts?
Created attachment 689538 [details]
Created attachment 689550 [details]
NVidia Bug Report
This configuration is used in MCP77, MCP78, MCP79, MCP7A, and ION.
ELD and PD information is not available on these chipsets.
Other chipsets support 2, 6, or 8 channels (MCP79).
this mean no auto switch and only the pin default of node 0x05 has [Jack]
Node 0x04 [Audio Output] wcaps 0x211: Stereo Digital
Control: name="IEC958 Playback Con Mask", index=0, device=0
Control: name="IEC958 Playback Pro Mask", index=0, device=0
Control: name="IEC958 Playback Default", index=0, device=0
Control: name="IEC958 Playback Switch", index=0, device=0
Device: name="HDMI 0", type="HDMI", device=3
Converter: stream=0, channel=0
Digital category: 0x2
IEC Coding Type: 0x0
rates [0xc0]: 48000 88200
bits [0xf]: 8 16 20 24
formats [0x1]: PCM
Node 0x05 [Pin Complex] wcaps 0x400381: Stereo Digital
Control: name="HDMI/DP,pcm=3 Jack", index=0, device=0
Pincap 0x00000014: OUT Detect
Pin Default 0x18560110: [Jack] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Misc = NO_PRESENCE
Pin-ctls: 0x40: OUT
Unsolicited: tag=00, enabled=0
Misc = NO_PRESENCE
hdmi phantom Jack kcontrol should be created since it does not support PD
you should ask the pulseaudio developer how to handle this case
(In reply to comment #6)
> Misc = NO_PRESENCE
> hdmi phantom Jack kcontrol should be created since it does not support PD
> you should ask the pulseaudio developer how to handle this case
Hmmm... maybe that phantom jack is being created in Ubuntu automatically and that was why it was working there? See https://answers.launchpad.net/ubuntu/+source/alsa-driver/+question/213880 and search for phantom. I will look into creating that phantom jack later this week. THANKS!
It is bug of driver to create "HDMI/DP,pcm=3 Jack" when pin default does not support PD
Control: name="HDMI/DP,pcm=3 Jack", index=0, device=0
(In reply to comment #8)
> It is bug of driver to create "HDMI/DP,pcm=3 Jack" when pin default does not
> support PD
> Control: name="HDMI/DP,pcm=3 Jack", index=0, device=0
To be clear, you are saying that ALSA shouldn't be reporting that the jack is unplugged because the Nvidia driver does not support this feature? (in other words, ALSA should by default report the HDMI jack as plugged in to Pulse Audio?)
...should I be reporting this to ALSA or Pulse Audio?
Early chipsets (ION an earlier) do not support PD or ELD information. In this case, the ALSA driver assumes that a monitor is always attached, and supports all audio features, including those which your monitor may not actually support.
(In reply to comment #11)
I am confused. Does this commit mean that it is fixed in kernel 3.8? The result being the next version of Fedora will have it fixed? If so, is there a work around to get this fixed on my system now?
FYI - I justed tried the rawhide 3.8 kernel and rpm fusion's 313.18 drivers. Still no go. And, I don't see the phantom kcontrol being created in the codec file - see new attachement.
Created attachment 691155 [details]
/proc/asound/card0/codec#3 for kernel 3.8. No Phantom node created.
Thanks - it appears that patch has already been applied on Fedora 18.
> So, I think NVidia is not reporting that the HDMI Audio sink is unplugged and therefore PulseAudio is not allowing me to select it in the GUI.
yes, module-switch-on-port-available of pulseaudio switch to other port when the current port is not available because "HDMI/DP,pcm=3 Jack" always return false
Raymond, thanks so much for helping out here! To confirm:
* This is a bug in the proprietary Nvidia driver.
* ALSA is working as designed.
* PulseAudio is working as designed.
i don`t think so
1)some computer chassis did not have hda front audio panel which support Jack detection for headphone and Mic,
2)those profressional sound cards and USB audio devices do not have any Jack detection
3) some HDMI controller do not support PD detection and eld
4) desktop have more than two detectable input sources (front, rear mic and line in) and non detectable input source (CD, aux, input mix and pcm)
5) digital (optical and coaxial) jack have no Jack detection
6) TV tuner card
Great news! I got a work around - see https://devtalk.nvidia.com/default/topic/528470/linux/pulseaudio-reports-hdmi-audio-is-unplugged-from-the-nvidia-mcp79-device/?offset=5#3736958 .
Command: pacmd set-card-profile 0 output:hdmi-surround
It appears that PulseAudio (or ALSA or Nvidia) is always reporting that the HDMI jack is unplugged instead of unavailable. I figure that this is a bug. Am I reporting it to the right spot?
you have to send email to Stephen, David and Takashi about your case
How would be the best to contact them? Email? Do they have another bug tracking system?
no channel map from your HDMI TV/receiver if the graphic controller does not support/provide eld to audio driver, the driver just assume the the max channel supported by HDMI codec
module-switch-on-port-available: Do not switch profile if current port is available
For switching profiles, we are a little more cautious, only switch
from an unavailable port to an available one. Profile switching is
mainly used for HDMI/DisplayPort, and this is to avoid switching from analog to HDMI/DP when it becomes available.
does it mean that there is no way to switch back from HDMI to line out/speaker headphone?
This patch adds a name hint that indicates which PCM device is connected
to which pin.
Create kcontrols for pin jack-detections, which work similarly like
(In reply to comment #25)
> does it mean that there is no way to switch back from HDMI to line
> out/speaker headphone?
I can switch back and fourth now easily with the command line. The remaining issue is that the option is not available in the GUI.
> How would be the best to contact them?
does the patch really work ?
I would like to report that everything is working now! Maybe it was that patch?