MPD 0.21.16 for Volumio (arm, armv7 and x86)

No worries! Good to see this has been resolved. I do find it odd that playing DSDs would require more power than, say, FLACs. Maybe more power is needed to read the files at a higher data rate from the HDD?

1 Like

@songskim: the odroid xu4 version is a community porting, this means we use (re-)configured hardkernel sources. Any audio updates have to be done by us.
Unfortunately, for dsd playback manufacturers have to register their devices in the linux kernel with a vendor and product id to have them properly detected as dsd-capable devices.
I did an update quite a while ago, so can’t guarantee your device is covered.
Can you tell us what USB DAC this is (brand/ model), ideally with vid:pid you get from the ‘lsusb’ command?

@gkkpch
The USB DAC I am using is made by sotm audio(https://www.sotm-audio.com/sotmwp/english) and the model is sdp-1000. This DAC uses AK4399EQ chip as dac and XMOS chipset for usb communication. The result of my “#lsusb” shows
#############
Bus 001 Device 002: ID 20b1:2102 XMOS Ltd
#############

Specification for SDP-1000
########################
USB specification 2.0 or higher
USB audio class 2.0
32bit/192Hz PCM & DSDx64 playback
Native ASIO support
Optical, Coaxial, AES/EBU input
Max bit-depth : 24bit
Sampling rate : 32KHz, 44.1KHz, 48KHz, 88.2KHz, 96KHz, 176.4KHz, 192KHz
##########
sotm-audio has newer version SDP-1000EX(https://www.sotm-audio.com/sotmwp/english/portfolio-item/sdp-1000/) which is capable of playing DSDx128. Mine is older version.
Several audio media introduced the product when it came out. 6Moon ehaute fidelite

p.s. this is off topic however I translated volumio into Korean because only a small part had been translated. I tried pull request with git tool. However seems like it did not go through. I would gladly contribute to volumio if I can be any help. At least translation is the biggest thing I can do…

please have a look here : https://translation.volumio.org/

1 Like

Thanks balbuze. I uploaded my translations. However there are some more translations needs to be done in Volumio UI. I will probably finish these in a few days.
I like working with these translation tools such as Weblate, Transifex…etc. better than git :wink:

Thanks @patrickkfkan. Updating mpd made Tidal actually usable for me. I have been having problems with mpd hanging when using Tidal with Volumio to the point that I just gave up and started using Spotify instead.

Just wanted to chime in and say updating MDP also works without issues for me on a Raspberry Pi Zero, even though it only has 512mb of RAM!

Great work, installed it on Pi 4, after MPD upgrade works fine,
Thanks Patrick

Such a great job, I just wanted to say THANKS @patrickkfkan, after updating MPD both the seek and the 3/4 cutoff issues were solved on my Raspberry PI 3 mobel B+!
Just a little note: once i completed the MPD switch i had to reboot volumio, since when i issued the status command i first saw “activating” and after a few minutes it switched to “deactivating” status.
After executing a volumio restart everything worked properly and the new MPD version is being used.

Thanks and welcome to the community :slight_smile:

I can confirm that this version also works on Asus Tinker Board S (ARM/Pi version)

Hi @patrickkfkan I appreciate too much your work. It is becoming more and more common to find good audio playlists on Youtube, some with many hours of open music. I followed your procedure and I can confirm it works on these conditions:
Hardware setup: Raspberry Pi 3B with Suptronics X4000 (R-PI DAC equivalent), 256GB USB stick.
Software setup:

  1. Fresh install of volumio-2.587-2019-06-11-pi
  2. Applied your build of MPD 0.21.16
  3. Reboot
  4. Installed yctr version 0.1.0a-20210627
  5. Also installed SpotifyConnect and Wifi Reconnect plugins (those that I use)
  6. Plugins activation form the UI

Observations made:

  • Youtube cast works, only the UI shows counter like starting from zero when opened, but after a simple volume change it corrects to actual playback elapsed time.
  • USB media content was updated over SSH and the directory was updated instantaneously.
  • DLNA works, tested browsing and playback.
  • Web radio works, both Volumio selection and user entered.
  • RAM memory: Using 909MB out of 994GB no matter if playing from USB or Youtube
  • ytcr fails if Wifi signal is weak for a moment and stream is interrupted, and it does not reconnect anymore :pensive: even if Raspberry is still connected and responsive. No other casting can be made until a reboot. Maybe there is a space for a workaround there.

Best regards and long live to FOSS :slight_smile:

For ytcr disconnecting on weak WiFi, there’s not much that can be done because it has to comply when it receives the ‘disconnect’ command from the Google server (which acts as some sort intermediary between Volumio and the YouTube app). On the other hand, it might be possible work around this by using a TV code linking method which supposedly doesn’t require the YouTube app to be on the same network as the receiver. I’m not sure if this will improve connection stability and it also needs to be implemented and tested, so you would have to wait (no ETA, sorry…)

I get

Sep 22 09:53:34 volumio systemd[1]: [/opt/mpd-0.21.16_20191227/lib/systemd/system/mpd.service:24] Unknown lvalue 'ProtectKernelTunables'
Sep 22 09:53:34 volumio systemd[1]: [/opt/mpd-0.21.16_20191227/lib/systemd/system/mpd.service:25] Unknown lvalue 'ProtectControlGroups'
Sep 22 09:53:34 volumio systemd[1]: [/opt/mpd-0.21.16_20191227/lib/systemd/system/mpd.service:26] Unknown lvalue 'ProtectKernelModules'
Sep 22 09:53:34 volumio systemd[1]: [/opt/mpd-0.21.16_20191227/lib/systemd/system/mpd.service:29] Unknown lvalue 'RestrictNamespaces' in
Sep 22 11:33:24 volumio systemd[1]: mpd.service: main process exited, code=killed, status=11/SEGV
Sep 22 11:33:24 volumio systemd[1]: Unit mpd.service entered failed state.

with Volumio 2.909.

Output of systemctl status mpd?

Also systemctl --version?

1 Like

I did a apt update && apt upgrade, apt purge mpd, apt install mpd and the systemd-switch-mpd.sh script again and now it seems to work so far …

This is the first thing I did by hand apart the setting of the IP since I set up a new Volumio … ~ two months ago.

Always update never UPGRADE @smoneck this will break volumio…

I’m facing an interesting issue on my odroid c1+
You can read more here

basically with the official mpd the scan is awfully slow
With this newer one the scan is blazing fast but at the end it reaches 100% cpu utilization and out of memory making volumio crash.
Volumio-ytcr works great with seeking as well though so i guess something shall be changed to be compatible with odroids?

1 Like

I’ve never actually tried scanning a large library with this MPD version, since I use a separate device running Jellyfin media server that handles around 10,000 tracks, along with the Jellyfin plugin.

I’m not an expert, but the errors look like they are generated by the kernel. The aml_i2c_xfer messages relate to the i2c bus and have nothing to do with the current issue. If I understand correctly, the _hcd_isoc_complete:Uknown urb status -2 messages mean there’s something unusual with fetching / writing data through the USB bus. This is possibly what caused MPD to crash during the scanning stage.

That’s one of the things with using this MPD version on an old distro. The software was compiled with newer libraries, and some of the libraries are meant to work with newer kernels (AFAIK, the Odroid kernel is old… even older than the x86 version that Volumio uses). So it is possible that during the scanning stage, a library fetches data from the USB bus with the old kernel that happens to have a memory leak bug, and that eventually leads to MPD crashing.

1 Like

@patrickkfkan
I’m only scanning NAS devices over samba.
Mediaserver is working great though.
Does Volumio have a way to cheat on media cache? e.g. copying it over from another device?
About kernel facts you are totally right, as soon as Pi4 will drop in price ill go for it.
It’s a shame we can’t run it on a docker though

I’ve noticed the following in /var/log/mpd.log though

Oct 06 14:25 : client: [1] opened from 127.0.0.1:39433
ALSA lib conf.c:3650:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so (/opt/mpd-0.21.16_20191227/lib/alsa-lib/libasound_module_conf_pulse.so: libasound_module_conf_pulse.so: cannot open shared object file: No such file or directory)
ALSA lib control.c:1375:(snd_ctl_open_noupdate) Invalid CTL default
Oct 06 14:25 : exception: Failed to read mixer for 'alsa': failed to attach to default: No such file or directory

is this normal?

volumio@volumio:~$ sudo find / -name libasound_module_conf_pulse.so
[sudo] password for volumio:
/usr/lib/arm-linux-gnueabihf/alsa-lib/libasound_module_conf_pulse.so
/static/usr/lib/arm-linux-gnueabihf/alsa-lib/libasound_module_conf_pulse.so