Bug 903869
Summary: | HDMI audio device detected by PulseAudio but not listed in Sound Settings; Jack is reported as unplugged. | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jacob <jeisinge> | ||||||||||
Component: | pulseaudio | Assignee: | Lennart Poettering <lpoetter> | ||||||||||
Status: | CLOSED WORKSFORME | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||
Severity: | medium | Docs Contact: | |||||||||||
Priority: | unspecified | ||||||||||||
Version: | 18 | CC: | brendan.jones.it, lkundrak, lpoetter, rdieter, superquad.vortex2 | ||||||||||
Target Milestone: | --- | ||||||||||||
Target Release: | --- | ||||||||||||
Hardware: | x86_64 | ||||||||||||
OS: | Linux | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2013-05-01 03:04:32 UTC | Type: | Bug | ||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||
Documentation: | --- | CRM: | |||||||||||
Verified Versions: | Category: | --- | |||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
Embargoed: | |||||||||||||
Attachments: |
|
Description
Jacob
2013-01-24 23:48:54 UTC
(In reply to comment #1) > ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html 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]
/proc/asound/card0/codec#3
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: GenLevel Digital category: 0x2 IEC Coding Type: 0x0 PCM: 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 Connection: 1 0x04 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) > http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commitdiff; > h=80c8bfbe76869bfd6bdf3d260d316e7a32f318c3; > hp=3de5ff88773d9f106b668937da2f36c97801b332 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. Correct? 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 http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=test/chmap.c;hb=HEAD http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src/modules/module-switch-on-port-available.c?id=1f97db720bd533a7b367a7d3123a493196125828 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? http://mailman.alsa-project.org/mailman/listinfo/alsa-devel http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss This patch adds a name hint that indicates which PCM device is connected to which pin. http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commitdiff;h=0b6c49b59fb272c1a20f79202693ed1072e9548c;hp=42cf0d0155539ef1933e63453e5169a4f631d7e7 Create kcontrols for pin jack-detections, which work similarly like jack-input layer. http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commit;h=01a61e12b4602c82bde9797d0e153f3e53c95b04 (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? http://mailman.alsa-project.org/pipermail/alsa-devel/2013-February/059737.html does the patch really work ? I would like to report that everything is working now! Maybe it was that patch? |