Beginner’s Guide to Setting Up and Using MPD

cover

A little background:

I am not much into streaming music. Yeah, it’s 2021 and I still download my music. This post is for others like me who download their music and want an efficient way to manage their collection.

The first time I played music on the desktop, it certainly was in VLC Media Player. I got tired of that very soon when my music collection ran into gigabytes. Finding tracks was a nightmare and organization an even bigger nightmare. I started using Strawberry Music Player. Strawberry is a fork of the famous Clementine Music Player. It did solve most of the issues I had. It has multiple queue support, a great library manager, connection with online services etc. Best of all, it also has a Nyan Cat audio visualiser.

image

Enter MPD

MPD (music player daemon) is an audio player that has a server-client architecture. It can easily manage large music libraries. To put “large” into perspective, I am talking about libraries with over 50k tracks or almost a terabyte of music. Even such huge libraries are no sweat for MPD. Add to that, the server-client architecture allows many applications to control music playback - even you can write an app to control the MPD server (and I did that!)

Installing MPD

On Arch Linux, the package is called mpd. You can install it via Pacman

sudo pacman -S mpd

Configuration

Get the example configuration file at /usr/share/doc/mpd/mpdconf.example or from this link. Save it in ~/.config/mpd/ with name mpd.conf.

Uncomment music_directory (L 13), db_file (L 28), pid_file (L 43) and state_file (L 50). Set a location for all these as you like. At the very least I suggest changing the music_directory from “~/music” to “~/Music”. (notice the capital ‘M’). This is because the pre-created music folder starts with a capital M.

Scroll down to line 85 and uncomment bind_to_address. Change the value to “localhost” or to a different address if you want. Next uncomment port at line 90. Let it stay at the default value, which is “6600”.

Uncomment restore_paused at line 101 and set value to “yes”.

Now we will enable ALSA output. Uncomment line 215 - 217 (both inclusive) and 223. There are more options you can change if you are familiar with them, but the current set up will give you a minimal and working MPD server. For example, I have set my mixer type to software, which fixes issues with volume control.

In the case of OSS the relevant part is just after the ALSA section. I will not detail it out, since if you are using OSS, you know better than me what you are doing. :wink:

Save the file, and we are ready to move forward.

In this post, I have suggested edits in the config multiple times. Every time you edit the config file, you need to restart the MPD server for the changes to take effect.

mpd --kill
mpd

Copying your Music Library

Copy your music folder/songs to ~/Music/. As simple as that! Remember we set the music_directory value to this folder? You can set that value to a different one if you don’t want to copy your library to a new place.

What do I do?

I am describing two set ups that I use.

  1. On my PC - I have access to multiple external drives; no need to copy on internal hdd. So I utilize symlinks on my PC. I uncomment line 135 from mpd.conf. It tells MPD that it should follow symlinks while searching the music directory even if symlink target leads out of your music directory. Next, I create symlinks from my music directories on external locations. These symlinks are all stored in ~/Music. Now, MPD can discover music from external drives as well and you don’t need to copy all music to your installation root. If I have unplugged a specific drive, then MPD will simply skip over the songs from that drive.

  2. On my laptop - Needs to be carried around, can’t have my external drives always around. So all my music is copied on the internal HDD. This location is defined in the MPD config. HDD is mounted automatically on boot since I have it added to my fstab.

Launch The Server!

Now, you are ready to launch the server! Open a terminal and run mpd. Exceptions about Tidal and wildmidi can be ignored. You can add this command to your startup script to have the server launch automatically when you log in. I have it in my i3 config.

There is also a systemd service that you can use.

systemctl --user enable mpd.service

This will start the server automatically when you log in.

Important : MPD can be launched as root also, but don’t do that please!

Adding a Frontend

What do you do after you have set up a server? You need some client software that can interact with your server. MPD, because its open source and has libraries in multiple languages, enjoys support for multiple frontends. A very popular one is ncmpcpp. Its console based, and while I do like console applications, I also prefer managing music via a graphical application. So, I use Cantata, as it is feature rich and does a good job of interacting with MPD server. It also has an inbuilt tag editor and support for streaming from SoundCloud, Jamendo etc. It can also work without an MPD server by reading files directly off your storage.

Cantata has a self explanatory intro screen. It will ask for your host and port which you defined in mpd.conf. After that, you are ready to play music!

Get to know MPC

MPC is a simple command line client to mpd. It is used to issue commands to MPD and get info about the current track, queue etc. You can install it from your package manager or compile from source

One command you should know right now is mpc update. This re-scans your music directory and creates a database of stored tracks. I bind it to Mod+Shift+m. Cantata also has option to update database, but I prefer using wm keybindings.

Some more commands that I have in my config:

mpc seekthrough +00:00:10 : Seek the current playing track 10s forward. Replace argument with a different time duration or use minus instead of plus to seek backwards.

mpc next : Skip to the next track

mpc prev : Play the previous track

mpc toggle : Play queue if paused, and pause if playing

mpc volume +2 : Raise volume by 2%. Use a different value or use minus instead of plus to reduce volume

I have bound these commands to different wm keybindings and it lets me control playback right from the keyboard without leaving my active application. Note that its not necessary to use mpc. I mentioned it in this post because it allows easy control with terminal commands which can be used in your configs or wrapped in shell scripts.

Controlling MPD with your Android Phone

Now this is where the real fun starts. You can control MPD playback via your smartphone. This makes an easy set up, where you can have your MPD server on a Raspberry Pi and you control playback using your smartphone. And yeah, without using any spooky closed source proprietary applications.

Install one of the many MPD controlling apps available on the Play Store. I used MALP because it is open source and has a decent UI. On first launch, you will be on the profiles page. Tap the plus icon on top right and enter your server details. You can know your system IP address by running the ifconfig command. Note the IP address of the interface you are connected to (wifi, ethernet, etc).

You should now have your phone connected to your MPD server!

image

Utilizing HTTP Streams

This is another superpower of MPD, that you can stream music over a network (even the internet!).

Go into your mpd.conf and change lines 273 to 283 to the following

audio_output {
    type        "httpd"
    name        "My HTTP Stream"
    encoder        "lame"        # optional, vorbis or lame
    port        "8000"
#    bind_to_address    "0.0.0.0"        # optional, IPv4 or IPv6
#    quality        "5.0"            # do not define if bitrate is defined
    bitrate        "128"            # do not define if quality is defined
    format        "44100:16:1"
    max_clients    "0"            # optional 0=no limit
}

You can increase the bitrate if you like. 256 is a sweet spot for http streaming of mp3 audio, but keep in mind that your FLAC/WAV music will be down-scaled before streaming. Also, I highly suggest changing the max_clients value to the number of simultaneous connections you would expect. In my configs, I set it to 1 because that’s what I need. If you are streaming music to multiple devices at once, set it to a higher value.

On your other device, open a terminal, and run the following command to start playback.

mpv http://<host-name>:8000

For example, I run the following

mpv http://192.168.29.129:8000

The host machine should be reachable via the other machine. If they are on same local network, all well and good. If not, you can still access the server outside your local network by port forwarding on your router.

You can also stream via icecast if you want. Here is the link to relevant Arch wiki entry. Icecast/MPD.

Music can be streamed to smartphone device also, but support is currently spotty. Often, buffering can take a few minutes. I personally don’t need to stream on my smartphone, so I never tried to find out a solution. I just control playback via my phone.

Music info/controls on your bar

Polybar has an MPD module that can display current track info and controls on your bar.

You can find the module code here.

A screenshot where I am running Cantata. The bar at bottom of the screen shows music controls and current track info.

cantata


Feel free to suggest corrections, improvements.

Thanks!
:airplane: :cake:

26 Likes

Smart choice! :+1: :brain:
Keep it up! :partying_face:

4 Likes

Completely agree with downloading your music! Great guide!

4 Likes

A very good guide for MPD, thanks!

Indeed, it is the current year.

And yes, I download even the YouTube videos I watch (I don’t use the online player).

5 Likes

The other device does not need to be on the same local network as the device running mpd, and there is no need for an IceCast client/server.
Enter your WAN IP into the settings of a separate app to use outside your LAN, (I use MPDroid for that).
In your router add a port forwarding to the MPD server ports, (6000? and 8000 ?)
Start MPDroid, play a song, choose for “streaming” in the menu, and listen to your own music wherever you are.

3 Likes

Thanks for pointing it out!

I’ve fixed it :+1:

The example conf can also be found at /usr/share/doc/mpd/mpdconf.example.

Great guide :+1: :enos_flag: !

2 Likes

Ohh I forgot :woman_facepalming:

The original version of this article was intended to be distro independent. To post here, I changed the installation info to use yay but didn’t change the config file location.

Thanks :rocket:

1 Like

to this day I still wish there was a native port of musicbee for linux, or something that can replicate its functions as easily and beautifully as it does

1 Like

Is it just me, or is this setup super-crashy? There seems to be a 1 in 5 chance of crashing mpd from just changing track.

Been using this setup since a good ~2 years; never crashed. :thinking:

In ~/.config/mpd/mpd.conf

Add these lines

log_file			"~/.config/mpd/log"
log_level			"verbose"

Restart mpd, and when it crashes, see the log file in ~/.config/mpd/log for errors. Possibly one or more tracks in your library have corrupt tags.

Just triggered a crash again. The log contains nothing particularly useful.

First 100 lines:

Jan 18 09:01 : state_file: Loading state file /home/benjamin/.mpd/state
Jan 18 09:01 : event: RTIOThread could not get realtime scheduling, continuing anyway: sched_setscheduler failed: Operation not permitted
Jan 18 09:01 : playlist: play 0:"Incubus - Drive.mp3"
Jan 18 09:01 : output: OutputThread could not get realtime scheduling, continuing anyway: sched_setscheduler failed: Operation not permitted
Jan 18 09:01 : playlist: queue song 0:"Incubus - Drive.mp3"
Jan 18 09:01 : decoder_thread: probing plugin mad
Jan 18 09:01 : mad: detected LAME version 3.92 ("LAME3.92 ")
Jan 18 09:01 : mad: LAME peak found: 0
Jan 18 09:01 : mad: encoder delay is 576, encoder padding is 1728
Jan 18 09:01 : decoder: audio_format=44100:24:2, seekable=true
Jan 18 09:01 : client: [0] opened from [::1]:43598
Jan 18 09:01 : client: [1] opened from [::1]:43600
Jan 18 09:01 : client: [1] process command "channels"
Jan 18 09:01 : client: [1] command returned 0
Jan 18 09:01 : client: [1] process command "idle"
Jan 18 09:01 : client: [1] command returned 1
Jan 18 09:01 : client: [0] process command "replay_gain_mode off"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "stats"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "lsinfo "mpd-client://cantata/2.4.2""
Jan 18 09:01 : exception: Unsupported URI scheme
Jan 18 09:01 : client: [0] command returned 3
Jan 18 09:01 : client: [0] process command "status"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "playlistinfo"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "status"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "stats"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "urlhandlers"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "tagtypes"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "commands"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "playlistinfo"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "status"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "outputs"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "status"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "replay_gain_status"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [1] process command "idle"
Jan 18 09:01 : client: [1] command returned 1
Jan 18 09:01 : client: [0] process command "lsinfo"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "currentsong"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "listplaylists"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "listplaylistinfo "[Radio Streams]""
Jan 18 09:01 : exception: Failed to open '/home/benjamin/.mpd/playlists/[Radio Streams].m3u': No such file or directory
Jan 18 09:01 : exception: No such playlist
Jan 18 09:01 : client: [0] command returned 3
Jan 18 09:01 : client: [0] process command "playlistinfo"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "status"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "outputs"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:01 : client: [0] process command "sticker get song "Incubus - Drive.mp3" rating"
Jan 18 09:01 : client: [0] command returned 3
Jan 18 09:01 : client: [0] process command "status"
Jan 18 09:01 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:02 : client: [0] process command "status"
Jan 18 09:02 : client: [0] command returned 0
Jan 18 09:03 : client: [0] process command "status"
Jan 18 09:03 : client: [0] command returned 0
Jan 18 09:03 : client: [0] process command "status"
Jan 18 09:03 : client: [0] command returned 0
Jan 18 09:03 : client: [0] process command "status"
Jan 18 09:03 : client: [0] command returned 0
Jan 18 09:03 : client: [0] process command "status"

last 100 lines:

Jan 18 09:31 : client: [0] process command "replay_gain_status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [1] process command "idle"
Jan 18 09:31 : client: [1] command returned 1
Jan 18 09:31 : client: [0] process command "sticker get song "LMC vs U2 - Take Me to the Clouds Above.mp3" rating"
Jan 18 09:31 : client: [0] command returned 3
Jan 18 09:31 : client: [0] process command "status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "replay_gain_status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [1] process command "idle"
Jan 18 09:31 : client: [1] command returned 1
Jan 18 09:31 : client: [0] process command "status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "replay_gain_status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [1] process command "idle"
Jan 18 09:31 : client: [1] command returned 1
Jan 18 09:31 : client: [0] process command "albumart "LMC vs U2 - Take Me to the Clouds Above.mp3/" 0"
Jan 18 09:31 : client: [0] command returned 3
Jan 18 09:31 : client: [0] process command "albumart "Massive Attack - Unfinished Sympathy.mp3/" 0"
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Unfinished Sympathy.mp3/cover.png': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Unfinished Sympathy.mp3/cover.jpg': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Unfinished Sympathy.mp3/cover.tiff': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Unfinished Sympathy.mp3/cover.bmp': Not a directory
Jan 18 09:31 : client: [0] command returned 3
Jan 18 09:31 : client: [0] process command "albumart "Massive Attack - Radiation Ruling The Nation.mp3/" 0"
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Radiation Ruling The Nation.mp3/cover.png': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Radiation Ruling The Nation.mp3/cover.jpg': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Radiation Ruling The Nation.mp3/cover.tiff': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Radiation Ruling The Nation.mp3/cover.bmp': Not a directory
Jan 18 09:31 : client: [0] command returned 3
Jan 18 09:31 : client: [0] process command "albumart "Massive Attack - Group Four.mp3/" 0"
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Group Four.mp3/cover.png': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Group Four.mp3/cover.jpg': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Group Four.mp3/cover.tiff': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Group Four.mp3/cover.bmp': Not a directory
Jan 18 09:31 : client: [0] command returned 3
Jan 18 09:31 : client: [0] process command "albumart "Massive Attack - Future Proof.mp3/" 0"
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Future Proof.mp3/cover.png': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Future Proof.mp3/cover.jpg': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Future Proof.mp3/cover.tiff': Not a directory
Jan 18 09:31 : exception: Failed to open '/home/benjamin/Music/Massive Attack - Future Proof.mp3/cover.bmp': Not a directory
Jan 18 09:31 : client: [0] command returned 3
Jan 18 09:31 : client: [0] process command "status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "clear"
Jan 18 09:31 : playlist: stop
Jan 18 09:31 : player: played "LMC vs U2 - Take Me to the Clouds Above.mp3"
Jan 18 09:31 : output: closed "PipeWire Sound Server" (pipewire)
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command list
Jan 18 09:31 : client: process command "add "Massive Attack - Unfinished Sympathy.mp3""
Jan 18 09:31 : client: command returned 0
Jan 18 09:31 : client: [0] process command list returned 0
Jan 18 09:31 : client: [0] process command "play 0"
Jan 18 09:31 : playlist: play 0:"Massive Attack - Unfinished Sympathy.mp3"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : playlist: queue song 0:"Massive Attack - Unfinished Sympathy.mp3"
Jan 18 09:31 : decoder_thread: probing plugin mad
Jan 18 09:31 : client: [0] process command "playlistinfo"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "replay_gain_status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [1] process command "idle"
Jan 18 09:31 : client: [1] command returned 1
Jan 18 09:31 : client: [0] process command "status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "plchangesposid "13""
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "playlistinfo"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [1] process command "idle"
Jan 18 09:31 : client: [1] command returned 1
Jan 18 09:31 : client: [0] process command "currentsong"
Jan 18 09:31 : mad: detected LAME version 3.90 ("LAME3.90.")
Jan 18 09:31 : mad: LAME peak found: 0
Jan 18 09:31 : mad: encoder delay is 576, encoder padding is 1752
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : decoder: audio_format=44100:24:2, seekable=true
Jan 18 09:31 : client: [0] process command "status"
Jan 18 09:31 : output: opened "PipeWire Sound Server" (pipewire) audio_format=44100:24:2
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "replay_gain_status"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [1] process command "idle"
Jan 18 09:31 : client: [1] command returned 1
Jan 18 09:31 : client: [0] process command "currentsong"
Jan 18 09:31 : client: [0] command returned 0
Jan 18 09:31 : client: [0] process command "sticker get song "Massive Attack - Unfinished Sympathy.mp3" rating"
Jan 18 09:31 : client: [0] command returned 3
Jan 18 09:31 : client: [0] process command "status"

However, systemctl shows a core dump:

× mpd.service - Music Player Daemon
     Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
     Active: failed (Result: signal) since Tue 2022-01-18 09:31:18 GMT; 4min 4s ago
       Docs: man:mpd(1)
             man:mpd.conf(5)
    Process: 2672 ExecStart=/usr/bin/mpd --systemd (code=killed, signal=SEGV)
   Main PID: 2672 (code=killed, signal=SEGV)
        CPU: 1.661s

Jan 18 09:01:50 Haku mpd[2672]: Jan 18 09:01 : decoder: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timi>
Jan 18 09:01:50 Haku mpd[2672]: Jan 18 09:01 : simple_db: reading DB
Jan 18 09:01:50 Haku mpd[2672]: Jan 18 09:01 : input: Input plugin 'qobuz' is not configured: No Qobuz app_id configured
Jan 18 09:01:50 Haku mpd[2672]: Jan 18 09:01 : curl: version 7.81.0
Jan 18 09:01:50 Haku mpd[2672]: Jan 18 09:01 : curl: with OpenSSL/1.1.1m
Jan 18 09:01:50 Haku systemd[1078]: Started Music Player Daemon.
Jan 18 09:31:18 Haku systemd-coredump[4010]: [🡕] Process 2672 (mpd) of user 1000 dumped core.
                                             
                                             Module linux-vdso.so.1 with build-id f4c0c67a495415ccf56ef21d6eaadfebc34186ec
                                             Module libspa-audioconvert.so with build-id 8011219b9d98e8ce498ebc5ad113a72f5daba056
                                             Module libpipewire-module-session-manager.so with build-id 1dc16f8090c1f4e1c317e91cdf43c819621e80a6
                                             Module libpipewire-module-metadata.so with build-id dff4c3eac7805455a30e2c3c4a18515ebd7a5a5c
                                             Module libpipewire-module-adapter.so with build-id 7374ed1c757b10d76ff6f272b149a39ddddd56e9
                                             Module libpipewire-module-client-device.so with build-id 612198f02cdd7714701537dca69d6027c2994427
                                             Module libpipewire-module-client-node.so with build-id 867826163fb67589c28bea9c4ca9d552f99e32fe
                                             Module libpipewire-module-protocol-native.so with build-id 3e33b89a3683d9e852eda1ada84d0d1fea83e7b6
                                             Module libspa-dbus.so with build-id 3eeb6df1b62c9aec04153113b26ee984b4666f44
                                             Module libnss_files.so.2 with build-id 1a36dfc01d3a1010b2ee79766a24a8090a3266d5
                                             Module libspa-journal.so with build-id ebbb4968f152660922aa5b17a927b9f1e867d1bf
                                             Module libspa-support.so with build-id 6e820afa0f61a6ac3d5ba1e04fb9b5b5dcb8853a
                                             Module libnss_resolve.so.2 with build-id df12bf7e426202ae622f0dc2ea3aeadad8a6b161
                                             Module libnss_mymachines.so.2 with build-id 3dd1f13ebe4dd8c64247bc489616780214a2387c
                                             Module libdatrie.so.1 with build-id 6fe3b6ece2c8e7d11869fa051375128d8f808f58
                                             Module libblkid.so.1 with build-id 057b6bc8eebd42d1f5cafe4f4ac72646aae1f2c5
                                             Module libgraphite2.so.3 with build-id 47761dc11e553f519cde97ed9ee985be12ccdae2
                                             Module libXdmcp.so.6 with build-id 8ca0792d23c8b8b4c0864297512349292bea5955
                                             Module libXau.so.6 with build-id 1c67764663e07bec24d8951e5fd93f4d165979ff
                                             Module libthai.so.0 with build-id a7ac5010b4275c49308021200d23690533952702
                                             Module libpangoft2-1.0.so.0 with build-id ef74c3ce7ee52a746fb5f2840d80a84e314edb92
                                             Module libmount.so.1 with build-id 39e178b712b6635a8681182f7a9fbb64e6074aee
                                             Module libtiff.so.5 with build-id e8d89a0fb0847641ddb75c5f03fa89d68155a75d
                                             Module libjpeg.so.8 with build-id 879ca18a2f58c25d77ba881db3a44a5676ef6c7d
                                             Module libncursesw.so.6 with build-id 859adb8b03a5655151b4da104bc4b326a0d4bc8c
                                             Module libasyncns.so.0 with build-id 6acff139d56b5139ce5eb50a66c62b215e1d332d
                                             Module libbrotlicommon.so.1 with build-id a4ba3f4b4571c8272343b621da812a6e24a202a7
                                             Module libresolv.so.2 with build-id c915c72668282861a813f7ea3c0780f37b681dc0
                                             Module libkeyutils.so.1 with build-id ac405ddd17be10ce538da3211415ee50c8f8df79
                                             Module libkrb5support.so.0 with build-id adf65240a4d2aba772d7a0772b4d015469934113
                                             Module libcom_err.so.2 with build-id be99503e12b86d78d6ede2f0d1ffb66408a37576
                                             Module libk5crypto.so.3 with build-id eb8220b8f36675aac769450be4cb6bb7f97ec38a
                                             Module libkrb5.so.3 with build-id 72d26767c5cb1097db75a5f5bff88860233c902b
                                             Module libXfixes.so.3 with build-id 0a05c7e8714522bfbdd7c0027c3e2a94965664b0
                                             Module libharfbuzz.so.0 with build-id 1d9dee49dd99162c3f83eb3259c3c88c6b4cd7fe
                                             Module libmvec.so.1 with build-id 9aa05e22565568b778a97933527b3c64bdb8418b
                                             Module libpixman-1.so.0 with build-id 341f793dcada3a48a306a793d265a517e3f2e7d6
                                             Module libxcb-shm.so.0 with build-id fb797f299a446f559a95afcc168227482cc800d1
                                             Module libxcb-render.so.0 with build-id a37bdb37744b508be9dd29fd9ccb9bb0170d43e5
                                             Module libxcb.so.1 with build-id 0d1ef11740a5daad2ee331e812a51aa6574af222
                                             Module libXrender.so.1 with build-id 97e0b9ab6ba96ebc86527cc2b3c3078aad8616b3
                                             Module libXext.so.6 with build-id d70f24beb4fad748d6becffdcc13e51be0a2ebfa
                                             Module libpng16.so.16 with build-id 2dc0bce07f199bf983c07a05fb95a6f4af83a9b3
                                             Module libpcre.so.1 with build-id 845483dd0acba86de9f0313102bebbaf3ce52767
                                             Module libffi.so.8 with build-id f90d8b734f6de9b25faedb8cbfab7054dafc0a42
                                             Module libpango-1.0.so.0 with build-id 730a8183a36afae82dd6a5564c0e490fed239a40
                                             Module libpangocairo-1.0.so.0 with build-id 10d2af38056eee9a6b3458d8aac24095c4dfab72
                                             Module libgio-2.0.so.0 with build-id bce5a3881708e1e885fa1c9c32e2769a6447c411
                                             Module libgdk_pixbuf-2.0.so.0 with build-id ca4beb15a30de8d8767f7bca8222038c61b58b36
                                             Module libcairo-gobject.so.2 with build-id abbf5a8a182ea1b8b7d68540df5c2e25c0bdae0c
                                             Module libhogweed.so.6 with build-id 2d70cff7b1841b4d9ca4e8e7726cd4b944c07fdc
                                             Module libnettle.so.8 with build-id 9a878e513c02007598fcf1e2e286c2203f13536e
                                             Module libtasn1.so.6 with build-id ee3429ca5e94718aea4fe5249fc859e0cd88e4e9
                                             Module libunistring.so.2 with build-id 015ac6d6bcb60b7d8bea31a80d1941b06e8636ab
                                             Module libp11-kit.so.0 with build-id f97c44b297b54185bbe3eb6ed6dab5d8967f1532
                                             Module libcap.so.2 with build-id f56c6cd6ad4d35053340d7ff2f8f954498796739
                                             Module liblz4.so.1 with build-id e63600ab23b2f6997f42fac2fa56e1f02ce159a1
                                             Module libgpg-error.so.0 with build-id 3801187d42c4955bd93c605451430cdf1b164e63
                                             Module libgcrypt.so.20 with build-id db45f5d5e0f7af1e77324fea1885f974619ad268
                                             Module libvorbisfile.so.3 with build-id 0010b21da05e318b42e718d90738febf58028141
                                             Module libubsan.so.1 with build-id 37f3f15b3b07a72188ec5deef354f782b89e815e
                                             Module libinstpatch-1.0.so.2 with build-id be6cf8f475d8e460ce2046e6cb8d822c11008398
                                             Module libreadline.so.8 with build-id 50c2746af3cf9fa7373e6ba6d9b2bc0a2ef7735a
                                             Module libSDL2-2.0.so.0 with build-id e79663cb0c7fbea04b8cf4dd42f2a8ffe6d5ae56
                                             Module libportaudio.so.2 with build-id 305f95e5abdce86725f76773b241fbe88342102f
                                             Module libpulse-simple.so.0 with build-id 5891a9b3e33b7dd638e4ca6839b837e42343c8e2
                                             Module libgmodule-2.0.so.0 with build-id 5da4523e8d6b5c244a0193e27093d1e61f6ac9e4
                                             Module libtheora.so.0 with build-id 8ac339551c67c0f716d70bd41c411e9c7f9e1ac9
                                             Module libdb-5.3.so with build-id 9422fdf20e44ff3d5c58f76ef36be3432c6057c3
                                             Module libpulsecommon-15.0.so with build-id a2e110b7a0b3bb46e42515afd55a61d78185835b
                                             Module libgomp.so.1 with build-id 144b2725c3c7bcd7999b6a248b02c301af8a9fa2
                                             Module librt.so.1 with build-id 75484da2d6f1515189eefa076e0a40328834cd16
                                             Module libbrotlidec.so.1 with build-id 45defc036e918e0140a72f1fbce6e7692d38241d
                                             Module libzstd.so.1 with build-id 6214183688018e3fba6d66db10c2c8d0b45e0578
                                             Module libgssapi_krb5.so.2 with build-id e6e098ad51ce7bdd3dbe902d7b0f69a90f8a9e08
                                             Module libcrypto.so.1.1 with build-id 4c926b672d97886b123e03a008387aecf0786de4
                                             Module libssl.so.1.1 with build-id 1024424ab33a3767da03f4fdb1fc1b02479f160f
                                             Module libpsl.so.5 with build-id 0229a201aaf5652186c9fdc192ebe52baf19d7f1
                                             Module libssh2.so.1 with build-id a4adfe44cc7ebd295b3b783361acc3dcfcea1d50
                                             Module libidn2.so.0 with build-id 1ce2b50ad9f9821c2c629b521cf5a3c99593d332
                                             Module libnghttp2.so.14 with build-id eca975f5266a67fc4895065727647e98ff99a128
                                             Module ld-linux-x86-64.so.2 with build-id 040cc3dd10461562f177df39e3be2f3704258c3c
                                             Module libicudata.so.70 with build-id e1dcc2a88cfaafed882d09c90c668af0eed4efed
                                             Module libdrm.so.2 with build-id 457a1a1bd25f1d5541a10d3f16c5dc1440d77c7d
                                             Module libX11.so.6 with build-id 5ba5798d193c0065014b8c6252a0678671c8d478
                                             Module libvdpau.so.1 with build-id 96ac4ef0ce4b2bdbe091782d97eafadd6e4cea90
                                             Module libva-x11.so.2 with build-id e6a0ffef32570ba034a3724e735ba0fa90d39eee
                                             Module libva-drm.so.2 with build-id 5ac46263a883c725bfed65d98ff2e3162fd464ad
                                             Module libfreetype.so.6 with build-id 26c5f833068ff72660d1975cbc2074c3eb47fad8
                                             Module libfontconfig.so.1 with build-id 1103a641395c7d3b42e49b793d3a9ea927c77bf6
                                             Module libzimg.so.2 with build-id 25c3481f3b09acafae5fb2cc6adb7791148941d6
                                             Module libvidstab.so.1.1 with build-id 8f75d19083cbc44f1cfda8fca285a23424dd2b2a
                                             Module libass.so.9 with build-id c3d3ce271a32a7749234134657aef9a1ab51690b
                                             Module libvmaf.so.0 with build-id a64af375cb31830ab85909ba6d31751818efad5c
                                             Module libfribidi.so.0 with build-id 79124bad061c2aab4ec89f25d067363d5b781114
                                             Module libpostproc.so.55 with build-id e239123489eb3ed04f410eadf72a0ce5c7f87c07
                                             Module libswscale.so.5 with build-id bb3be17fd6e24f9dc4eecc60ab771b4d16f887ee
                                             Module libmfx.so.1 with build-id 8281ba744d2215511b252db50250f1d4e073d36d
                                             Module libva.so.2 with build-id d0042003bbdf0c10b26dbc25c80cb06eb64b4f5c
                                             Module libxvidcore.so.4 with build-id 43bc390a7842a7ca3a0302e93442ea561d7f013a
                                             Module libx265.so.199 with build-id 22130b9b0d2aa957b148b0fdeb27e3fd04f0fb58
                                             Module libx264.so.163 with build-id 8f90efeb3197366ecf6574384b1adf9c8996157e
                                             Module libtheoradec.so.1 with build-id 19d321fd5455c7b7611ca9602a804b496124e06f
                                             Module libtheoraenc.so.1 with build-id cde750f0621140f313e4ef4e5f212e662f24a38b
                                             Module libSvtAv1Enc.so.0 with build-id 3ebe5abcc88d5855fde0b2645844f80f03982902
                                             Module libspeex.so.1 with build-id 39721dbe21b62978562c2943279f6dffbffe8946
                                             Module librav1e.so.0 with build-id 2e9e70e2433e4d2955a870f2de730172729fbe4f
                                             Module libopenjp2.so.7 with build-id 0a329c12468c33c92ecbc3968f4dc9c79cc5db96
                                             Module libopencore-amrnb.so.0 with build-id a3d78948c85fa235e66549119b2f130e69af7b70
                                             Module libgsm.so.1 with build-id 1cc6240f7eaedaaac302bc7c0f64ebbeae596f22
                                             Module libaom.so.3 with build-id 17c2d78932dffd790b290358a144c2b0ef5ddd17
                                             Module libcairo.so.2 with build-id 06820af9cf79c2deb207d9533a61caf04e67a8ad
                                             Module libglib-2.0.so.0 with build-id 220436a4e27f39372710df014d2517c0387eefa4
                                             Module libgobject-2.0.so.0 with build-id e67b3a29cecdd98c3d8bd6eb7524a812331b20a2
                                             Module librsvg-2.so.2 with build-id 6b6b837ebec63485c2e1b826260885f065d22683
                                             Module libopencore-amrwb.so.0 with build-id 28da8ed3dfca59280e835c46bd40da295dae99e2
                                             Module libdav1d.so.5 with build-id 82862181dbe48302fde94240f68e17fb6f9a03c7
                                             Module liblzma.so.5 with build-id 8b615460aa230708c5183f16bede67aa0437d95e
                                             Module libwebp.so.7 with build-id 87e81472aa7ff3ed1061cfc13d6960dbe00c35ab
                                             Module libwebpmux.so.3 with build-id 4e17ff5fa40f00cda51d08d9edd48d442d3044e2
                                             Module libvpx.so.7 with build-id 0dce08d8df560a9817a17291a53f905fd7d17c62
                                             Module libswresample.so.3 with build-id e46062e25d0903796dc55ca3c82c188d7887b433
                                             Module libdl.so.2 with build-id 5abc547e7b0949f89f3c0e21ab0c8331a7440a8a
                                             Module libssh.so.4 with build-id 8490056688e60790230f9d990c439b181236e9b6
                                             Module libsrt.so.1.4 with build-id ad13eeb20e5ea3f04a0b089de1152ff89a9fa65c
                                             Module libgnutls.so.30 with build-id 8c87466eacaec0041a370df713d0fd200358c94c
                                             Module libgmp.so.10 with build-id e58d34ab389d1b649c24195c2d145e3ff2e58290
                                             Module libbluray.so.2 with build-id ebaa74ef4d549c1d3f01fafb8625045d286b8940
                                             Module libxml2.so.2 with build-id b710b880b0d4e9c93554fa632129db44c20632cd
                                             Module libc.so.6 with build-id 4b406737057708c0e4c642345a703c47a61c73dc
                                             Module libpthread.so.0 with build-id 07c8f95b4f3251d08550217ad8a1f31066229996
                                             Module libgcc_s.so.1 with build-id 7f8508bb914546ada778809b64b99d234337d835
                                             Module libm.so.6 with build-id 2b8fd1f869ecab4e0b55e92f2f151897f6818acf
                                             Module libstdc++.so.6 with build-id 9b5eeeb149bf3c4efe787fb398b44f00507aec87
                                             Module libsystemd.so.0 with build-id 69dfd360ef432adc8911dd446411765f1922fb48
                                             Module libmpdclient.so.2 with build-id ab5c2ec68c709cb98396047084066f1d4dd4520d
                                             Module libtwolame.so.0 with build-id 1590e3fa9f48316cfce042b3e552f76359022b8e
                                             Module libmp3lame.so.0 with build-id 48c901805551a3dd58d02502c4cd67f6aa848107
                                             Module libvorbisenc.so.2 with build-id 28ed815b8b1d322e6bf2bfdce4b0af2789b74335
                                             Module libWildMidi.so.2 with build-id 2f9017a5d413f868dfe62c1c225795b851a79f01
                                             Module libwavpack.so.1 with build-id 1ac2a2b6c0943a3b2b4bde94e6bec88e97b9f54f
                                             Module libvorbis.so.0 with build-id ad0a6c1af8f219b4e314090b6e8847223d424cbe
                                             Module libogg.so.0 with build-id ca0cae30a809f10db1f16e54a23b4e5ff7b2c54c
                                             Module libsndfile.so.1 with build-id 72d5531e74ed3e9afe49e95e449c40cb8984a258
                                             Module libsidplayfp.so.6 with build-id 2d2a94017c8ff94327804c77bc65923660a279fa
                                             Module libopus.so.0 with build-id 649d3ddab8764d7caf73648004a35cb13e23a5e1
                                             Module libmpg123.so.0 with build-id d407ec260259c0c44763f426829d868e0ecede63
                                             Module libmpcdec.so.6 with build-id 0794d516f1da996f22be7c54da384c6a6365d34e
                                             Module libopenmpt.so.0 with build-id 9b7d37c8e6471d722061c78f5932de74a79b17a3
                                             Module libmodplug.so.1 with build-id b00dcb12e7d2d5882b4fa414295eba449875dae4
                                             Module libmikmod.so.3 with build-id b7727056483836e5d171207586c6f827a501cb02
                                             Module libmad.so.0 with build-id 9ce3fef26f9bcd9cb386e7147c02875b0e45f79e
                                             Module libgme.so.0 with build-id 34780ed55da1e6da65ff4f6c5a40a1d9c35fc5d3
                                             Module libfaad.so.2 with build-id 75e2ecdd670261f35855b77646f78d4e0e52b723
                                             Module libaudiofile.so.1 with build-id fdede1cb13565ed9119f68b41fc05330dd8bc467
                                             Module libfluidsynth.so.3 with build-id d50f3072c2409611ae46fba7acd316f44b9d905b
                                             Module libFLAC.so.8 with build-id e568dc3d434723c72d6d302eb0b2559f27e91faa
                                             Module libavahi-client.so.3 with build-id 1858551543958190c653b565cf0eb64609ad908a
                                             Module libavahi-common.so.3 with build-id 80fda945459a3476ccd1050783dfd5f5c17c479a
                                             Module libopenal.so.1 with build-id 7c93c80117973dac6b9ac5a67461e4a12e8f186b
                                             Module libshout.so.3 with build-id 92b70fe2b20a023c1d9c98d7bd321a7a6c645d4d
                                             Module libpipewire-0.3.so.0 with build-id c053f8ef8a503e4e7b72a458d990a41e81c31aff
                                             Module libjack.so.0 with build-id c57f990350a0d651d8ddf0f4fa6cc42bc7f03960
                                             Module libao.so.4 with build-id afafaa6478de7f1d9e20b3f157943bbabd384955
                                             Module libpulse.so.0 with build-id 10bd0ce0cfbb9405cee189faa1830cf34cab61a8
                                             Module libzzip-0.so.13 with build-id 3c78894f81dac5d95a87ebd04ebbad3b36f54398
                                             Module libiso9660.so.11 with build-id 84807c7758b52a58d195041627393ba194c5f34b
                                             Module libbz2.so.1.0 with build-id 919597c477c9b2cb9cdbb7745ed6494ac0e6da60
                                             Module libid3tag.so.0 with build-id d85400f3117db0f000f5b9f95c11a13cfb3f49a1
                                             Module libsoxr.so.0 with build-id 9e49936ed807c1e52705b88d5d71706fe11d9ed1
                                             Module libsamplerate.so.0 with build-id e7eba744904f8220874bf5883c90c15b887e4deb
                                             Module libasound.so.2 with build-id b17fc1317a484842433c772360376623b64ec3d8
                                             Module libnfs.so.13 with build-id 993dd43641b2066397baedadfb5ae42876a235a9
                                             Module libmms.so.0 with build-id bf9be39d5c7cd76d2ae9b617508f291ce9f09c80
                                             Module libcdio.so.19 with build-id b378a41a8f3f007797133df4ed03790f3de12e3d
                                             Module libcdio_cdda.so.2 with build-id 0df8d5e677509a15d63574927e126483fbe418e0
                                             Module libcdio_paranoia.so.2 with build-id c098ca2399ac750022db5457ba1ab5acf14e8bcb
                                             Module libexpat.so.1 with build-id 64e977cfebfe7539f428dec3b388f5d0498b3108
                                             Module libcurl.so.4 with build-id 6d8b3894028b18652d982456a34e7b275ed6cc96
                                             Module libixml.so.11 with build-id 81a3a9f6047dd86d7a54e58ceac876cfd25419f6
                                             Module libupnp.so.17 with build-id d3da76d02c26f1fbaa0d2d9f441d95247690173f
                                             Module libicuuc.so.70 with build-id 2e245c2bf12f95fd8ab79b3a4be99524677cbd70
                                             Module libicui18n.so.70 with build-id 95af755fca990df26753a7d720b8e3ae24270e42
                                             Module libz.so.1 with build-id 0c1459c56513efd5d53eb3868290e9afee6a6a26
                                             Module libchromaprint.so.1 with build-id 838cb01b886703493333124831f9c3b7c512e108
                                             Module libsqlite3.so.0 with build-id 5f711261aabe285f02a673ded77a37b413afbfa2
                                             Module libpcre2-8.so.0 with build-id 7ade7d8b44c84833a41fe87f30330ce17458808a
                                             Module libyajl.so.2 with build-id 392467faca2d964441b8226ee48d994ffc70e545
                                             Module libavutil.so.56 with build-id 4349b10cc6d45ef37bbb95bf73f936e885b4456a
                                             Module libavfilter.so.7 with build-id 4d8c68434abb45cd6e32f3b71458cd17647c6d3f
                                             Module libavcodec.so.58 with build-id ee7f4c1bebe06325cb15545d9c748bd94473112d
                                             Module libavformat.so.58 with build-id 8b172cc1d947afa363cf842c83a281bf17510644
                                             Module libfmt.so.8 with build-id c3f6708fe8ace56083397602097e9964d80a020f
                                             Module liburing.so.2 with build-id c7f5471ffaddf14493c661e39976cf4f43aa43a1
                                             Module libdbus-1.so.3 with build-id 74f2ab9c60512f3a93c932c3f627564d42e0b11e
                                             Module mpd with build-id d8213ca178e3de45711e6865601a1b2fdba21594
                                             Stack trace of thread 2678:
                                             #0  0x00007f118a0405e4 n/a (libpipewire-0.3.so.0 + 0x8a5e4)
                                             #1  0x00007f1174332352 n/a (libspa-audioconvert.so + 0x1e352)
                                             #2  0x00007f11744233a0 n/a (libpipewire-module-client-node.so + 0x2b3a0)
                                             #3  0x00007f118a01496b n/a (libpipewire-0.3.so.0 + 0x5e96b)
                                             #4  0x00007f118a01d016 n/a (libpipewire-0.3.so.0 + 0x67016)
                                             #5  0x00007f1174338bee n/a (libspa-audioconvert.so + 0x24bee)
                                             #6  0x00007f1174383e5c n/a (libspa-audioconvert.so + 0x6fe5c)
                                             #7  0x00007f11743383a6 n/a (libspa-audioconvert.so + 0x243a6)
                                             #8  0x00007f1174406794 n/a (libpipewire-module-client-node.so + 0xe794)
                                             #9  0x00007f1174415965 n/a (libpipewire-module-client-node.so + 0x1d965)
                                             #10 0x00007f117444dee5 n/a (libpipewire-module-protocol-native.so + 0x13ee5)
                                             #11 0x00007f117444e4e0 n/a (libpipewire-module-protocol-native.so + 0x144e0)
                                             #12 0x00007f118cbe197b n/a (libspa-support.so + 0x697b)
                                             #13 0x00007f118a03b29a n/a (libpipewire-0.3.so.0 + 0x8529a)
                                             #14 0x00007f1187af2259 start_thread (libpthread.so.0 + 0x9259)
                                             #15 0x00007f1187a1b5e3 __clone (libc.so.6 + 0xfe5e3)
                                             
                                             Stack trace of thread 2672:
                                             #0  0x00007f1187a0bd8e fstatat (libc.so.6 + 0xeed8e)
                                             #1  0x00007f11879da0ac __tzfile_read (libc.so.6 + 0xbd0ac)
                                             #2  0x00007f11879d9c04 tzset_internal (libc.so.6 + 0xbcc04)
                                             #3  0x00007f11879d9e3e __tz_convert (libc.so.6 + 0xbce3e)
                                             #4  0x000055ce883ba5f3 n/a (mpd + 0x835f3)
                                             #5  0x000055ce883ba6cd n/a (mpd + 0x836cd)
                                             #6  0x000055ce88391342 n/a (mpd + 0x5a342)
                                             #7  0x000055ce883c1ddd n/a (mpd + 0x8addd)
                                             #8  0x000055ce883c622e n/a (mpd + 0x8f22e)
                                             #9  0x000055ce883c3427 n/a (mpd + 0x8c427)
                                             #10 0x000055ce8838a936 n/a (mpd + 0x53936)
                                             #11 0x000055ce8838b9b5 n/a (mpd + 0x549b5)
                                             #12 0x000055ce883823fa n/a (mpd + 0x4b3fa)
                                             #13 0x00007f1187944b25 __libc_start_main (libc.so.6 + 0x27b25)
                                             #14 0x000055ce883826ee n/a (mpd + 0x4b6ee)
                                             
                                             Stack trace of thread 2676:
                                             #0  0x00007f11899440bb n/a (libmad.so.0 + 0x50bb)
                                             #1  0x00007f118994499a mad_synth_frame (libmad.so.0 + 0x599a)
                                             #14 0x000055ce883826ee n/a (mpd + 0x4b6ee)
                                             
                                             Stack trace of thread 2676:
                                             #0  0x00007f11899440bb n/a (libmad.so.0 + 0x50bb)
                                             #1  0x00007f118994499a mad_synth_frame (libmad.so.0 + 0x599a)
                                             #2  0x000055ce8840d42c n/a (mpd + 0xd642c)
                                             #3  0x000055ce8838d0e8 n/a (mpd + 0x560e8)
                                             #4  0x000055ce88397c9f n/a (mpd + 0x60c9f)
                                             #5  0x000055ce88398497 n/a (mpd + 0x61497)
                                             #6  0x000055ce883bd5ed n/a (mpd + 0x865ed)
                                             #7  0x00007f1187af2259 start_thread (libpthread.so.0 + 0x9259)
                                             #8  0x00007f1187a1b5e3 __clone (libc.so.6 + 0xfe5e3)
                                             
                                             Stack trace of thread 2673:
                                             #0  0x00007f1187a1b92e epoll_wait (libc.so.6 + 0xfe92e)
                                             #1  0x000055ce883c331e n/a (mpd + 0x8c31e)
                                             #2  0x000055ce883bd5ed n/a (mpd + 0x865ed)
                                             #3  0x00007f1187af2259 start_thread (libpthread.so.0 + 0x9259)
                                             #4  0x00007f1187a1b5e3 __clone (libc.so.6 + 0xfe5e3)
                                             
                                             Stack trace of thread 2677:
                                             #0  0x00007f118a01dbca n/a (libpipewire-0.3.so.0 + 0x67bca)
                                             #1  0x00007f11743318ff n/a (libspa-audioconvert.so + 0x1d8ff)
                                             #2  0x00007f117433eb07 n/a (libspa-audioconvert.so + 0x2ab07)
                                             #3  0x00007f1174352039 n/a (libspa-audioconvert.so + 0x3e039)
                                             #4  0x00007f117437d075 n/a (libspa-audioconvert.so + 0x69075)
                                             #5  0x00007f1174344909 n/a (libspa-audioconvert.so + 0x30909)
                                             #6  0x00007f117437d3f4 n/a (libspa-audioconvert.so + 0x693f4)
                                             #7  0x00007f11743324b1 n/a (libspa-audioconvert.so + 0x1e4b1)
                                             #8  0x00007f118a018fc9 pw_impl_node_for_each_param (libpipewire-0.3.so.0 + 0x62fc9)
                                             #9  0x00007f118a03bc3d n/a (libpipewire-0.3.so.0 + 0x85c3d)
                                             #10 0x00007f118a01496b n/a (libpipewire-0.3.so.0 + 0x5e96b)
                                             #11 0x00007f118a01cc92 pw_impl_node_update_properties (libpipewire-0.3.so.0 + 0x66c92)
                                             #12 0x000055ce883faee0 n/a (mpd + 0xc3ee0)
                                             #13 0x000055ce883ec7cd n/a (mpd + 0xb57cd)
                                             #14 0x000055ce883bd5ed n/a (mpd + 0x865ed)
                                             #15 0x00007f1187af2259 start_thread (libpthread.so.0 + 0x9259)
                                             #16 0x00007f1187a1b5e3 __clone (libc.so.6 + 0xfe5e3)
                                             
                                             Stack trace of thread 2675:
                                             #0  0x00007f1187afe8ca __futex_abstimed_wait_common64 (libpthread.so.0 + 0x158ca)
                                             #1  0x00007f1187af8270 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xf270)
                                             #2  0x00007f1187d35f01 __gthread_cond_wait (libstdc++.so.6 + 0xccf01)
                                             #3  0x000055ce883a401d n/a (mpd + 0x6d01d)
                                             #4  0x000055ce883a9333 n/a (mpd + 0x72333)
                                             #5  0x000055ce883bd5ed n/a (mpd + 0x865ed)
                                             #6  0x00007f1187af2259 start_thread (libpthread.so.0 + 0x9259)
                                             #7  0x00007f1187a1b5e3 __clone (libc.so.6 + 0xfe5e3)
                                             
                                             Stack trace of thread 2674:
                                             #0  0x00007f1187a1b92e epoll_wait (libc.so.6 + 0xfe92e)
                                             #1  0x000055ce883c331e n/a (mpd + 0x8c31e)
                                             #2  0x000055ce883bd5ed n/a (mpd + 0x865ed)
                                             #3  0x00007f1187af2259 start_thread (libpthread.so.0 + 0x9259)
                                             #4  0x00007f1187a1b5e3 __clone (libc.so.6 + 0xfe5e3)
                                             
                                             Stack trace of thread 2680:
                                             #0  0x0000000000000000 n/a (n/a + 0x0)
                                             #1  0x60000055ce000000 n/a (n/a + 0x0)
                                             ELF object binary architecture: AMD x86-64
Jan 18 09:31:18 Haku systemd[1078]: mpd.service: Main process exited, code=killed, status=11/SEGV
Jan 18 09:31:18 Haku systemd[1078]: mpd.service: Failed with result 'signal'.
Jan 18 09:31:18 Haku systemd[1078]: mpd.service: Consumed 1.661s CPU time.

Doesn’t look like a config issue. MPD or one of its dependencies seem to be at fault. Try downgrading MPD, or informing devs on GitHub → https://github.com/MusicPlayerDaemon/MPD/issues

Edit:

@Feakster

Please remove these lines from config now. Otherwise the log file will get unnecessarily polluted.

Thanks for a great guide!

Do you know if it’s possible to display the current played track in the HTTPD stream?
I can’t find any information about it online. I could use Icecast as an alternative, but I think I’d run into the same problem: only the user defined stream name will be displayed in the client player.

Also, by the way, even if after hours of watching youtube videos, reading generic articles aimed at minecraft players, highly technical stackexchange posts that aren’t related to your situation, you still can’t get port forwarding working, it might be your ISP doesn’t allow it and they’ve put you behind a thingamajig called a CGNAT or whatever (I speak from experience). You have 4 options here:

  1. Call your ISP to give you a public IP
  2. Rent a VPS (that isn’t behind such restrictions), open ports on that and tunnel it’s traffic to your PC.
  3. Use something like ngrok
  4. Realise port forwarding isn’t all that, and there are finer things in life.

By the way @flyingcakes, did you move on from Strawberry because it couldn’t handle your large library, or was there another reason? Personally I have a small collection of music but I actually started out with mpd, because the first music player suggestion I came across was ymuse (because of this thread), which is a frontend to mpd and I just assumed all music players of linux ran this way. I was really happy to find strawberry.

yeah this thing is there with my network :sob:

I had switched from Budgie DE to i3wm. MPD + keyboard shortcuts + polybar mpd module made for a great experience for me. I’m sure I could control Strawberry using playerctl and stuff, but I find MPD based set up much easier / faster to get done on a new install.

tl;dr it was nothing against strawberry. I found more merit in mpd.

Edit:

I just installed Strawberry to compare. Strawberry scanning my music directory took noticeably more time than MPD. MPD gets done in ~1-2 minutes; Strawberry took around 4 minutes… so even though the scanning time is double, it doesn’t hold too much significance. Its just four minutes.

Playing songs, searching etc happened in Strawberry as instantly as it happens with MPD.

For reference, my music folder is currently 95GB, and I found Strawberry to be snappy at whatever its doing (except scanning for music). So it boils down to personal preference. I’m an MPD person.

Hello Everyone ! Sorry to bump this old thread.
I installed and configured mpd following the eos blog but can’t get it to start yet. Please help
when I run

systemctl --user status mpd.service

× mpd.service - Music Player Daemon
     Loaded: loaded (/usr/lib/systemd/user/mpd.service; disabled; preset: enabled)
     Active: failed (Result: exit-code) since Sun 2022-09-25 20:04:26 IST; 3s ago
       Docs: man:mpd(1)
             man:mpd.conf(5)
    Process: 2180 ExecStart=/usr/bin/mpd --systemd (code=exited, status=1/FAILURE)
   Main PID: 2180 (code=exited, status=1/FAILURE)
        CPU: 64ms

Sep 25 20:04:26 Mahakaal17 systemd[676]: Starting Music Player Daemon...
Sep 25 20:04:26 Mahakaal17 mpd[2180]: Ignoring the 'pid_file' setting in systemd mode
Sep 25 20:04:26 Mahakaal17 mpd[2180]: exception: Failed to bind to '[::1]:6600'; Failed to bind socket: Address already in use
Sep 25 20:04:26 Mahakaal17 systemd[676]: mpd.service: Main process exited, code=exited, status=1/FAILURE
Sep 25 20:04:26 Mahakaal17 systemd[676]: mpd.service: Failed with result 'exit-code'.
Sep 25 20:04:26 Mahakaal17 systemd[676]: Failed to start Music Player Daemon.

upon running

mpd --kill

exception: unable to read the pid from file "/home/mihir/.config/mpd/pid": No such file or directory

Please help.

In your mpd config file, comment out the PID file option

1 Like

Now I get
exception: no pid_file specified in the config file
error…

Thank you for the guide.

In http stream you have used
format “44100:16:1”
isn’t that mono if I understand it correct. It might be what you want, but if it is mono this should properly be explained.
So that if you want stereo it should be format “44100:16:2” or better, you should out comment that setting.

I would also set the stream to opus for better sound quality at a lower bitrate, if one want low data usage.

A nice addition to mpd to have a multiroom and multidevice pour man’s Sono system, is Snapcast. Works like a charm…