Volumio for Khadas


Я увлекаюсь звуком.
Поэтому перетестил почьти все одноплатники raspberri pi 3, odroid c2, orange pi pc, khadas vim2, asus tinker.
И стараюсь проверить их как по i2s используя DAC es9018k2m es9028q2m pcm5102 pcm5112.
Так и через usb - amanero xmos.
Те у которых есть spdif то и через него. ( но через него большой джитер).


If you have trouble scanning your music library you need to perform MPD upgrade. SSH to your volumio:

sudo systemctl stop mpd
sudo apt-get install libsidplayfp3
cd /home/volumio (or cd )
wget http://repo.volumio.org/Volumio2/Binaries/mpd-DSD/mpd_0.20.18-1_armhf.deb
sudo dpkg -i mpd_0.20.18-1_armhf.deb
sudo systemctl start mpd

test :slight_smile:


you need to change MPD from v 20.6 to 20.10 or newer one! 2.18 for example.
20.6 have bugs and can’t scan tags and add to library some file formats (aiff for example)


If you have tried to install LMS plugin in volumio you know it’s not working on Khadas! So this is step-by-step how to install it manually which worked for me. I have used install.sh from the original plugin but with different sources to get compatible with vim packages (do not install CPAN patches from the original install.sh!!!):

cd /home/volumio

sudo apt-get install libio-socket-ssl-perl lame unzip -y

wget http://downloads.slimdevices.com/nightly/7.9/sc/6c111ddc1267b1a6977ae42a0a783482c5de63ed/logitechmediaserver_7.9.1~1522249619_all.deb

sudo dpkg -i logitechmediaserver*

sudo chown -R volumio:volumio /var/lib/squeezeboxserver

usermod -aG audio squeezeboxserver

wget -O /home/volumio/CPAN_AUDIO_DSD_7.9.tar https://github.com/Saiyato/volumio-lms-plugin/raw/master/known_working_versions/CPAN_AUDIO_DSD_7.9.tar

sudo tar -xf /home/volumio/CPAN_AUDIO_DSD_7.9.tar -C /opt

wget -O /home/volumio/DSDPLAYER-BIN.zip https://github.com/Saiyato/volumio-lms-plugin/raw/master/known_working_versions/DSDPLAYER-BIN.zip

sudo unzip -o /home/volumio/DSDPLAYER-BIN.zip -d /usr/share/squeezeboxserver/Bin/

sudo wget -O /etc/systemd/system/logitechmediaserver.service https://raw.githubusercontent.com/Saiyato/volumio-lms-plugin/master/unit/logitechmediaserver.service


Uploaded an update of Volumio image 20180401 for Amlogic S9xxx (s905x s912) to the site. This image is used to start the system from USB media. Another significant change. You can now quickly edit the command-line parameters that are passed to the kernel without having to build a new script. Parameters are stored in a plain text file, uEnv-volumio.ini, which can be freely edited.


I thing it is better to write instructions in step-by-step how to, because not all readers interesting in Volumio are linux experts :wink:


yes, this is a problem but a consequence of building a generic script for various tv boards.
It needs users to do some post-install additions and Volumio updater is not available.
I’m following the discussion to decide if we should perhaps have a Khadas-specific build at some point after all (without the user having to interfere).
Not convinced yet that it is needed, but the basics have been tested, including Volumio updater.


balbes150 is a kind of genius for khadas! He made almost all of the firmwares including Librelec, Armbian and Volumio. What i am trying to say is that DYI community need more simple explanation. Not all of us are linux experts :wink: That is all.


Very true, I really like the Khadas platform work the guy has done for us.
As a Volumio OS dev, working with him has been a pleasure (and will continue gladly).
We have the same goal, get Volumio working on Khadas and possibly other tv boards…
A board-specific follow-up from us could be a second one, I have not decided yet.


Command-line information applies only to professionals. Ordinary users do not need this. This topic read not only regular users but also the developers, this information is for them.


I agree but not being a developer i am trying to be kind of a bridge for ordinary audiophile users (that know what SSH mean) and you :slight_smile:

BTW, I am really happy with the last images be cause of not using .dtb file I can finally have volumio installed on VIM/VIM2 w/o any noisy interfaces active and w/o internal audio card as well :slight_smile:

The problem i have now with VIMs is the same i had with Nanopi neo and nanohat pcm5102a, i can’t activate I2S using Volumio OS. In Armbian there is a way to do it but with Volumio isn’t working.


I have tested last two images of Volumio from balbes150 and i can say they work as expected at least for me.

My config is:
VIM2 max (tested on VIM Pro as well)
Volumio with installed plugins for Youtube, Spotty/Spotify, squeezelite, tunein, etc
LMS (DSD patched) with Youtube, ickStream for TIDAL, Spotify, Soundcloud, Mixcloud, Radio Paradise
ROON bridge

More than 2000 local albums with more than 27000 songs all in aiff and dsf and no problem even for VIM 1 with 2GB ram and 16GB eMMC to handle them and play when scanning the library!


Hi Stefan,

you can activate I2S for a simple DAC (I tried Odroid HiFi shield) with the following sequence.
modprobe snd_soc_pcm5102
modprobe snd_soc_odroid_dac

The problem with this is that though it seems to work (i can see the device open with correct hw_params in /proc/asound/card1) but there is no sound.
I expect something is not right with the dtb as a decompiled versions shows it is using the same GPIO pins as Odroid (GPIOAO_8, GPIOAO_9, GPIOAO_10 and GPIOAO_11, but this is incorrect as they have to be GPIOH_6, GPIOH_7, GPIOH_8 and GPIOH_9 according to VIMs pinout scheme in the wiki.
My knowledge of DT is not good enough to fix this. I tried to modify it by using the required pins and recompiled, but there is no difference.
balbes150 is aware, so I hope he can help.


I made changes to the dtb. Try this dtb for VIM1.


@balbes150 —> BINGO!!!

It works, but I had terrible crackles at first.
A reboot solved it, not sure where this came from.
Webradio was tested with an Odroid Hifi Shield +, so basic I2S is OK.
I need to do further testing with different formats and sampling rates, but need to build my library on VIM for that first.
After that I will try a pcm512x based DAC.

Edit Playing upto 352.8Khz/24bit, currently I do not have anything higher than that, but this means it works just as well as on an Odroid, using the same material.


Do you use it in master mode or slave? This DAC supports both i think. Or i am wrong?


I cannot run the Odroid HiFi shield without MCLK, otherwise I get just a load of crackles.
Meanwhile I have tested a pcm512x and an ES9023 DAC, both fine with the Odroid pcm5102a driver.
Trying the pcm512x DAC with control via I2C fails because of i2C issues on I2C-1, need to look into that in more detail and send balbes150 a log.
Edit The pcm512x was not the Hifi Shield 2, did not want to risk that because I only have one :wink:
Edit 2 The pcm512x does fine without MCLK


Enjoying the music in 192Khz/24bit, tomorrow I’ll connect an Allo Boss.
Pity we have no i2c yet for hardware control, but surely it will follow soon.


This is when you play DSD64 over PCM right? I can’t test I2S on VIM unfortunately. I don’t have compatible DAC. I use XMOS USB to I2S.


Yes, the DACs I use are not capable to reproduce DSD direct.
You will not find any compatible DACs for VIM. The 40-pin connector is not RPI compatible.
Odroid HATs won’t fit either, they have a 7-pin proprietary connector next to the cpu.


Is the volumio controllability locally, without the Internet?
How to do it?