Volumio for Rock Pi S

The Rock Pi S is a neat little device, with in my opinion the right balance of price, grunt and compactness for headless Volumio.

I had some initial experimental builds some time back - Experimental setup: RockPi S + Vacuum Tube Hybrid Headphone Amplifier - but didn’t complete it and release them to the larger community.

So - here is a more recent build, with working I2S thanks to some help :slight_smile:

I don’t have an 8 channel I2S DAC, but the board is quite capable if you want to try some multichannel DSP stuff.

2021-08-06, version 0.014
-Kernel: 5.10.54
-64bit (kernel + user space)

Known issues
No MyVolumio
arm64 - so plugins will need recompilation
WiFi might be finicky

I am having some issues getting the armhf userspace working with the newer 5.10.yy kernels, so this is a arm64 build that might be a bit rough around the edges with the 32 → 64bit transition.

1 Like

I have burned your volumio build on the card of my Rock pi S v13

First hurdle: Connecting with SSH, what is the password?
I don’t know (tried rock and volumio) so I get permission denied

ssh: UID volumio PWD volumio

Takes about 1 minute to prosess password, then freezes inside volumio. Not my day today

That doesn’t seem normal – could you share the output of dsmeg?
Which version are of the RockPiS are you running? I’ve only tested it on the version with 512MB of RAM…

Its the 256 ram one without wifi
So maybe it is just to small.
It is nonresponsive so can’t get any information out of it, sorry

Yep, I believe Volumio’s nodeJS core won’t do very well on 256MB of RAM…

I was looking for a working rock pi s solution for i2s in and multichanel i2s out.
Guess a volumino solution was overkill🤪

I’d suggest Buster minimal from the Armbian project, my initial kernel patches for the audio stuff is already included in any of the 5.xx kernels :slight_smile:

Volumio requires at least 512MB of RAM, 1GB is strongly suggested.
It has nothing to do with Nodejs but with the fact that Volumio loads the entire OS in RAM to avoid SD Card corruption and improve performances, so ideally RAM should be 2X the OS Size (which is rougly 500mb)


I did some test on the latest 3.014, no problems so far… Analog DAC works out-of-the-box, next step is to try I2S. A few remarks

  • Spotify plugin won’t work, due to different architecture.
  • Spotify-connect should work, but I don’t see the RockPi-S listed from my Spotify app running on phone or PC

Can you use your credentials with Connect to rule out other mdns issues?

how do add my credentials to Connect plugin?

Plugin settings >> toggle discovery (it might be called multiuser?

Done, I’ve added my Spotify credentials, after disabling MultiUser… but I still can’t find the device from the Spotify app.

I see the issue – the installation file in the plugin repo doesn’t pick the correct aarch64 daemon. Not sure why that is, as the old installation script in my repo still selects the correct arch.

Essentially, you need to fetch the correct daemon arch – vollibrespot-aarch64.tar.xz. Either edit the said installation script and re-run things, or better yet, get the latest version with support for the modular_alsa pipeline from balbuze’s repo:

wget https://github.com/balbuze/volumio-plugins/raw/alsa_modular/plugins/music_service/volspotconnect2/volspotconnect2.zip
mkdir ./volspotconnect2
miniunzip volspotconnect2.zip -d ./volspotconnect2
cd ./volspotconnect2
# Edit to fetch right arch
sed -i 's|\[aarch64\]="vollibrespot-armv7l.tar.xz"|\[aarch64\]="vollibrespot-aarch64.tar.xz"|' install.sh
volumio plugin install
cd ..
rm -Rf volspotconnect*

EDIT: But this still won’t work – as Volumio doesn’t recognise the correct ALSA device, and calls it HDMI (see Issue #1890 and my fix #1897 that unfortunately lost momentum) You will have to go into volspotify.tmpl and edit stuff manually for now. I think the DAC LINEOUT or DAC HPOUT might be the right ones, but not sure. Or simpler to get started is to use the software mixer on the inbuilt headphones output… The I2S stuff should be simpler!

I missed this previously, but I don’t think I fully understood your statement…

Where is the loading the entire OS to RAM done?
I always thought it was just a standard SquashFS + OverlayFS?