|
Bugzilla – Full Text Bug Listing |
| Summary: | No Sound over HDMI, Intel 13th Generation Framework Laptop | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Tumbleweed | Reporter: | Nathan Wolf <me> |
| Component: | Sound | Assignee: | Takashi Iwai <tiwai> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | me, mrmazda |
| Version: | Current | Flags: | tiwai:
needinfo?
(me) |
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | openSUSE Tumbleweed | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
Dmesg output after initial boot
lsinitrd after initial boot alsa info run locally with an HDMI device plugged in HP EliteBook 840 G7 alsa-info ALSA Info with USB-C Monitor attached. |
||
|
Description
Nathan Wolf
2023-08-10 16:34:07 UTC
Could you give the dmesg output after a fresh boot? It seems that proper HD-audio codec modules aren't loaded at the initialization of HD-audio bus. Did you put snd-hda-intel driver (wrongly) into initrd? Please give the output of lsinitrd, too. Created attachment 868976 [details]
Dmesg output after initial boot
Created attachment 868977 [details]
lsinitrd after initial boot
Here is the info. And the HDMI audio really doesn't work with that state? The dmesg output looks pretty different from what's included in the original alsa-info.sh output. Please double-check. I just checked it again and there is no HDMI audio output. There is video but no Audio. OK, then please give alsa-info.sh output again with the non-working state, but *during playback of HDMI*. Run the script with --no-upload option and attach the output to Bugzilla. Also, give the dmesg output, and the contents of /proc/asound/card*/eld#* files at that point, too. Created attachment 869011 [details]
alsa info run locally with an HDMI device plugged in
I have a portable USBC monitor that works with my HP EliteBook providing HDMI out but not with the Framework. This is a known working hardware configuration so hopefully the alsa-info provides some clue as to where the breakdown is occurring.
(In reply to Nathan Wolf from comment #8) > Created attachment 869011 [details] > alsa info run locally with an HDMI device plugged in > > I have a portable USBC monitor that works with my HP EliteBook providing > HDMI out but not with the Framework. This is a known working hardware > configuration so hopefully the alsa-info provides some clue as to where the > breakdown is occurring. Could you give alsa-info.sh output from HP EliteBook connected with that monitor, too? I'd like to compare with the working case. Also, could you check /proc/asound/card/*/eld#* files, too? I guess the Framework doesn't show the monitor connected there, while HP should show the proper contents with ELD. If so, it's likely a problem in the graphics driver side, and if the problem persists with 6.5 kernel (found in OBS Kernel:HEAD repo), we should report it to the upstream. Created attachment 869028 [details]
HP EliteBook 840 G7 alsa-info
I am a bit confused on what you want me to do with this:
/proc/asound/card/*/eld#*
"card" is a file and the output for each is this:
Framework:
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0x605d1c0000 irq 184
EliteBook:
0 [sofhdadsp ]: sof-hda-dsp - sof-hda-dsp
HP-HPEliteBook840G7NotebookPC--8723
But that doesn't seem like what it is that you want.
(In reply to Nathan Wolf from comment #11) > I am a bit confused on what you want me to do with this: > > /proc/asound/card/*/eld#* You did put one too many slash. It's /proc/asound/card*/eld#* files. Something like /proc/asound/card0/eld#2.0 I think I got it but I ran this when I was away from my desk so the monitor is not attached. I can run this again with attached if this is not satisfactory. monitor_present 0 eld_valid 0 codec_pin_nid 0x4 codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x4 codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x4 codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x4 codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x6 codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x6 codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x6 codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x6 codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x8 codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x8 codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x8 codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x8 codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xa codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xa codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xa codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xa codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xb codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xb codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xb codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xb codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xc codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xc codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xc codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xc codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xd codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xd codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xd codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xd codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xe codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xe codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xe codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xe codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xf codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xf codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xf codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xf codec_dev_id 0x3 codec_cvt_nid 0x0 Yes, please check with the monitor connected. The only point is whether the graphics / audio drivers could detect the HDMI audio and expose via EDID/ELD. If no connection is seen in eld#* files, it means either the graphics driver couldn't detect the audio capability, failed to advertise to the audio driver or the audio driver missed by some reason. I am currently on kernel 6.5.2-1-default Tumbleweed Snapshot 20230911 Here is the output of cat /proc/asound/card*/eld#* monitor_present 0 eld_valid 0 codec_pin_nid 0x4 codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x4 codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x4 codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x4 codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x6 codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x6 codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x6 codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x6 codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x8 codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x8 codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x8 codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0x8 codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xa codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xa codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xa codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xa codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 1 eld_valid 1 codec_pin_nid 0xb codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_name ARZOPA connection_type DisplayPort eld_version [0x2] CEA-861D or below edid_version [0x3] CEA-861-B, C or D manufacture_id 0xac10 product_id 0x40f2 port_id 0x0 support_hdcp 0 support_ai 0 audio_sync_delay 0 speakers [0x1] FL/FR sad_count 1 sad0_coding_type [0x1] LPCM sad0_channels 2 sad0_rates [0x1ee0] 32000 44100 48000 88200 96000 176400 192000 sad0_bits [0xe0000] 16 20 24 monitor_present 0 eld_valid 0 codec_pin_nid 0xb codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xb codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xb codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xc codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xc codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xc codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xc codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xd codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xd codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xd codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xd codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xe codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xe codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xe codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xe codec_dev_id 0x3 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xf codec_dev_id 0x0 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xf codec_dev_id 0x1 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xf codec_dev_id 0x2 codec_cvt_nid 0x0 monitor_present 0 eld_valid 0 codec_pin_nid 0xf codec_dev_id 0x3 codec_cvt_nid 0x0 (In reply to Nathan Wolf from comment #15) > I am currently on kernel 6.5.2-1-default > Tumbleweed Snapshot 20230911 And the problem still persists? I'm asking because now the driver looks successfully detecting the monitor: > Here is the output of cat /proc/asound/card*/eld#* (snip) > monitor_present 1 > eld_valid 1 > codec_pin_nid 0xb > codec_dev_id 0x0 > codec_cvt_nid 0x0 > monitor_name ARZOPA > connection_type DisplayPort > eld_version [0x2] CEA-861D or below > edid_version [0x3] CEA-861-B, C or D > manufacture_id 0xac10 > product_id 0x40f2 > port_id 0x0 > support_hdcp 0 > support_ai 0 > audio_sync_delay 0 > speakers [0x1] FL/FR > sad_count 1 > sad0_coding_type [0x1] LPCM > sad0_channels 2 > sad0_rates [0x1ee0] 32000 44100 48000 88200 96000 176400 192000 > sad0_bits [0xe0000] 16 20 24 The problem still persists. I am testing it now with no HDMI audio devices detected. Then please give alsa-info.sh output at the latest state. ... and check the /proc/asound/card*/eld* files again and confirm that the monitor is detected there. If eld* file shows the monitor present while alsa-info.sh output shows no corresponding ELD control element with the monitor present, it must be the problem. > cat /proc/asound/card*/eld*
monitor_present 0
eld_valid 0
codec_pin_nid 0x4
codec_dev_id 0x0
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x4
codec_dev_id 0x1
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x4
codec_dev_id 0x2
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x4
codec_dev_id 0x3
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x6
codec_dev_id 0x0
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x6
codec_dev_id 0x1
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x6
codec_dev_id 0x2
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x6
codec_dev_id 0x3
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x8
codec_dev_id 0x0
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x8
codec_dev_id 0x1
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x8
codec_dev_id 0x2
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0x8
codec_dev_id 0x3
codec_cvt_nid 0x0
monitor_present 1
eld_valid 1
codec_pin_nid 0xa
codec_dev_id 0x0
codec_cvt_nid 0x0
monitor_name ARZOPA
connection_type DisplayPort
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0xac10
product_id 0x40f2
port_id 0x0
support_hdcp 0
support_ai 0
audio_sync_delay 0
speakers [0x1] FL/FR
sad_count 1
sad0_coding_type [0x1] LPCM
sad0_channels 2
sad0_rates [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad0_bits [0xe0000] 16 20 24
monitor_present 0
eld_valid 0
codec_pin_nid 0xa
codec_dev_id 0x1
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xa
codec_dev_id 0x2
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xa
codec_dev_id 0x3
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xb
codec_dev_id 0x0
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xb
codec_dev_id 0x1
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xb
codec_dev_id 0x2
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xb
codec_dev_id 0x3
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xc
codec_dev_id 0x0
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xc
codec_dev_id 0x1
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xc
codec_dev_id 0x2
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xc
codec_dev_id 0x3
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xd
codec_dev_id 0x0
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xd
codec_dev_id 0x1
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xd
codec_dev_id 0x2
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xd
codec_dev_id 0x3
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xe
codec_dev_id 0x0
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xe
codec_dev_id 0x1
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xe
codec_dev_id 0x2
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xe
codec_dev_id 0x3
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xf
codec_dev_id 0x0
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xf
codec_dev_id 0x1
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xf
codec_dev_id 0x2
codec_cvt_nid 0x0
monitor_present 0
eld_valid 0
codec_pin_nid 0xf
codec_dev_id 0x3
codec_cvt_nid 0x0
Created attachment 869584 [details]
ALSA Info with USB-C Monitor attached.
Just as an addition. I thought I would add this:
> aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: 92HD95 Analog [92HD95 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [ARZOPA]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
I see that HDMI has the monitor identified.
OK, interesting. At this state, what happens if you run like aplay -Dhdmi:0 -/usr/share/sounds/alsa/test.wav ? Doesn't this produce any sound over the monitor? That worked! aplay -Dhdmi:0 /usr/share/sounds/alsa/test.wav The sound was clear, crisp and had no "glitching" whatsoever. It's a good news, finally. Then the problem seems to be rather in the user-space sound service. Are you using pipewire? Or PulseAudio? I am running the default Pipewire setup from Tumbleweed. This machine was installed fresh in June 2023.
> pactl info
Server String: /run/user/9327/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 7323
Tile Size: 65472
User Name: wolfnf
Host Name: Ironhide
Server Name: PulseAudio (on PipeWire 0.3.79)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1f.3.analog-stereo
Default Source: alsa_input.pci-0000_00_1f.3.analog-stereo
Cookie: b240:ddbf
OK. And when you run pavucontrol, can you choose the display audio as the output? Or does it still show as unplugged? The HDMI Display audio doesn't show up as an option. Under the "Output Devices" Tab, I only have my "Built-in Audio Analog Stereo with Speakers and Headphones (unplugged) Under the "Configuration" Tab, I can select it as an output. This is newly working like this and is not how the HP EliteBook presents the output. Maybe this is better? I don't know. What do you think? Is the problem now solved? Ah, this can be the difference of the sound driver, and how it's represented on user-space. I guess UCM profile is applied to SOF driver and those appear as individual outputs. OTOH, with HDA-Intel, it's a single entity and appears as different profiles. Is there any way to get the UCM profiles applied to the HDA-Intel drivers or is this not as simple as selecting and applying a profile to the HDA-Intel drivers? No regressions as of openSUSE Tumbleweed 20230922. HDMI audio continues to operate normally. The profile selection for HDA-Intel Audio doesn't allow for the same flexibility as the sof-hda-dsp but it does work well and I consider this to be resolved. |