You are not logged in.
Pages: 1
I've just installed Q4OS on an old laptop that was running Windows 10. I've got everything working except HDMI audio. The sound cuts in-and-out and when it is in, sounds distorted (like too much gain). If I switch to the laptop's internal speakers everything is fine.
I tried searching for a solution but everything I've read tells me to edit config files that don't exist on my system.
Offline
Welcome to the forum ![]()
Please open a terminal and run:
$ inxi -A
Then, with HDMI selected as the audio output, run:
$ pactl list sinks
Post both outputs here. Since the internal speakers work correctly, let's first identify the HDMI audio device and its profile before changing any configuration files.
Offline
Ok. Here's the output.
john@q4os-desktop:~$ inxi -A
Audio:
Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio
driver: snd_hda_intel
Device-2: Intel 8 Series/C220 Series High Definition Audio
driver: snd_hda_intel
API: ALSA v: k6.12.101+deb13-amd64 status: kernel-api
Server-1: PipeWire v: 1.4.2 status: active
john@q4os-desktop:~$ pactl list sinks
Sink #57
State: SUSPENDED
Name: alsa_output.pci-0000_00_1b.0.analog-stereo
Description: Built-in Audio Analog Stereo
Driver: PipeWire
Sample Specification: s32le 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_00_1b.0.analog-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "1"
alsa.card_name = "HDA Intel PCH"
alsa.class = "generic"
alsa.components = "HDA:111d76e0,103c1966,00100303"
alsa.device = "0"
alsa.driver_name = "snd_hda_intel"
alsa.id = "92HD91BXX Analog"
alsa.long_card_name = "HDA Intel PCH at 0xb2714000 irq 38"
alsa.mixer_name = "IDT 92HD91BXX"
alsa.name = "92HD91BXX Analog"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "HDA Intel PCH at 0xb2714000 irq 38"
api.alsa.card.name = "HDA Intel PCH"
api.alsa.path = "front:1"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "3"
device.api = "alsa"
device.class = "sound"
device.icon_name = "audio-card-analog"
device.id = "49"
device.profile.description = "Analog Stereo"
device.profile.name = "analog-stereo"
device.routes = "2"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "Built-in Audio"
node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo"
node.nick = "92HD91BXX Analog"
node.pause-on-idle = "false"
object.path = "alsa:acp:PCH:3:playback"
port.group = "playback"
priority.driver = "1009"
priority.session = "1009"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "47"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "35"
object.serial = "57"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "1"
api.alsa.split-enable = "true"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio1"
api.dbus.ReserveDevice1.Priority = "-20"
device.bus = "pci"
device.bus_path = "pci-0000:00:1b.0"
device.enum.api = "udev"
device.form_factor = "internal"
device.name = "alsa_card.pci-0000_00_1b.0"
device.nick = "HDA Intel PCH"
device.plugged.usec = "11047693"
device.product.id = "0x8c20"
device.product.name = "8 Series/C220 Series Chipset High Definition Audio Controller"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
spa.object.id = "4"
device.string = "1"
Ports:
analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability group: Legacy 3, availability unknown)
analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability group: Legacy 4, not available)
Active Port: analog-output-speaker
Formats:
pcm
Sink #497
State: RUNNING
Name: alsa_output.pci-0000_00_03.0.hdmi-stereo
Description: Built-in Audio Digital Stereo (HDMI)
Driver: PipeWire
Sample Specification: s32le 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_00_03.0.hdmi-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS
Properties:
alsa.card = "0"
alsa.card_name = "HDA Intel HDMI"
alsa.class = "generic"
alsa.components = "HDA:80862807,80860101,00100000"
alsa.device = "3"
alsa.driver_name = "snd_hda_intel"
alsa.id = "HDMI 0"
alsa.long_card_name = "HDA Intel HDMI at 0xb2710000 irq 37"
alsa.mixer_name = "Intel Haswell HDMI"
alsa.name = "LG TV"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "HDA Intel HDMI at 0xb2710000 irq 37"
api.alsa.card.name = "HDA Intel HDMI"
api.alsa.path = "hdmi:0"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "3"
device.api = "alsa"
device.class = "sound"
device.icon_name = "audio-card-analog"
device.id = "48"
device.profile.description = "Digital Stereo (HDMI)"
device.profile.name = "hdmi-stereo"
device.routes = "1"
factory.name = "api.alsa.pcm.sink"
iec958.codecs = "[\"PCM\"]"
media.class = "Audio/Sink"
device.description = "Built-in Audio"
node.name = "alsa_output.pci-0000_00_03.0.hdmi-stereo"
node.nick = "LG TV"
node.pause-on-idle = "false"
object.path = "alsa:acp:HDMI:3:playback"
port.group = "playback"
priority.driver = "696"
priority.session = "696"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "47"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "43"
object.serial = "497"
node.max-latency = "16384/48000"
api.alsa.period-size = "1024"
api.alsa.period-num = "32"
api.alsa.headroom = "0"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "0"
api.alsa.split-enable = "true"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio0"
api.dbus.ReserveDevice1.Priority = "-20"
device.bus = "pci"
device.bus_path = "pci-0000:00:03.0"
device.enum.api = "udev"
device.form_factor = "internal"
device.name = "alsa_card.pci-0000_00_03.0"
device.nick = "HDA Intel HDMI"
device.plugged.usec = "10915591"
device.product.id = "0x0c0c"
device.product.name = "Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
spa.object.id = "2"
device.string = "0"
Ports:
hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, availability group: Legacy 1, available)
Active Port: hdmi-output-0
Formats:
pcmOffline
This shows that the HDMI audio device is detected correctly:
Intel Haswell HDMI (`snd_hda_intel`)
LG TV is detected as the HDMI output
PipeWire is using the HDMI sink
The HDMI output is available and currently running at 48 kHz stereo
So there is no obvious missing driver or configuration file problem. Check whether the distortion is also present when bypassing PipeWire. With the TV connected, run:
$ speaker-test -D hw:0,3 -c 2 -t pink
Let it run for a few seconds and check whether the sound is still cutting out/distorted.
Press `Ctrl+C` to stop it.
Please post the result and let us know whether the test sound is clean or distorted/cutting out. This will help determine whether the problem is with ALSA/HDMI itself or with PipeWire.
Offline
I didn't get any sound at all with that command:
john@q4os-desktop:~$ speaker-test -D hw:0,3 -c 2 -t pink
speaker-test 1.2.14
Playback device is hw:0,3
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 524288
Period size range from 32 to 262144
Periods = 4
was set period_size = 12000
was set buffer_size = 48000
0 - Front Left
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed: Input/output errorOffline
The direct ALSA test also fails, so this doesn't look like a simple PipeWire volume or profile setting. Please run the following immediately after reproducing the problem:
$ dmesg | grep -iE 'snd|hda|hdmi|audio'
$ aplay -l
Please post both outputs. The first command may show an HDMI/Intel HDA error from the kernel, while `aplay -l` will confirm which ALSA HDMI device is available.
Offline
john@q4os-desktop:~$ dmesg | grep -iE 'snd|hda|hdmi|audio'
[ 10.834249] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 10.912320] snd_hda_codec_idt hdaudioC1D0: autoconfig for 92HD91BXX: line_outs=1 (0xd/0x0/0x0/0x0/0x0) type:speaker
[ 10.912327] snd_hda_codec_idt hdaudioC1D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 10.912330] snd_hda_codec_idt hdaudioC1D0: hp_outs=1 (0xb/0x0/0x0/0x0/0x0)
[ 10.912332] snd_hda_codec_idt hdaudioC1D0: mono: mono_out=0x0
[ 10.912334] snd_hda_codec_idt hdaudioC1D0: inputs:
[ 10.912336] snd_hda_codec_idt hdaudioC1D0: Mic=0xa
[ 10.912338] snd_hda_codec_idt hdaudioC1D0: Internal Mic=0x11
[ 10.916009] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input14
[ 10.916074] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input15
[ 10.916125] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input16
[ 11.052374] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card1/input17
[ 11.052472] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card1/input18
[ 11.053458] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card1/input19
john@q4os-desktop:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [LG TV]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: 92HD91BXX Analog [92HD91BXX Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0Offline
The HDMI hardware is detected correctly, and there are no obvious HDMI/HDA errors in `dmesg`. The Intel HDMI controller provides three PCM devices:
device 3: HDMI 0 [LG TV]
device 7: HDMI 1 [HDMI 1]
device 8: HDMI 2 [HDMI 2]
Let's test the other HDMI devices as well.
With the TV connected, try:
$ speaker-test -D hw:0,7 -c 2 -t pink
If that gives an error, stop it with `Ctrl+C` and try:
$ speaker-test -D hw:0,8 -c 2 -t pink
You don't need to wait long — a few seconds is enough.
Please report what happens with `hw:0,7` and `hw:0,8` (sound, no sound, or an error). The important point is that `hw:0,3` is the HDMI device currently detected as the LG TV, but we should verify the other HDMI codecs before changing any system configuration.
Offline
I ran those commands and got the same result.
john@q4os-desktop:~$ speaker-test -D hw:0,7 -c 2 -t pink
speaker-test 1.2.14
Playback device is hw:0,7
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 524288
Period size range from 32 to 262144
Periods = 4
was set period_size = 12000
was set buffer_size = 48000
0 - Unknown
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed: Input/output error
john@q4os-desktop:~$ speaker-test -D hw:0,8 -c 2 -t pink
speaker-test 1.2.14
Playback device is hw:0,8
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 524288
Period size range from 32 to 262144
Periods = 4
was set period_size = 12000
was set buffer_size = 48000
0 - Unknown
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed: Input/output errorThen I played some (scratchy) audio via Kodi and retried the test and got a slightly different result. The first test on 0,7 ran and I had to hit ctrl-c to stop it. Still no audio with the test, though.
john@q4os-desktop:~$ speaker-test -D hw:0,7 -c 2 -t pink
speaker-test 1.2.14
Playback device is hw:0,7
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 524288
Period size range from 32 to 262144
Periods = 4
was set period_size = 12000
was set buffer_size = 48000
0 - Unknown
1 - Unknown
Time per period = 35.828018
0 - Unknown
1 - Unknown
Time per period = 32.484414
0 - Unknown
1 - Unknown
Time per period = 70.555540
0 - Unknown
1 - Unknown
^CTime per period = 11.360336
john@q4os-desktop:~$ speaker-test -D hw:0,8 -c 2 -t pink
speaker-test 1.2.14
Playback device is hw:0,8
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 524288
Period size range from 32 to 262144
Periods = 4
was set period_size = 12000
was set buffer_size = 48000
0 - Unknown
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed: Input/output errorOffline
It looks like this is not simply a PipeWire configuration problem, since the direct ALSA tests also fail. Check reports to the HDMI audio driver. Please run:
$ cat /proc/asound/card0/eld#3.0
$ cat /proc/asound/card0/eld#7.0
$ cat /proc/asound/card0/eld#8.0
Then run:
$ cat /sys/class/drm/card0-*/status
Please post the complete output. Don't change any configuration files yet.
Offline
john@q4os-desktop:~$ cat /proc/asound/card0/eld#3.0
cat: /proc/asound/card0/eld#3.0: No such file or directory
john@q4os-desktop:~$ cat /proc/asound/card0/eld#7.0
cat: /proc/asound/card0/eld#7.0: No such file or directory
john@q4os-desktop:~$ cat /proc/asound/card0/eld#8.0
cat: /proc/asound/card0/eld#8.0: No such file or directory
john@q4os-desktop:~$ cat /sys/class/drm/card0-*/status
connected
disconnectedSeeing the "No such file or directory", here's this - hopefully it'll help:
john@q4os-desktop:~$ tree -a /proc/asound
/proc/asound
├── card0
│ ├── codec#0
│ ├── eld#0.0
│ ├── eld#0.1
│ ├── eld#0.2
│ ├── id
│ ├── pcm3p
│ │ ├── info
│ │ └── sub0
│ │ ├── hw_params
│ │ ├── info
│ │ ├── prealloc
│ │ ├── prealloc_max
│ │ ├── status
│ │ └── sw_params
│ ├── pcm7p
│ │ ├── info
│ │ └── sub0
│ │ ├── hw_params
│ │ ├── info
│ │ ├── prealloc
│ │ ├── prealloc_max
│ │ ├── status
│ │ └── sw_params
│ └── pcm8p
│ ├── info
│ └── sub0
│ ├── hw_params
│ ├── info
│ ├── prealloc
│ ├── prealloc_max
│ ├── status
│ └── sw_params
├── card1
│ ├── codec#0
│ ├── id
│ ├── pcm0c
│ │ ├── info
│ │ └── sub0
│ │ ├── hw_params
│ │ ├── info
│ │ ├── prealloc
│ │ ├── prealloc_max
│ │ ├── status
│ │ └── sw_params
│ └── pcm0p
│ ├── info
│ └── sub0
│ ├── hw_params
│ ├── info
│ ├── prealloc
│ ├── prealloc_max
│ ├── status
│ └── sw_params
├── cards
├── devices
├── HDMI -> card0
├── hwdep
├── modules
├── oss
│ ├── devices
│ └── sndstat
├── PCH -> card1
├── pcm
├── seq
│ ├── clients
│ ├── drivers
│ ├── queues
│ └── timer
├── timers
└── version
17 directories, 55 filesLast edited by jokabomo (2026-08-13 18:33)
Offline
The mistake was simply the ELD filename: ALSA uses `eld#0.0`, `eld#0.1`, and `eld#0.2` here, corresponding to PCM 3/7/8. The `connected / disconnected` result is also useful.
That explains the "No such file" errors - the ELD files on this system are named `eld#0.0`, `eld#0.1`, and `eld#0.2`.
Please run:
$ cat /proc/asound/card0/eld#0.0
$ cat /proc/asound/card0/eld#0.1
$ cat /proc/asound/card0/eld#0.2
Also, run:
$ for f in /sys/class/drm/card0-*/status; do echo "$f: $(cat "$f")"; done
The first command will show what the display reports to the HDMI audio driver. The second will tell us exactly which HDMI/DP connector is connected. Please post the complete output of both commands.
Offline
Pages: 1