You are not logged in.

#1 2026-04-14 22:02:46

emk2203
Member
Registered: 2024-10-17
Posts: 11

[SOLVED] how to make audio work for mpd on a Intel NUC6CAYH spdif?

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 device

If 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: plugin
pactl 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-stereo
cat /proc/asound/cards

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0x91410000 irq 139
cat /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 1
fuser --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 #0
aplay --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 Output
pactl list short sinks

49      alsa_output.pci-0000_00_0e.0.analog-stereo      PipeWire        s32le 2ch 48000Hz       SUSPENDED
pw-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: PCM
cat /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?

Last edited by emk2203 (2026-04-17 22:28:15)

Offline

#2 2026-04-14 22:20:50

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

Re: [SOLVED] how to make audio work for mpd on a Intel NUC6CAYH spdif?

You haven't posted the more important pulse/pipewire command which would be

pactl list cards

the 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 (2026-04-14 22:23:01)

Offline

#3 2026-04-15 05:10:03

emk2203
Member
Registered: 2024-10-17
Posts: 11

Re: [SOLVED] how to make audio work for mpd on a Intel NUC6CAYH spdif?

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-stereo

is 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 (2026-04-15 05:37:47)

Offline

#4 2026-04-15 08:04:52

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 74,647

Re: [SOLVED] how to make audio work for mpd on a Intel NUC6CAYH spdif?

V1del wrote:

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

#5 2026-04-17 21:04:50

emk2203
Member
Registered: 2024-10-17
Posts: 11

Re: [SOLVED] how to make audio work for mpd on a Intel NUC6CAYH spdif?

I have confirmed that the hardware works and that the Linux audio stack is capable of getting audio to the receiver. mpg123 can play a song when the mpd service is disabled. Trying to remove pipewire (pacman -Rnsuc pipewire) and make do with alsa alone would remove a lot of programs as well, including mpd, so I shelved that idea so far. Selective deinstallation would yield the same result -- pacman -Rns pipewire-jack removes mpd. Thus, pipewire and pulseaudio are still installed.

When I try to play with mpd with the current setup, I get:

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 Fri 2026-04-17 22:25:07 CEST; 17min ago
 Invocation: b52544172e8c4cdfbdffa8dbeb23ac07
       Docs: man:mpd(1)
             man:mpd.conf(5)
   Main PID: 1169 (mpd)
      Tasks: 6 (limit: 9286)
     Memory: 35.1M (peak: 36.3M)
        CPU: 719ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/mpd.service
             └─1169 /usr/bin/mpd --systemd

Apr 17 22:26:35 NUC6CAYH mpd[1169]: exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "iec958-stereo": No such file or directory
Apr 17 22:26:35 NUC6CAYH mpd[1169]: ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM iec958-stereo
Apr 17 22:26:35 NUC6CAYH mpd[1169]: exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "iec958-stereo": No such file or directory
Apr 17 22:26:35 NUC6CAYH mpd[1169]: exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "iec958-stereo": No such file or directory
Apr 17 22:26:36 NUC6CAYH mpd[1169]: ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM iec958-stereo
Apr 17 22:26:36 NUC6CAYH mpd[1169]: exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "iec958-stereo": No such file or directory
Apr 17 22:26:36 NUC6CAYH mpd[1169]: exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "iec958-stereo": No such file or directory
Apr 17 22:27:12 NUC6CAYH mpd[1169]: ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM iec958-stereo
Apr 17 22:27:12 NUC6CAYH mpd[1169]: exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "iec958-stereo": No such file or directory
Apr 17 22:27:12 NUC6CAYH mpd[1169]: exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "iec958-stereo": No such file or directory

After that, I switched the mpd.conf to the ALSA name of the output:

cat /etc/mpd.conf

...
audio_output {
        type          "alsa"
        name          "HDA Intel PCH"
        # Optional
        device        "ALC283 Digital"
        #mixer_control "PCM"
}
...

but the only output which I get with mpc play is

mpc play

Aramzamzam.mp3
[paused]  #1/7077   0:00/1:49 (0%)
volume: n/a   repeat: off   random: off   single: off   consume: off
ERROR: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "ALC283 Digital": No such file or directory

Corresponding log file from mpd shows

2026-04-17T22:52:31 event: RTIOThread could not get realtime scheduling, continuing anyway: sched_setscheduler failed: Operation not permitted
2026-04-17T22:52:31 state_file: Loading state file /home/emk2203/.local/state/mpd/mpdstate
2026-04-17T22:52:31 playlist: play 0:"Aramzamzam.mp3"
2026-04-17T22:52:31 decoder_thread: probing plugin mpg123
2026-04-17T22:52:31 decoder: audio_format=32000:16:2, seekable=true
2026-04-17T22:52:31 output: OutputThread could not get realtime scheduling, continuing anyway: sched_setscheduler failed: Operation not permitted
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM ALC283 Digital
2026-04-17T22:52:31 exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "ALC283 Digital": No such file or directory
2026-04-17T22:52:31 exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "ALC283 Digital": No such file or directory
2026-04-17T22:52:31 player: problems opening audio device while playing "Aramzamzam.mp3"
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM ALC283 Digital
2026-04-17T22:52:31 exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "ALC283 Digital": No such file or directory
2026-04-17T22:52:31 exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "ALC283 Digital": No such file or directory
2026-04-17T22:52:31 playlist: queue song 1:"Christmas - Celine Dion & Nana Mouskouri- Petit Papa Noel.mp3"
2026-04-17T22:56:53 client: [127.0.0.1:55446] client connected
2026-04-17T22:56:53 client: [127.0.0.1:55446] process command "play"
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM ALC283 Digital
2026-04-17T22:56:53 exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "ALC283 Digital": No such file or directory
2026-04-17T22:56:53 exception: Failed to open "HDA Intel PCH" (alsa); Failed to open ALSA device "ALC283 Digital": No such file or directory
2026-04-17T22:56:53 client: [127.0.0.1:55446] command returned 0
2026-04-17T22:56:53 client: [127.0.0.1:55446] process command list
2026-04-17T22:56:53 client: process command "status"
2026-04-17T22:56:53 mixer: Failed to read mixer for "HDA Intel PCH": no such mixer control: PCM
2026-04-17T22:56:53 client: command returned 0
2026-04-17T22:56:53 client: process command "currentsong"
2026-04-17T22:56:53 client: command returned 0
2026-04-17T22:56:53 client: [127.0.0.1:55446] process command list returned 0
2026-04-17T22:56:53 client: [127.0.0.1:55446] disconnected

Any advice is appreciated.

Offline

#6 2026-04-17 21:22:06

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 74,647

Re: [SOLVED] how to make audio work for mpd on a Intel NUC6CAYH spdif?

Trying to remove pipewire (pacman -Rnsuc pipewire)

NEVER! blindly throw a cascade at pacman -R!

Thus, pipewire and pulseaudio are still installed.

You must under no circumstances have both, at the very least replace pulseaudio w/ pipewire-pulse.

Laving aside that "pacman -Rs pipewire" will likely just work you can also simply disable/mask the pipewire service/socket

device        "ALC283 Digital"

is completely nonsensical, check "aplay -L" for the device list  but you'll very unlikely have to specify that at all.

Offline

#7 2026-04-17 22:27:14

emk2203
Member
Registered: 2024-10-17
Posts: 11

Re: [SOLVED] how to make audio work for mpd on a Intel NUC6CAYH spdif?

seth wrote:

Trying to remove pipewire (pacman -Rnsuc pipewire)

NEVER! blindly throw a cascade at pacman -R!

Yes. That was more a 'what would happen if I try to purge the last remnants of pipewire' thing. I didn't do it. If it works, it can stay.

You must under no circumstances have both, at the very least replace pulseaudio w/ pipewire-pulse.

That was sloppy diction. I didn't want to indicate that I have the full pulseaudio installed, I meant that I have pipewire and pipewire-pulse.

Laving aside that "pacman -Rs pipewire" will likely just work you can also simply disable/mask the pipewire service/socket

As long as the system works, there should be no harm in keeping pipewire active.

device        "ALC283 Digital"

is completely nonsensical, check "aplay -L" for the device list  but you'll very unlikely have to specify that at all.

The last suggestion was the money quote. I simply commented out the device line in mpd.conf, now it works.

Caveat: I also have made a /etc/asound.conf file:

pcm.!default {
        type hw
        card 0
}

ctl.!default {
        type hw           
        card 0
}

pcm.!default {
    type plug
    slave.pcm "iec958:CARD=0,DEV=0"
}

to make sure that the digital output is the system default. I don't know if this had an influence on mpd working now.

Offline

Board footer

Powered by FluxBB