You are not logged in.

#1 2022-07-12 12:30:24

frankenstein
Member
Registered: 2022-07-12
Posts: 13

[SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Solution: Install the kernal driver for Cirrus Logic CS8409.

I have installed Arch on a late 2017 iMac. Everything goes fine except the sound. I tried installing the recommended firmware and configured alsa, but it still does not work. PAVU control shows dummy output. Here are the relevant outputs and configurations. (I am somewhat a noob so please correct my silly mistakes if any.)

First I note that I seem to have two sound cards, of which one is the AMD graphics card.

$ cat /proc/asound/cards
 0 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                      HDA ATI HDMI at 0x92660000 irq 60
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0x92720000 irq 59

$ lspci -v | grep -i audio
00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]

So I set the /etc/asound.conf files to:

defaults.pcm.card 1
defaults.pcm.device 1
defaults.ctl.card 1

And /etc/modprobe.d/modprobe.conf:

options snd_hda_intel model=imac27 index=1,0

I don't know which model to choose from since the controller seems to be Cirrus Logic CS8409 (checked by alsamixer), which does not appear in HD-Audio Codec-Specific Models.

Here are the outputs by aplay -lL, pacmd list-cards and pacmd list-sinks when a piece of music is playing:

$ aplay -lL
null
    Discard all samples (playback) or generate zero samples (capture)
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PulseAudio Sound Server)
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
hdmi:CARD=HDMI,DEV=2
    HDA ATI HDMI, HDMI 2
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
    HDA ATI HDMI, HDMI 3
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
    HDA ATI HDMI, HDMI 4
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=5
    HDA ATI HDMI, HDMI 5
    HDMI Audio Output
usbstream:CARD=HDMI
    HDA ATI HDMI
    USB Stream Output
usbstream:CARD=PCH
    HDA Intel PCH
    USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
$ pacmd list-cards
1 card(s) available.
    index: 0
	name: <alsa_card.pci-0000_01_00.1>
	driver: <module-alsa-card.c>
	owner module: 6
	properties:
		alsa.card = "0"
		alsa.card_name = "HDA ATI HDMI"
		alsa.long_card_name = "HDA ATI HDMI at 0x92660000 irq 60"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:01:00.1"
		sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0"
		device.bus = "pci"
		device.vendor.id = "1002"
		device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
		device.product.id = "aae0"
		device.product.name = "Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]"
		device.string = "0"
		device.description = "Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X]"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	profiles:
		output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: no)
		output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: no)
		output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: no)
		output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no)
		output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no)
		output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no)
		output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: no)
		output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (priority 600, available: no)
		output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (priority 600, available: no)
		output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (priority 5700, available: no)
		output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (priority 600, available: no)
		output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (priority 600, available: no)
		output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (priority 5700, available: no)
		output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (priority 600, available: no)
		output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (priority 600, available: no)
		output:hdmi-stereo-extra5: Digital Stereo (HDMI 6) Output (priority 5700, available: no)
		output:hdmi-surround-extra5: Digital Surround 5.1 (HDMI 6) Output (priority 600, available: no)
		output:hdmi-surround71-extra5: Digital Surround 7.1 (HDMI 6) Output (priority 600, available: no)
		off: Off (priority 0, available: unknown)
	active profile: <off>
	ports:
		hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "video-display"
		hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "video-display"
		hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "video-display"
		hdmi-output-3: HDMI / DisplayPort 4 (priority 5600, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "video-display"
		hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "video-display"
		hdmi-output-5: HDMI / DisplayPort 6 (priority 5400, latency offset 0 usec, available: no)
			properties:
				device.icon_name = "video-display"

Looks like the sound card is running.

pacmd list-sinks
1 sink(s) available.
  * index: 0
	name: <auto_null>
	driver: <module-null-sink.c>
	flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: RUNNING
	suspend cause: (none)
	priority: 1000
	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
	volume steps: 65537
	muted: no
	current latency: 13.83 ms
	max request: 12 KiB
	max rewind: 12 KiB
	monitor source: 0
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 1
	linked by: 1
	configured latency: 75.01 ms; range is 0.50 .. 2000.00 ms
	module: 16
	properties:
		device.description = "Dummy Output"
		device.class = "abstract"
		device.icon_name = "audio-card"

I've been testing this around for several days so I would appreciate any hint/help!!!

Last edited by frankenstein (2022-07-13 11:27:03)

Offline

#2 2022-07-12 12:46:29

dogknowsnx
Member
Registered: 2021-04-12
Posts: 648

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Which audio-related packages do you have installed?

pacman -Qs | grep "alsa\|pulse\|wire"

Notifications for Arch Linux package updates
RI - Rest your Eyes and Self

"We are eternal, all this pain is an illusion" - Maynard James Keenan

Offline

#3 2022-07-12 13:01:34

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

I have tried a lot so I have all of these. (Will this cause conflicts?)

local/alsa-card-profiles 1:0.3.54-1
local/alsa-firmware 1.2.4-2
    Firmware binaries for loader programs in alsa-tools and hotplug firmware loader
local/alsa-lib 1.2.7.1-1
local/alsa-plugins 1:1.2.7.1-1
local/alsa-topology-conf 1.2.5.1-1
local/alsa-ucm-conf 1.2.7.1-1
local/alsa-utils 1.2.7-1
    nl80211 based CLI configuration utility for wireless devices
local/lib32-alsa-lib 1.2.7.1-1
local/lib32-alsa-plugins 1.2.7.1-1
local/lib32-libpulse 16.1-1
local/libpulse 16.1-1
local/pipewire 1:0.3.54-1
local/pulseaudio 16.1-1
local/pulseaudio-alsa 1:1.2.7.1-1
local/pulseaudio-bluetooth 16.1-1

Offline

#4 2022-07-12 13:11:45

dogknowsnx
Member
Registered: 2021-04-12
Posts: 648

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

You'll have to decide between 'pulseaudio' and 'pipewire' and get rid of the other, respectively.
See the wiki for setting them up, e.g. pipewire.

Maybe that'll do to solve your issue...


Notifications for Arch Linux package updates
RI - Rest your Eyes and Self

"We are eternal, all this pain is an illusion" - Maynard James Keenan

Offline

#5 2022-07-12 13:20:28

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

I use gnome and it seems to depend on both pulseaudio (gnome-settings-daemon depends on it) and pipewire (mutter depends on it), so I cannot get rid of them (maybe?). I remember a long time ago when I used KDE in Arch the sound was also a problem.

Last edited by frankenstein (2022-07-12 13:21:16)

Offline

#6 2022-07-12 13:30:41

dogknowsnx
Member
Registered: 2021-04-12
Posts: 648

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

If you opt for 'pipewire', install 'pipewire-pulse' as well, which will provide/replace 'pulseaudio'...

Last edited by dogknowsnx (2022-07-12 13:32:49)


Notifications for Arch Linux package updates
RI - Rest your Eyes and Self

"We are eternal, all this pain is an illusion" - Maynard James Keenan

Offline

#7 2022-07-12 13:44:41

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Installed pipewire but still not working. I suspect the problem would be in the configurations (but shouldn't the drivers work out of the box or only with few tweaks in most cases?).

Output of

pacman -Qs | grep "alsa\|pulse\|wire"
local/alsa-card-profiles 1:0.3.54-1
local/alsa-firmware 1.2.4-2
    Firmware binaries for loader programs in alsa-tools and hotplug firmware loader
local/alsa-lib 1.2.7.1-1
local/alsa-plugins 1:1.2.7.1-1
local/alsa-topology-conf 1.2.5.1-1
local/alsa-ucm-conf 1.2.7.1-1
local/alsa-utils 1.2.7-1
    nl80211 based CLI configuration utility for wireless devices
local/lib32-alsa-lib 1.2.7.1-1
local/lib32-alsa-plugins 1.2.7.1-1
local/lib32-libpulse 16.1-1
local/libpulse 16.1-1
local/pipewire 1:0.3.54-1
local/pipewire-media-session 1:0.4.1-2
local/pipewire-pulse 1:0.3.54-1.0
local/pulseaudio-alsa 1:1.2.7.1-1

Last edited by frankenstein (2022-07-12 13:45:55)

Offline

#8 2022-07-12 13:49:03

dogknowsnx
Member
Registered: 2021-04-12
Posts: 648

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

dogknowsnx wrote:

If you opt for 'pipewire', install 'pipewire-pulse' as well, which will provide/replace 'pulseaudio'...

Same goes for 'pipewire-alsa' <-> 'pulseaudio-alsa' - please be mindful of the wiki...


Notifications for Arch Linux package updates
RI - Rest your Eyes and Self

"We are eternal, all this pain is an illusion" - Maynard James Keenan

Offline

#9 2022-07-12 13:53:02

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Yep I noted that. But I couldn't remove pulseaudio-alsa. When installing pipewire-pulse, pacman substituted pipewire for pulseaudio, but it did not say pulseaudio-alsa was in conflict, and it refused to execute pacman -Rn pulseaudio-alsa with dependency requirements.

Offline

#10 2022-07-12 13:57:09

dogknowsnx
Member
Registered: 2021-04-12
Posts: 648

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

If you try to remove a dependency without replacing it, pacman will protect your system by aborting. Simply install 'pipewire-alsa' and pacman will replace 'pulsaudio-alsa' - reboot and cross fingers smile

Last edited by dogknowsnx (2022-07-12 13:57:28)


Notifications for Arch Linux package updates
RI - Rest your Eyes and Self

"We are eternal, all this pain is an illusion" - Maynard James Keenan

Offline

#11 2022-07-12 14:13:38

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Ah thanks for the pacman information.
However, this still does not work, no sound and dummy output --- I note that /etc/pipewire/pipewire-pulse.conf does not exist (as in PipeWire#No_Sound_or_pactl_info_shows_Failure:_Connection_refused), although ls /etc/pipewire gives

client.conf.d     minimal.conf.d   pipewire-pulse.conf.d
client-rt.conf.d  pipewire.conf.d

(empty directories)

Any more configurations required?

Last edited by frankenstein (2022-07-12 14:15:34)

Offline

#12 2022-07-12 14:24:48

dogknowsnx
Member
Registered: 2021-04-12
Posts: 648

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Then try and copy the config

#cp -vi /usr/share/pipewire/pipewire-pulse.conf /etc/pipewire/

If still not playing ball, please post the strace...

EDIT: Also

#pacman -Syu

since there's a pipewire update available already...

Last edited by dogknowsnx (2022-07-12 14:31:03)


Notifications for Arch Linux package updates
RI - Rest your Eyes and Self

"We are eternal, all this pain is an illusion" - Maynard James Keenan

Offline

#13 2022-07-12 14:38:06

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Here's strace's result.

Offline

#14 2022-07-12 14:53:43

dogknowsnx
Member
Registered: 2021-04-12
Posts: 648

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

No mention of imac 18.2, but maybe worth trying:
https://wiki.archlinux.org/title/IMac_A … work_right

EDIT:

frankenstein wrote:

Here's strace's result.

The linked site doesn't open for me

Last edited by dogknowsnx (2022-07-12 15:04:42)


Notifications for Arch Linux package updates
RI - Rest your Eyes and Self

"We are eternal, all this pain is an illusion" - Maynard James Keenan

Offline

#15 2022-07-12 15:05:08

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Yep that was tried before. I also tried other models that fit with Cirrus Logic CS8409 more but no hope so far.

Update for strace: How about this link?
https://pastebin.ubuntu.com/p/fkZtNr3476/

Last edited by frankenstein (2022-07-12 15:13:05)

Offline

#16 2022-07-12 15:08:20

dogknowsnx
Member
Registered: 2021-04-12
Posts: 648

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

frankenstein wrote:

Yep that was tried before. I also tried other models that fit with Cirrus Logic CS8409 more but no hope so far.

Oops, have missed that one...

EDIT:
https://wiki.archlinux.org/title/Advanc … A_firmware ?

Last edited by dogknowsnx (2022-07-12 15:48:47)


Notifications for Arch Linux package updates
RI - Rest your Eyes and Self

"We are eternal, all this pain is an illusion" - Maynard James Keenan

Offline

#17 2022-07-12 15:52:39

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Yep I've also installed sof.

Offline

#18 2022-07-12 15:57:51

dogknowsnx
Member
Registered: 2021-04-12
Posts: 648

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Try /etc/asound.conf:

defaults.pcm.card 0
defaults.ctl.card 0

EDIT:
I presume you already did

amixer sset Master unmute
amixer sset Speaker unmute
amixer sset Headphone unmute

Last edited by dogknowsnx (2022-07-12 16:00:18)


Notifications for Arch Linux package updates
RI - Rest your Eyes and Self

"We are eternal, all this pain is an illusion" - Maynard James Keenan

Offline

#19 2022-07-12 16:12:34

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

Yep unmuted but not working.
A clue: Previously I note that amixer sset Speaker unmute gives

amixer: Unable to find simple control 'Speaker',0

The same for Headphone, but Master is fine.

Last edited by frankenstein (2022-07-12 16:13:02)

Offline

#20 2022-07-12 17:36:58

dogknowsnx
Member
Registered: 2021-04-12
Posts: 648

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

You could try a different session manager - it is recommended to use wireplumber in the arch wiki, which comes with/allows for a more finegrained configuration than 'pipewire-media-session'...


Notifications for Arch Linux package updates
RI - Rest your Eyes and Self

"We are eternal, all this pain is an illusion" - Maynard James Keenan

Offline

#21 2022-07-12 20:16:58

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

pulseaudio  or pipewire are completely irrelevant if the device does not appear in aplay -l, if there's no valid ALSA device then neither pulse nor pipewire can access anything.

If you remove the modprobe config as well as the custom asound.conf and reboot what is your output for

aplay -lL
sudo dmesg | grep snd

FWIW while we can look at these outputs, I'm fairly certain this won't be workable without actual kernel changes. There's this repo for an out of tree driver and patches: https://github.com/davidjo/snd_hda_macbookpro no clue how well this works.

Last edited by V1del (2022-07-12 20:20:27)

Online

#22 2022-07-13 08:28:35

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

V1del wrote:

FWIW while we can look at these outputs, I'm fairly certain this won't be workable without actual kernel changes. There's this repo for an out of tree driver and patches: https://github.com/davidjo/snd_hda_macbookpro no clue how well this works.

An interesting observation is that I changed to the 4.19 kernel instead today and the dummy output disappeared. However, still no sound.

Last edited by frankenstein (2022-07-13 08:29:21)

Offline

#23 2022-07-13 08:50:03

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

And it was replaced by? Normal default config is to just allocate a dummy output so that application expecting any form of audio device being present don't crash if no valid card can be found. Can you post the aplay/dmesg/pactl outputs from that kernel?

FWIW assuming the HDMI card is always evaluated first the correct way to do that modprobe configuration would be

options snd_hda_intel model=auto,imac27

the index value just assigns the indexes to the cards it finds , it does not actually define which card a certain parameter is applied to.

Last edited by V1del (2022-07-13 10:31:12)

Online

#24 2022-07-13 11:22:14

frankenstein
Member
Registered: 2022-07-12
Posts: 13

Re: [SOLVED] Sound does not work with 'dummy output' on iMac 18,2

V1del wrote:

FWIW while we can look at these outputs, I'm fairly certain this won't be workable without actual kernel changes. There's this repo for an out of tree driver and patches: https://github.com/davidjo/snd_hda_macbookpro no clue how well this works.

This patch definitely works (both in 4.19 and 5.15, I have to switch back to 5.15 because the magic mouse does not work completely in 4.19). I should have searched for Cirrus 8409. Thanks and cheers!!!
(btw Input has not been tested yet.)

Offline

Board footer

Powered by FluxBB