You are not logged in.
I have a Intel NUC6CAYH PC, attached to a audio receiver via optical out.
The machine is not locally used (except for emergencies and maintenance). It's a server, no GUI installed.
The desired scenario is that mpd is able to output sound via optical out to the receiver. I also tried to test setups with remote login, but this didn't help. A user exists and belongs to the audio group.
Preliminary test of audio output with mpg123 fails (started over ssh):
mpg123 /srv/media/Music/Aramzamzam.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
version 1.33.4; written and copyright by Michael Hipp and others
free software (LGPL) without any warranty but with best wishes
Directory: /srv/media/Music/
Terminal control enabled, press 'h' for listing of keys and functions.
Playing MPEG stream 1 of 1: Aramzamzam.mp3 ...
[src/libout123/modules/alsa.c:initialize_device():129] error: initialize_device(): cannot set hw params
main: [src/mpg123.c:check_fatal_output():337] error: out123 error 7: failed to open deviceIf I test the command on another PC (remote via ssh), it works. This PC has a full KDE environment, though.
inxi -Axx
Audio:
Device-1: Intel Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster
driver: snd_hda_intel v: kernel bus-ID: 00:0e.0 chip-ID: 8086:5a98
API: ALSA v: k6.19.11-arch1-1 status: kernel-api
Server-1: sndiod v: N/A status: off
Server-2: PipeWire v: 1.6.3 status: active with: 1: pipewire-pulse status: off 2: wireplumber
status: active 3: pipewire-alsa type: plugin 4: pw-jack type: pluginpactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 59
Tile Size: 65472
User Name: emk2203
Host Name: NUC6CAYH
Server Name: PulseAudio (on PipeWire 1.6.3)
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_0e.0.analog-stereo
Default Source: alsa_input.pci-0000_00_0e.0.analog-stereocat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0x91410000 irq 139cat /proc/asound/pcm
00-00: ALC283 Analog : ALC283 Analog : playback 1 : capture 1
00-01: ALC283 Digital : ALC283 Digital : playback 1
00-03: HDMI 0 : HDMI 0 : playback 1
00-07: HDMI 1 : HDMI 1 : playback 1
00-08: HDMI 2 : HDMI 2 : playback 1fuser --all --verbose /dev/snd/*
USER PID ACCESS COMMAND
/dev/snd/by-path:
/dev/snd/controlC0: emk2203 858 F.... wireplumber
/dev/snd/hwC0D0:
/dev/snd/hwC0D2:
/dev/snd/pcmC0D0c:
/dev/snd/pcmC0D0p:
/dev/snd/pcmC0D1p:
/dev/snd/pcmC0D3p:
/dev/snd/pcmC0D7p:
/dev/snd/pcmC0D8p:
/dev/snd/seq: emk2203 857 F.... pipewire
/dev/snd/timer:aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC283 Digital [ALC283 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
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 #0aplay --list-pcm
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, ALC283 Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
Front output / input
surround21:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Digital
IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=PCH,DEV=0
HDA Intel PCH, HDMI 0
HDMI Audio Output
hdmi:CARD=PCH,DEV=1
HDA Intel PCH, HDMI 1
HDMI Audio Output
hdmi:CARD=PCH,DEV=2
HDA Intel PCH, HDMI 2
HDMI Audio Outputpactl list short sinks
49 alsa_output.pci-0000_00_0e.0.analog-stereo PipeWire s32le 2ch 48000Hz SUSPENDEDpw-cli ls Node
id 29, type PipeWire:Interface:Node/3
object.serial = "29"
factory.id = "11"
priority.driver = "200000"
node.name = "Dummy-Driver"
id 30, type PipeWire:Interface:Node/3
object.serial = "30"
factory.id = "11"
priority.driver = "190000"
node.name = "Freewheel-Driver"
id 34, type PipeWire:Interface:Node/3
object.serial = "46"
factory.id = "11"
client.id = "42"
priority.session = "100"
priority.driver = "1"
node.name = "Midi-Bridge"
media.class = "Midi/Bridge"
id 45, type PipeWire:Interface:Node/3
object.serial = "49"
object.path = "alsa:acp:PCH:7:playback"
factory.id = "19"
client.id = "42"
device.id = "32"
priority.session = "1009"
priority.driver = "1009"
node.description = "Built-in Audio Analog Stereo"
node.name = "alsa_output.pci-0000_00_0e.0.analog-stereo"
node.nick = "ALC283 Analog"
media.class = "Audio/Sink"
id 46, type PipeWire:Interface:Node/3
object.serial = "50"
object.path = "alsa:acp:PCH:0:capture"
factory.id = "19"
client.id = "42"
device.id = "32"
priority.session = "2009"
priority.driver = "2009"
node.description = "Built-in Audio Analog Stereo"
node.name = "alsa_input.pci-0000_00_0e.0.analog-stereo"
node.nick = "ALC283 Analog"
media.class = "Audio/Source"mpd is running; pgrep -a mpd shows 994 /usr/bin/mpd --systemd (started with systemctl --user start mpd.service).
systemctl --user status mpd.service
● mpd.service - Music Player Daemon
Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; preset: enabled)
Active: active (running) since Tue 2026-04-14 23:43:26 CEST; 11min ago
Invocation: 15a443c697104dc5ab38640239a65f35
Docs: man:mpd(1)
man:mpd.conf(5)
Main PID: 994 (mpd)
Tasks: 7 (limit: 9286)
Memory: 34.8M (peak: 37.5M)
CPU: 738ms
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/mpd.service
└─994 /usr/bin/mpd --systemd
Apr 14 23:43:26 NUC6CAYH systemd[732]: Starting Music Player Daemon...
Apr 14 23:43:26 NUC6CAYH mpd[994]: Ignoring the 'pid_file' setting in systemd mode
Apr 14 23:43:26 NUC6CAYH mpd[994]: exception: Failed to access /home/emk2203/.local/share/mpd/playlists: No such file or directory
Apr 14 23:43:26 NUC6CAYH systemd[732]: Started Music Player Daemon.
Apr 14 23:45:50 NUC6CAYH mpd[994]: mixer: Failed to read mixer for "HDA Intel PCH sound card": no such mixer control: PCM
Apr 14 23:45:58 NUC6CAYH mpd[994]: server_socket: bind to '0.0.0.0:8080' failed (continuing anyway, because binding to '[::]:8080' succeeded): Failed to bind socket: Address a>
Apr 14 23:45:58 NUC6CAYH mpd[994]: output: Failed to open mixer for "HDA Intel PCH sound card": no such mixer control: PCMcat /etc/mpd.conf
pid_file "/run/mpd/mpd.pid"
# Full XDG expansion after 0.25 release
#db_file "$XDG_DATA_HOME/mpd/mpd.db"
#state_file "$XDG_STATE_HOME/mpd/mpdstate"
#playlist_directory "$XDG_DATA_HOME/mpd/playlists"
db_file "~/.local/share/mpd/mpd.db"
state_file "~/.local/state/mpd/mpdstate"
playlist_directory "~/.local/share/mpd/playlists"
music_directory "/srv/media/Music"
#bind_to_address "localhost"
bind_to_address "0.0.0.0"
port "6600"
audio_output {
type "alsa"
name "HDA Intel PCH sound card"
# Optional
device "iec958"
#mixer_control "PCM"
}
audio_output {
type "httpd"
name "NUC6CAYH MPD http stream"
# encoder "none" # optional, vorbis or lame
port "8080"
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
quality "5.0" # do not define if bitrate is defined
# bitrate "256" # do not define if quality is defined
format "44100:16:2"
max_clients "0" # optional 0=no limit
}
filesystem_charset "UTF-8"
restore_paused "yes"
#default_permissions "read"
#local_permissions "read,add,control,admin"
#password "xxx@read,add,control,admin"
#log_file "~/.local/share/mpd/mpd.log"
#log_level "verbose"How can force digital out for all audio daemons: alsa, pulseaudio, pipewire? alsamixer and wiremix don't show the digital output option. For this server (with audio server) scenario, would it be better to uninstall pipewire and/or pulseaudio?
Offline
You haven't posted the more important pulse/pipewire command which would be
pactl list cardsthe digital out will likely be on a different card profile you can switch to. But ultimately for a server whose whole purpose is to just route mpd, you could definitely just get rid of sound servers and give mpd full access and control of the ALSA device
Last edited by V1del (Yesterday 22:23:01)
Online
pactl list cards
Card #48
Name: alsa_card.pci-0000_00_0e.0
Driver: alsa
Owner Module: n/a
Properties:
device.enum.api = "udev"
device.api = "alsa"
media.class = "Audio/Device"
api.alsa.path = "hw:0"
api.alsa.card = "0"
api.alsa.card.name = "HDA Intel PCH"
api.alsa.card.longname = "HDA Intel PCH at 0x91410000 irq 139"
device.plugged.usec = "9277991"
device.bus_path = "pci-0000:00:0e.0"
sysfs.path = "/devices/pci0000:00/0000:00:0e.0/sound/card0"
device.bus = "pci"
device.subsystem = "sound"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.product.id = "0x5a98"
device.product.name = "Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster"
device.form_factor = "internal"
device.name = "alsa_card.pci-0000_00_0e.0"
device.description = "Built-in Audio"
device.nick = "HDA Intel PCH"
device.icon_name = "audio-card-analog-pci"
api.alsa.use-acp = "true"
api.acp.auto-profile = "false"
api.acp.auto-port = "false"
api.dbus.ReserveDevice1.Priority = "-20"
api.alsa.split-enable = "true"
api.dbus.ReserveDevice1 = "Audio0"
spa.object.id = "2"
factory.id = "15"
client.id = "46"
object.id = "47"
object.serial = "48"
object.path = "alsa:acp:PCH"
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0x91410000 irq 139"
alsa.driver_name = "snd_hda_intel"
alsa.mixer_name = "Realtek ALC283"
alsa.components = "HDA:10ec0283,80862067,00100003 HDA:8086280a,80860101,00100000"
alsa.id = "PCH"
device.string = "0"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6565, available: yes)
output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes)
output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5965, available: no)
output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
output:hdmi-stereo-extra1+input:analog-stereo: Digital Stereo (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
output:hdmi-stereo-extra2+input:analog-stereo: Digital Stereo (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5565, available: yes)
output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes)
output:analog-surround-40+input:analog-stereo: Analog Surround 4.0 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 1265, available: yes)
output:analog-surround-40: Analog Surround 4.0 Output (sinks: 1, sources: 0, priority: 1200, available: yes)
output:hdmi-surround+input:analog-stereo: Digital Surround 5.1 (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 865, available: no)
output:hdmi-surround71+input:analog-stereo: Digital Surround 7.1 (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 865, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
output:hdmi-surround-extra1+input:analog-stereo: Digital Surround 5.1 (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
output:hdmi-surround71-extra1+input:analog-stereo: Digital Surround 7.1 (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
output:hdmi-surround-extra2+input:analog-stereo: Digital Surround 5.1 (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
output:hdmi-surround71-extra2+input:analog-stereo: Digital Surround 7.1 (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 65, available: yes)
pro-audio: Pro Audio (sinks: 5, sources: 1, priority: 1, available: yes)
Active Profile: output:analog-stereo+input:analog-stereo
Ports:
analog-input-internal-mic: Internal Microphone (type: Mic, priority: 8900, latency offset: 0 usec, availability group: Legacy 1, availability unknown)
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-40+input:analog-stereo, output:iec958-stereo+input:analog-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71+input:analog-stereo, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-surround71-extra1+input:analog-stereo, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2+input:analog-stereo
analog-input-mic: Microphone (type: Mic, priority: 8700, 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-40+input:analog-stereo, output:iec958-stereo+input:analog-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71+input:analog-stereo, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-surround71-extra1+input:analog-stereo, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2+input:analog-stereo
analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, availability unknown)
Properties:
port.type = "headphones"
device.icon_name = "audio-headphones"
card.profile.port = "2"
Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
analog-output-headphones-2: Headphones 2 (type: Headphones, priority: 9800, latency offset: 0 usec, availability group: Legacy 3, not available)
Properties:
port.type = "headphones"
port.availability-group = "Legacy 3"
device.icon_name = "audio-headphones"
card.profile.port = "3"
Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown)
Properties:
port.type = "analog"
card.profile.port = "4"
Part of profile(s): output:analog-surround-40, output:analog-surround-40+input:analog-stereo
iec958-stereo-output: Digital 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
hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 4, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 4"
device.icon_name = "video-display"
card.profile.port = "6"
Part of profile(s): output:hdmi-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71, output:hdmi-surround71+input:analog-stereo
hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 5, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 5"
device.icon_name = "video-display"
card.profile.port = "7"
Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-surround71-extra1, output:hdmi-surround71-extra1+input:analog-stereo
hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 6, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 6"
device.icon_name = "video-display"
card.profile.port = "8"
Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2, output:hdmi-surround71-extra2+input:analog-stereois the output. I can see that the iec958-stereo which is the targeted on has a lower priority, and I can select it in the popup of wiremix if I scroll down.
I have selected it now, and pulled up the volume to 100%. It's not muted. But there's still no sound. Not with mpd, not with mpg123. The latter runs silent now, without errors, but no sound.
Is there anything to hardware-debug this setup? Would a white piece of paper show the LED color at the digital output if the hardware is OK? Only at playback, or always when the machine is on?
Last edited by emk2203 (Today 05:37:47)
Offline
you could definitely just get rid of sound servers and give mpd full access and control of the ALSA device
And regardless I'd start there if there's concern about the HW functionality.
Offline