You are not logged in.

#1 2021-11-11 12:58:27

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

How to output audio via HDMI if EDID of my TV is not working?

https://wiki.archlinux.org/title/Kernel … s_and_EDID
According to the page above, I can force my GPU to output 1080p to my TV which EDID does not work. However, there is still no audio output to the HDMI, is there any way to solve it?

Offline

#2 2021-11-11 13:51:17

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,325

Re: How to output audio via HDMI if EDID of my TV is not working?

I can force my GPU to output 1080p

stands a chance that you're driving output or cable out of spec and there's no bandwidth left for the audio (but it would work at lower resolutions)
If that's not it, you need to elaborate on the sound stack, for starters

aplay -L
amixer
pactl list cards
pactl list sinks

Offline

#3 2021-11-11 14:12:33

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

seth wrote:

I can force my GPU to output 1080p

stands a chance that you're driving output or cable out of spec and there's no bandwidth left for the audio (but it would work at lower resolutions)
If that's not it, you need to elaborate on the sound stack, for starters

aplay -L
amixer
pactl list cards
pactl list sinks

I copied them via SSH.

[htpc@HTPC ~]$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
pipewire
    PipeWire Sound Server
default
    Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=PCH
    HDA Intel PCH, ALC1150 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    Front output / input
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC1150 Digital
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA ATI HDMI, HDMI 1
    HDMI Audio Output
[htpc@HTPC ~]$ amixer
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 26213 [40%] [on]
  Front Right: Playback 26213 [40%] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch cswitch-joined
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 65536
  Front Left: Capture 65536 [100%] [on]
  Front Right: Capture 65536 [100%] [on]
[htpc@HTPC ~]$ LANG=C pactl list cards
Card #38
	Name: alsa_card.pci-0000_01_00.1
	Driver: alsa
	Owner Module: n/a
	Properties:
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "1"
		api.alsa.card.longname = "HDA ATI HDMI at 0xefe60000 irq 34"
		api.alsa.card.name = "HDA ATI HDMI"
		api.alsa.path = "hw:1"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio1"
		device.api = "alsa"
		device.bus = "pci"
		device.bus_path = "pci-0000:01:00.1"
		device.description = "Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]"
		device.enum.api = "udev"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_01_00.1"
		device.nick = "HDA ATI HDMI"
		device.plugged.usec = "3160954"
		device.product.id = "43744"
		device.product.name = "Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]"
		device.subsystem = "sound"
		device.sysfs.path = "/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1"
		device.vendor.id = "4098"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
		media.class = "Audio/Device"
		factory.id = "14"
		client.id = "32"
		object.id = "38"
		object.path = "alsa:pcm:1"
		alsa.card = "1"
		alsa.card_name = "HDA ATI HDMI"
		alsa.long_card_name = "HDA ATI HDMI at 0xefe60000 irq 34"
		alsa.driver_name = "snd_hda_intel"
		device.string = "1"
	Profiles:
		off: 關閉 (sinks: 0, sources: 0, priority: 0, available: yes)
		output:hdmi-stereo: 數位立體聲 (HDMI) 輸出 (sinks: 1, sources: 0, priority: 5900, available: no)
		output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) 輸出 (sinks: 1, sources: 0, priority: 5700, available: no)
		output:hdmi-surround: 數位環繞聲 5.1 (HDMI) 輸出 (sinks: 1, sources: 0, priority: 800, available: no)
		output:hdmi-surround71: Digital Surround 7.1 (HDMI) 輸出 (sinks: 1, sources: 0, priority: 800, available: no)
		output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) 輸出 (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) 輸出 (sinks: 1, sources: 0, priority: 600, available: no)
		pro-audio: Pro Audio (sinks: 2, sources: 0, priority: 1, available: yes)
	Active Profile: output:hdmi-stereo
	Ports:
		hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, not available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "Legacy 1"
				device.icon_name = "video-display"
				card.profile.port = "0"
			Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
		hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 2, not available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "Legacy 2"
				device.icon_name = "video-display"
				card.profile.port = "1"
			Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1

Card #39
	Name: alsa_card.pci-0000_00_1b.0
	Driver: alsa
	Owner Module: n/a
	Properties:
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "0"
		api.alsa.card.longname = "HDA Intel PCH at 0xeff10000 irq 33"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "hw:0"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio0"
		device.api = "alsa"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1b.0"
		device.description = "Built-in Audio"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1b.0"
		device.nick = "HDA Intel PCH"
		device.plugged.usec = "3182166"
		device.product.id = "36000"
		device.product.name = "9 Series Chipset Family HD Audio Controller"
		device.subsystem = "sound"
		device.sysfs.path = "/sys/devices/pci0000:00/0000:00:1b.0/sound/card0"
		device.vendor.id = "32902"
		device.vendor.name = "Intel Corporation"
		media.class = "Audio/Device"
		factory.id = "14"
		client.id = "32"
		object.id = "39"
		object.path = "alsa:pcm:0"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xeff10000 irq 33"
		alsa.driver_name = "snd_hda_intel"
		device.string = "0"
	Profiles:
		off: 關閉 (sinks: 0, sources: 0, priority: 0, available: yes)
		output:analog-stereo+input:analog-stereo: 類比立體聲雙工 (sinks: 1, sources: 1, priority: 6565, available: no)
		output:analog-stereo: 類比立體聲 輸出 (sinks: 1, sources: 0, priority: 6500, available: no)
		output:iec958-stereo+input:analog-stereo: 數位立體聲 (IEC958) 輸出 + 類比立體聲 輸入 (sinks: 1, sources: 1, priority: 5565, available: no)
		output:iec958-stereo: 數位立體聲 (IEC958) 輸出 (sinks: 1, sources: 0, priority: 5500, available: yes)
		output:analog-surround-21+input:analog-stereo: 類比環繞聲 2.1 輸出 + 類比立體聲 輸入 (sinks: 1, sources: 1, priority: 1365, available: no)
		output:analog-surround-41+input:analog-stereo: 類比環繞聲 4.1 輸出 + 類比立體聲 輸入 (sinks: 1, sources: 1, priority: 1365, available: no)
		output:analog-surround-51+input:analog-stereo: 類比環繞聲 5.1 輸出 + 類比立體聲 輸入 (sinks: 1, sources: 1, priority: 1365, available: no)
		output:analog-surround-21: 類比環繞聲 2.1 輸出 (sinks: 1, sources: 0, priority: 1300, available: no)
		output:analog-surround-41: 類比環繞聲 4.1 輸出 (sinks: 1, sources: 0, priority: 1300, available: no)
		output:analog-surround-51: 類比環繞聲 5.1 輸出 (sinks: 1, sources: 0, priority: 1300, available: no)
		output:analog-surround-40+input:analog-stereo: 類比環繞聲 4.0 輸出 + 類比立體聲 輸入 (sinks: 1, sources: 1, priority: 1265, available: no)
		output:analog-surround-50+input:analog-stereo: 類比環繞聲 5.0 輸出 + 類比立體聲 輸入 (sinks: 1, sources: 1, priority: 1265, available: no)
		output:analog-surround-71+input:analog-stereo: 類比環繞聲 7.1 輸出 + 類比立體聲 輸入 (sinks: 1, sources: 1, priority: 1265, available: no)
		output:analog-surround-40: 類比環繞聲 4.0 輸出 (sinks: 1, sources: 0, priority: 1200, available: no)
		output:analog-surround-50: 類比環繞聲 5.0 輸出 (sinks: 1, sources: 0, priority: 1200, available: no)
		output:analog-surround-71: 類比環繞聲 7.1 輸出 (sinks: 1, sources: 0, priority: 1200, available: no)
		input:analog-stereo: 類比立體聲 輸入 (sinks: 0, sources: 1, priority: 65, available: no)
		pro-audio: Pro Audio (sinks: 2, sources: 2, priority: 1, available: yes)
	Active Profile: output:iec958-stereo+input:analog-stereo
	Ports:
		analog-input-front-mic: 前方麥克風 (type: Mic, priority: 8500, latency offset: 0 usec, availability group: Legacy 1, not available)
			Properties:
				port.type = "mic"
				port.availability-group = "Legacy 1"
				device.icon_name = "audio-input-microphone"
				card.profile.port = "0"
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:analog-surround-71+input:analog-stereo, output:iec958-stereo+input:analog-stereo
		analog-input-rear-mic: 後方麥克風 (type: Mic, priority: 8200, latency offset: 0 usec, availability group: Legacy 2, not available)
			Properties:
				port.type = "mic"
				port.availability-group = "Legacy 2"
				device.icon_name = "audio-input-microphone"
				card.profile.port = "1"
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:analog-surround-71+input:analog-stereo, output:iec958-stereo+input:analog-stereo
		analog-input-linein: 線路輸入 (type: Line, priority: 8100, latency offset: 0 usec, availability group: Legacy 3, not available)
			Properties:
				port.type = "line"
				port.availability-group = "Legacy 3"
				card.profile.port = "2"
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:analog-surround-71+input:analog-stereo, output:iec958-stereo+input:analog-stereo
		analog-output-lineout: 線路輸出 (type: Line, priority: 9000, latency offset: 0 usec, availability group: Legacy 4, not available)
			Properties:
				port.type = "line"
				port.availability-group = "Legacy 4"
				card.profile.port = "3"
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21, output:analog-surround-21+input:analog-stereo, output:analog-surround-40, output:analog-surround-40+input:analog-stereo, output:analog-surround-41, output:analog-surround-41+input:analog-stereo, output:analog-surround-50, output:analog-surround-50+input:analog-stereo, output:analog-surround-51, output:analog-surround-51+input:analog-stereo, output:analog-surround-71, output:analog-surround-71+input:analog-stereo
		analog-output-headphones: 頭戴式耳機 (type: Headphones, priority: 9900, latency offset: 0 usec, availability group: Legacy 5, not available)
			Properties:
				port.type = "headphones"
				port.availability-group = "Legacy 5"
				device.icon_name = "audio-headphones"
				card.profile.port = "4"
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
		iec958-stereo-output: 數位輸出 (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
			Properties:
				port.type = "spdif"
				card.profile.port = "5"
			Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:analog-stereo
[htpc@HTPC ~]$ LANG=C pactl list sinks
Sink #40
	State: SUSPENDED
	Name: alsa_output.pci-0000_01_00.1.hdmi-stereo
	Description: Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] 數位立體聲 (HDMI)
	Driver: PipeWire
	Sample Specification: s16le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
	Properties:
		alsa.card = "1"
		alsa.card_name = "HDA ATI HDMI"
		alsa.class = "generic"
		alsa.device = "3"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "HDMI 0"
		alsa.long_card_name = "HDA ATI HDMI at 0xefe60000 irq 34"
		alsa.name = "HDMI 0"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		api.alsa.card.longname = "HDA ATI HDMI at 0xefe60000 irq 34"
		api.alsa.card.name = "HDA ATI HDMI"
		api.alsa.path = "hdmi:1"
		api.alsa.pcm.card = "1"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "2"
		device.api = "alsa"
		device.class = "sound"
		device.id = "38"
		device.profile.description = "數位立體聲 (HDMI)"
		device.profile.name = "hdmi-stereo"
		device.routes = "1"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] 數位立體聲 (HDMI)"
		node.name = "alsa_output.pci-0000_01_00.1.hdmi-stereo"
		node.nick = "HDA ATI HDMI"
		node.pause-on-idle = "false"
		object.path = "alsa:pcm:1:hdmi:1:playback"
		priority.driver = "696"
		priority.session = "696"
		factory.id = "18"
		client.id = "32"
		node.driver = "true"
		factory.mode = "merge"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "40"
	Ports:
		hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, availability group: Legacy 1, not available)
	Active Port: hdmi-output-0
	Formats:
		pcm

Sink #41
	State: SUSPENDED
	Name: alsa_output.pci-0000_00_1b.0.iec958-stereo
	Description: Built-in Audio 數位立體聲 (IEC958)
	Driver: PipeWire
	Sample Specification: s16le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 48287 /  74% / -7.96 dB,   front-right: 48287 /  74% / -7.96 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor Source: alsa_output.pci-0000_00_1b.0.iec958-stereo.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY SET_FORMATS 
	Properties:
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.class = "generic"
		alsa.device = "1"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "ALC1150 Digital"
		alsa.long_card_name = "HDA Intel PCH at 0xeff10000 irq 33"
		alsa.name = "ALC1150 Digital"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		api.alsa.card.longname = "HDA Intel PCH at 0xeff10000 irq 33"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "iec958:0"
		api.alsa.pcm.card = "0"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "12"
		device.api = "alsa"
		device.class = "sound"
		device.id = "39"
		device.profile.description = "數位立體聲 (IEC958)"
		device.profile.name = "iec958-stereo"
		device.routes = "1"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "Built-in Audio 數位立體聲 (IEC958)"
		node.name = "alsa_output.pci-0000_00_1b.0.iec958-stereo"
		node.nick = "HDA Intel PCH"
		node.pause-on-idle = "false"
		object.path = "alsa:pcm:0:iec958:0:playback"
		priority.driver = "736"
		priority.session = "736"
		factory.id = "18"
		client.id = "32"
		node.driver = "true"
		factory.mode = "merge"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "41"
	Ports:
		iec958-stereo-output: 數位輸出 (S/PDIF) (type: SPDIF, priority: 0, availability unknown)
	Active Port: iec958-stereo-output
	Formats:
		pcm

Last edited by laichiaheng (2021-11-11 14:13:16)

Offline

#4 2021-11-11 14:36:22

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,325

Re: How to output audio via HDMI if EDID of my TV is not working?

The card is there but not default, check https://wiki.archlinux.org/title/Advanc … oting#HDMI

Offline

#5 2021-11-11 14:42:24

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

seth wrote:

The card is there but not default, check https://wiki.archlinux.org/title/Advanc … oting#HDMI

So I need to add radeon.audio=1 in the kernel parameter?
I didn't need to do this if I forced using another LCD's EDID binary file.

Last edited by laichiaheng (2021-11-11 14:44:33)

Offline

#6 2021-11-11 14:55:05

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,325

Re: How to output audio via HDMI if EDID of my TV is not working?

You need to test whether you can hear something when explicitly directing the audio output to the HDMI.
You're currently playing on the PCH by default and we need to know whether this is just a pipewire/pulseaudio doesn't properly™ redirect audio thing.

Offline

#7 2021-11-11 15:39:27

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

seth wrote:

You need to test whether you can hear something when explicitly directing the audio output to the HDMI.
You're currently playing on the PCH by default and we need to know whether this is just a pipewire/pulseaudio doesn't properly™ redirect audio thing.

I've tried aplay -l and other stuff below, none of them worked.
I also tried to play videos with MPV player, and tried to output the audio to certain device, but it didn't work either.

In the past, I copied another moniter's EDID binary to my htpc, and forced to use it in kernel parameter, and the sound did output successfully, although it only output the left channel to my both speaker (left and right) of TV.

Last edited by laichiaheng (2021-11-11 15:46:15)

Offline

#8 2021-11-11 15:52:29

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,325

Re: How to output audio via HDMI if EDID of my TV is not working?

I've tried aplay -l and other stuff below, none of them worked.

tried to play videos with MPV player, and tried to output the audio

https://bbs.archlinux.org/viewtopic.php?id=57855

copy and pasting the blue boxes in the wiki there won't work for pretty much sure.

I copied another moniter's EDID binary

1. Why do you have to copy the EDID? Is there an adapter involved?
2.

seth wrote:

but it would work at lower resolutions

Does it work if you don't enforce a resolution?

Offline

#9 2021-11-11 16:04:46

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

copy and pasting the blue boxes in the wiki there won't work for pretty much sure.

I didn't just copy and paste them to my terminal, I did look up the devices in aplay -l.

1. Why do you have to copy the EDID? Is there an adapter involved?
2.

seth wrote:

but it would work at lower resolutions

Does it work if you don't enforce a resolution?

1. Because it didn't output anything to my TV if I didn't copy another EDID binary for it in the past.
2. It didn't in the past, but it does now, that's why I am trying not to copy another EDID to do it, however, after I force to use my custom EDID binary this time, it returns lower resolution to me.

It's pain in the ass if the EDID of TV is broken.

Last edited by laichiaheng (2021-11-11 16:09:16)

Offline

#10 2021-11-11 16:08:48

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,325

Re: How to output audio via HDMI if EDID of my TV is not working?

I did look up the devices in aplay -l.

Good but that still doesn't indicate what kind of error you actually received, nor allows us to verify the correct procedure.

seth wrote:

Is there an adapter involved?

It didn't in the past, but it does now

Please clarify this: do you say that if you drive the output at a lower resolution, you do indeed get an audio output via HDMI?

Offline

#11 2021-11-11 16:12:34

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

seth wrote:

I did look up the devices in aplay -l.

Good but that still doesn't indicate what kind of error you actually received, nor allows us to verify the correct procedure.

seth wrote:

Is there an adapter involved?

It returns no error in the terminal.

It didn't in the past, but it does now

Please clarify this: do you say that if you drive the output at a lower resolution, you do indeed get an audio output via HDMI?

No, I mean if I didn't force to use my custom EDID binary, there was nothing output to my TV, but it does output at lower resolution today with my fresh install, I'm surprised, but no sound.
With my custom EDID, it output graphic at 1080p and sound, although it only output the left channel to my both speaker on my TV, but this method displays at 800*600 today with my fresh install.

Last edited by laichiaheng (2021-11-11 16:18:26)

Offline

#12 2021-11-11 21:25:25

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,325

Re: How to output audio via HDMI if EDID of my TV is not working?

Can you please post an Xorg log w/ and w/o your custom EDID?
800x600 doesn't sound like any reasonable EDID is applied, VESA alone should™ get you XGA (1024x768)

Also for the 3rd time

seth wrote:

Is there an adapter involved?

You can also try

xrandr --output HDMI-A-0 --set audio on # replace the output name

but I'm not optimistic that this is the cause here.

Offline

#13 2021-11-12 01:47:35

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

seth wrote:

Can you please post an Xorg log w/ and w/o your custom EDID?
800x600 doesn't sound like any reasonable EDID is applied, VESA alone should™ get you XGA (1024x768)

Also for the 3rd time

seth wrote:

Is there an adapter involved?

What is adapter?

You can also try

xrandr --output HDMI-A-0 --set audio on # replace the output name

but I'm not optimistic that this is the cause here.

I'm using Gnome Wayland, but I will try it on Gnome Xorg if I can use the TV.
I can't find any equivalent method on Gnome Wayland.

Last edited by laichiaheng (2021-11-12 02:30:42)

Offline

#14 2021-11-12 04:33:11

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

xrandr --output HDMI-A-0 --set audio on # replace the output name

but I'm not optimistic that this is the cause here.

[htpc@HTPC ~]$ xrandr --output HDMI-A-0 --set audio on
X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  11 (RRQueryOutputProperty)
  Serial number of failed request:  38
  Current serial number in output stream:  38

Bad result.

Offline

#15 2021-11-12 07:40:46

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,325

Re: How to output audio via HDMI if EDID of my TV is not working?

seth wrote:

replace the output name

… see "xrandr -q"

What is adapter?

This kind of stuff: https://www.amazon.de/FOINNEX-Konverter … B072NCTBVP

Offline

#16 2021-11-16 08:32:33

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

seth wrote:
seth wrote:

replace the output name

… see "xrandr -q"

What is adapter?

This kind of stuff: https://www.amazon.de/FOINNEX-Konverter … B072NCTBVP

After switching to Plasma desktop environment, all this shits are gone. It is a Gnome problem.
I've also tested pipewire on Plasma, it works as expected.
Which part of Gnome could cause this issue? Maybe I can report to them?

Last edited by laichiaheng (2021-11-16 09:00:27)

Offline

#17 2021-11-16 09:18:28

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,104

Re: How to output audio via HDMI if EDID of my TV is not working?

Shouldn't really be possible to be caused by that, unless the fact gnome has native pipewire integration breaks compared to "just" pulseaudio on plasma's side.

Things like potentially wayland/xorg I'd think more likely, did you use Wayland on GNOME and now Xorg on Plasma?

Offline

#18 2021-11-16 09:34:52

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

V1del wrote:

Shouldn't really be possible to be caused by that, unless the fact gnome has native pipewire integration breaks compared to "just" pulseaudio on plasma's side.

Things like potentially wayland/xorg I'd think more likely, did you use Wayland on GNOME and now Xorg on Plasma?

I use Wayland on both side, and pipewire on both side too, I'm sure that PulseAudio has been removed by me.
On Plasma Wayland, the left audio channel is sent to left speaker, right audio channel is sent to right speaker.
On Gnome (Xorg/Wayland), the left audio channel is sent to both speakers, I can't hear the right channel, it happened to PulseAudio too in the past, it has troubled me for years.

Last edited by laichiaheng (2021-11-16 09:41:48)

Offline

#19 2021-11-16 09:44:52

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,104

Re: How to output audio via HDMI if EDID of my TV is not working?

Plasma will use the pulse api to talk to pipewire while gnome will use pipewire's own api, the differences should™ be transparent to the end-user but maybe they aren't (and this really shouldn't matter with regards to where an established stream ultimately lands).

FWIW if you want to properly retest this on gnome. Post during working playback (in plasma)

sudo fuser -v /dev/snd/*
pactl list sinks
pactl list sink-inputs

repost that same from not working gnome. If the outputs generally match we will indeed have a gnome problem. In which case I'm suspecting an issue with how the compositor sets up the monitors, so component wise my guess would be on mutter.

Edit: Seeing this added information, GNOME wants to maintain it's own volume database, double check the exact volumes/balances for both the end device and lone streams in it's audio settings (... plasma generally leaves volume handling to whatever pipewire does by default)

Last edited by V1del (2021-11-16 09:47:17)

Offline

#20 2021-11-16 09:48:24

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

V1del wrote:

Plasma will use the pulse api to talk to pipewire while gnome will use pipewire's own api, the differences should™ be transparent to the end-user but maybe they aren't (and this really shouldn't matter with regards to where an established stream ultimately lands).

FWIW if you want to properly retest this on gnome. Post during working playback (in plasma)

sudo fuser -v /dev/snd/*
pactl list sinks
pactl list sink-inputs

repost that same from not working gnome. If the outputs generally match we will indeed have a gnome problem. In which case I'm suspecting an issue with how the compositor sets up the monitors, so component wise my guess would be on mutter.

I will try it 3 days later, I can not occupy the TV now.

Edit: Seeing this added information, GNOME wants to maintain it's own volume database, double check the exact volumes/balances for both the end device and lone streams in it's audio settings (... plasma generally leaves volume handling to whatever pipewire does by default)

Why are they doing that.........

Last edited by laichiaheng (2021-11-16 09:53:03)

Offline

#21 2021-11-16 09:57:03

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,104

Re: How to output audio via HDMI if EDID of my TV is not working?

Don't really know why and maybe this changed with the pipewire integration, definitely was (... and I'd assume still is) the case with pulseaudio

Offline

#22 2021-11-16 10:01:15

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

V1del wrote:

Don't really know why and maybe this changed with the pipewire integration, definitely was (... and I'd assume still is) the case with pulseaudio

I remembered several years ago, there was no such issue on Gnome, but one day it just happened.
When did they change it?

Offline

#23 2021-11-16 10:09:13

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,104

Re: How to output audio via HDMI if EDID of my TV is not working?

I'm not fiinding a reference to a pipewire change so maybe I just thought that was the case, checking https://gitlab.gnome.org/GNOME/gnome-co … nels/sound still just shows references to pulse, so the situation is likely the same. "Just happened" could've also been a change in kernel detection or so, and you might just need to fix the general volume situation. But that's speculation until you post these outputs during an attempt to play back.

Last edited by V1del (2021-11-16 10:09:37)

Offline

#24 2021-11-19 05:42:55

laichiaheng
Member
Registered: 2017-02-12
Posts: 297

Re: How to output audio via HDMI if EDID of my TV is not working?

Hi guys, it really isn't Gnome's fault, because I turn on my TV and PC today, and there is no right channel output to my TV, both of my speakers are left channel. However, I have found a way to make it work.

    1. I change my custom EDID(edid.bin) to bult-in EDID(1920x1080.bin).

    2. I change it(1920x1080.bin) back to my custom EDID(edid.bin).

    3. it works for no reason........Is it a kernel bug?

How stupid is this bug! It has troubled me for years!

Last edited by laichiaheng (2021-11-19 05:47:54)

Offline

#25 2021-11-19 07:12:37

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 74,325

Re: How to output audio via HDMI if EDID of my TV is not working?

seth like a broken vinyl wrote:

Is there an adapter involved?

Offline

Board footer

Powered by FluxBB