No sound Digital Stereo (HDMI) Output

HI everyone, I’m very new to Manjaro and Linux in general.

I have no sound when I select the Digital Stereo Output Profile. However when i select the Analog Surround audio works (terrible quality and the only way to control volume is through toggling the PCM in alsamixer, the master volume doesn’t do anything).

When i run aplay -l get this hardware devices

**** List of PLAYBACK Hardware Devices ****
    card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
      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 0: HDMI [HDA Intel HDMI], device 9: HDMI 3 [HDMI 3]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 0: HDMI [HDA Intel HDMI], device 10: HDMI 4 [HDMI 4]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: PCH [HDA Intel PCH], device 0: CS4208 Analog [CS4208 Analog]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: PCH [HDA Intel PCH], device 1: CS4208 Digital [CS4208 Digital]
      Subdevices: 1/1
      Subdevice #0: subdevice #0

How can i make the digital stereo output work?

Thanks everyone!

Also when i run inxi -Aa

Audio:
  Device-1: Intel Broadwell-U Audio vendor: Apple driver: snd_hda_intel 
  v: kernel bus-ID: 00:03.0 chip-ID: 8086:160c class-ID: 0403 
  Device-2: Intel 9 Series Family HD Audio driver: snd_hda_intel 
  v: kernel bus-ID: 00:1b.0 chip-ID: 8086:8ca0 class-ID: 0403 
  Sound Server-1: ALSA v: k5.10.34-1-MANJARO running: yes 
  Sound Server-2: JACK v: 0.125.0 running: no 
  Sound Server-3: PulseAudio v: 14.2 running: yes 
  Sound Server-4: PipeWire v: 0.3.26 running: no

Welcome to Manjaro Forum

An Apple system with Cirrus CS4208 audio codec could be either a MacBookAir/MacBookPro/MacMini that already has an ALSA kernel patch

Please post more information to identify your system

inxi -SMa

But your system may not need a kernel patch and the HDMI audio device might just be muted, suspended or not available in PulseAudio
So please post more information about PulseAudio configuration

pacmd dump

Hi @nikgnomic , thank you for your answer!

This is the inxi -SMa

System:    Host: nader-mac Kernel: 5.10.34-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0 
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64 root=UUID=09982392-c36f-4254-bb77-c907e84f2729 rw quiet 
           apparmor=1 security=apparmor udev.log_priority=3 
           Desktop: KDE Plasma 5.21.4 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM Distro: Manjaro Linux base: Arch Linux 
Machine:   Type: Desktop System: Apple product: iMac16,2 v: 1.0 serial: <superuser required> Chassis: type: 13 
           v: Mac-FFE5EF870D7BA81A serial: <superuser required> 
           Mobo: Apple model: Mac-FFE5EF870D7BA81A v: iMac16,2 serial: <superuser required> UEFI: Apple v: 426.0.0.0.0 
           date: 12/17/2020 

And this is the pcmd dump

suspend-sink combined yes
set-sink-volume alsa_output.pci-0000_00_1b.0.analog-surround-40 0x4081
set-sink-mute alsa_output.pci-0000_00_1b.0.analog-surround-40 no
suspend-sink alsa_output.pci-0000_00_1b.0.analog-surround-40 yes
set-sink-volume alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2 0x6660
set-sink-mute alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2 no
suspend-sink alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2 yes

set-source-volume combined.monitor 0x10000
set-source-mute combined.monitor no
suspend-source combined.monitor yes
set-source-volume alsa_output.pci-0000_00_1b.0.analog-surround-40.monitor 0x10000
set-source-mute alsa_output.pci-0000_00_1b.0.analog-surround-40.monitor no
suspend-source alsa_output.pci-0000_00_1b.0.analog-surround-40.monitor yes
set-source-volume alsa_input.pci-0000_00_1b.0.analog-stereo 0x10000
set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo no
suspend-source alsa_input.pci-0000_00_1b.0.analog-stereo yes
set-source-volume alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2.monitor 0x10000
set-source-mute alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2.monitor no
suspend-source alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2.monitor yes

set-card-profile alsa_card.pci-0000_00_03.0 output:hdmi-stereo-extra2
set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-surround-40+input:analog-stereo

set-default-sink combined
set-default-source alsa_input.pci-0000_00_1b.0.analog-stereo

### EOF

pacmd dump data is incomplete so I cannot check if the correct modules are loaded

Response data is also missing data for the Simultaneous Output ( combined ) sink
but I would suggest you remove that sink anyway to make troubleshooting the other sinks easier
Considering you are using KDE, you probably just need to turn off the option in Advanced audio settings

Then reboot system to make sure the module is not loaded

And use this command set the HDMI output as the default sink

set-default-sink alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2

I also suggest you change the card profile for the onboard audio to use a profile with a stereo output instead of a 4.0 surround output, because the onboard audio probably cannot support 4.0 surround audio

The onboard audio codec (Cirrus Logic CS4208) only has one analog audio subdevice available in ALSA

HW probe of Apple Mac-FFE5EF870D7BA81A… (iMac16,2) #74e99d5666: aplay

 card 1: PCH [HDA Intel PCH], device 0: CS4208 Analog [CS4208 Analog]
    Subdevices: 1/1
     Subdevice #0: subdevice #0

The headphone jack is only capable of supporting analog stereo output
(but if the headphone jack is used for digital SPDIF (IEC958) output the codec should be able to support digital 5.1 Surround audio)

hello @nikgnomic , I double checked pacmd dump and inxi -SMa and I copied all of them fully, so I don’t know if the system is missing something that I’m not aware.

I turned off from the Advanced audio settings both the options. Set HDMI output as default sink and changed the card profile to a stereo output, but nothing changed

pacmd dump would usually show the loaded PulseAudio modules before data about sinks and sources
and the combined sink should show volume level and mute state like the other devices

The missing data was not a problem and I thought it was just an incomplete copy/paste
If data is misreported repeatedly in the terminal that is more of a problem than one audio output
If a diagnostic is not working right

Please post response to this command to show active pulseaudio modules

pactl list short modules

If audio is still not working as intended I expect data to show module-combined-sink is still present

Hello, this is the pactl list short modules

1       module-combine-sink     sink_name=combined
2       module-device-restore
3       module-stream-restore
4       module-card-restore
5       module-augment-properties
6       module-switch-on-port-available
8       module-udev-detect      ignore_dB=1
9       module-alsa-card        device_id="0" name="pci-0000_00_03.0" card_name="alsa_card.pci-0000_00_03.0" namereg_fail=fa
lse tsched=yes fixed_latency_range=no ignore_dB=yes deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="mod
ule-udev-detect.discovered=1"
10      module-alsa-card        device_id="1" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=fa
lse tsched=yes fixed_latency_range=no ignore_dB=yes deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="mod
ule-udev-detect.discovered=1"
11      module-jackdbus-detect  channels=2
12      module-bluetooth-policy
13      module-bluetooth-discover
14      module-bluez5-discover
15      module-dbus-protocol
16      module-native-protocol-unix
17      module-gsettings
18      module-default-device-restore
19      module-always-sink
20      module-intended-roles
21      module-suspend-on-idle
22      module-console-kit
23      module-systemd-login
24      module-position-event-sounds
25      module-role-cork
26      module-filter-heuristics
27      module-filter-apply
28      module-cli-protocol-unix

Indeed audio is still not working and module-combined-sink is present… what can I do?

The module can be unloaded with this command

pactl unload-module module-combine-sink

But it may be reloaded when system is restarted, if it has been permanently added to Pulseaudio

If module-combine-sink was not added using KDE settings, It might have been added using Pulseaudio GUI package for Pulseaudio Preferences - paprefs

Or it might have been added to Pulseaudio configuration file /etc/pulse/default.pa or ~/.config/pulse/default.pa

use this command to check both files

grep module-combine /etc/pulse/default.pa ~/.config/pulse/default.pa

I deleted and freshly installed manjaro, the pacmd dump changed

### Configuration dump generated at Wed May 19 12:34:12 2021

load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
load-module module-augment-properties
load-module module-switch-on-port-available
load-module module-udev-detect
load-module module-alsa-card device_id="0" name="pci-0000_00_03.0" card_name="alsa_card.pci-0000_00_03.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev
-detect.discovered=1"
load-module module-alsa-card device_id="1" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev
-detect.discovered=1"
load-module module-jackdbus-detect channels=2
load-module module-bluetooth-policy
load-module module-bluetooth-discover
load-module module-bluez5-discover
load-module module-dbus-protocol
load-module module-native-protocol-unix
load-module module-gsettings
load-module module-default-device-restore
load-module module-always-sink
load-module module-intended-roles
load-module module-suspend-on-idle
load-module module-console-kit
load-module module-systemd-login
load-module module-position-event-sounds
load-module module-role-cork
load-module module-filter-heuristics
load-module module-filter-apply
load-module module-x11-publish display=:0 xauthority=/home/nader/.Xauthority
load-module module-x11-xsmp display=:0 xauthority=/home/nader/.Xauthority session_manager=local/nader-mac:@/tmp/.ICE-unix/1038,unix/nader-mac:/tmp/.ICE-unix/1038
load-module module-cli-protocol-unix

set-sink-volume alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2 0x10000
set-sink-mute alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2 no
suspend-sink alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2 yes
set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo 0xdb1d
set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo no
suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo yes

set-source-volume alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2.monitor 0x10000
set-source-mute alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2.monitor no
suspend-source alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2.monitor yes
set-source-volume alsa_output.pci-0000_00_1b.0.analog-stereo.monitor 0x10000
set-source-mute alsa_output.pci-0000_00_1b.0.analog-stereo.monitor no
suspend-source alsa_output.pci-0000_00_1b.0.analog-stereo.monitor yes
set-source-volume alsa_input.pci-0000_00_1b.0.analog-stereo 0x76d3
set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo no
suspend-source alsa_input.pci-0000_00_1b.0.analog-stereo yes

set-card-profile alsa_card.pci-0000_00_03.0 output:hdmi-stereo-extra2
set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo+input:analog-stereo

set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo
set-default-source alsa_input.pci-0000_00_1b.0.analog-stereo

When i run grep module-combine /etc/pulse/default.pa ~/.config/pulse/default.pa

grep: /home/nader/.config/pulse/default.pa: No such file or directory

The pacmd dump data is complete and looks exactly as expected for a fresh install :sweat_smile:

No combined sink, just the 2 outputs for HDMI and analog

You should be able to redirect audio streams in Audio Controls GUI from the default analog audio to HDMI

If you want to change the default playback to HDMI use this command

pacmd set-default-sink alsa_output.pci-0000_00_03.0.hdmi-stereo-extra2