Project with PeppyMeter Screensaver Plugin for VOLUMIO v2.9xx and 3.0xx buster

Hi cripsy,
unfortunately only with the new Buster version of Volumio Peppymeter also working with Tidal Connect.
Peppymeter on 2.9x of Volumio only works with the local Tidal-plugin.

@2aCD

Just transitioning from Volumio v2 to v3.
Thus, to report that so far PeppyMeter working fine at v3.xx RC1.

Xant

Dear 2aCD
I am new to Volumio. I really like the peppy meter screen saver.
The display I use has 1280×720 pixel, so the custom_3 set matches only almost…
I tried to make a new custom folder where (at first…) changed some positions of the meters in the confines.txt but nothing changes (even if changed the config of an existing folder).
Do i ned to reinstall the plugin first? is it possible at all to change it?
Thanks in advance for your help.
Best regards Christoph

Hi Waldi,
the active installed plugin is not in /home/volumio. That’s only the install source. The active folder is installed in /data/plugins/miscellanea/peppy_screensaver

Copy the custom_3 folder to a new custom_x folder.
It’s important, that all *ext.jpg inside the folder have the right size for your resolution (1280x720). You can cut the ext.jpg files a little bit (40px on upper area and 40px on lower area) Then subtract from all y-values in meters.txt 40px.
You don’t need a reinstall. The custom folders are read, when the peppy-screensaver starts.

You can give me a hint, if all that is working
:+1:

1 Like

Thank’s for your help i’ii try…

1 Like

Hi Waldi,
I have now look the resolution 1280x720
its not possible to cut simple. I’ll transform the available meters to this resolution, so that shows correct. The only one that you simple cut is the crystal meter. With this you can try it.

best regards
2aCD

Hello 2aCD

Thanks to your help I already started to make my own designs for the Screensaver, it works well.
Once I am 100% happy with it l will post
some screenshots.
Thank you
Waldi

Hi Waldi,
I‘m ready now with the complete set of meters for 1280x720.
You can download the folder separate on post 7 of this thread

1 Like

First of all LOVE THIS PROJECT!!! So excited to see it!

I am having one issue and I am hoping that you can help.
Current setup - Raspberry Pi 3 B+ with Hifiberry Digi and a 5 inch Waveshare hepatic touchscreen. Brand new install of volumio 3.138 with PeppyMeter Screensaver 1.3.0 listening through Spotify connect. Needle Cache (OFF) Smooth Needle (10) VU-Meter (Dash)

Issue - After 2 - 3 minutes of Spotify connect the sound goes blank and I get a Spotify API connect problem. From the log I see:
ALSA lib pcm.c:8424:(snd_pcm_recover) underrun occurred

ALSA lib pcm.c:8427:(snd_pcm_recover) cannot recovery from underrun, prepare failed: Device or resource busy

thread ‘’ panicked at ‘called Result::unwrap() on an Err value: Error(“snd_pcm_recover”, Sys(EBUSY))’, /build/cache/git/checkouts/librespot-6f197fd632ef9380/08d8bcc/playback/src/audio_backend/alsa.rs:134:53

If I don’t have the meter turned on it continues to play without issues (just the meters don’t move)

Wondering if the PI 3b+ doesn’t have enough memory to handle the Meters or if there is a setting I can change.

Oh wow, what’s that. It seems the alsa pipeline needs to many cpu not to many memory.
Is the problem also occours with local source or Spotify plugin?

1 Like

It doesn’t occur with a local source or web radio only with Spotify Connect.

My implementation is a rather rudimentary ALSA sink, I need to clean it up when I have some time, and make it more robust.

For completeness, are you using the multiroom feature as well? Is it enabled?
Can you share what your configuration looks like with cat /etc/asound.conf

2 Likes

Hey Ashthespy,
No multi room and it’s not enabled.
I can share the conf file later this evening, but I have not edited it since clean install.

Hi Nunia,
as workaround you can change the alsa settings in PeppyMeter plugin to second variant.
Then no entries inserted to alsa pipeline. The PeppyMeter use a separate stream from mpd.
Then you have no moved needles for Spotify Connect but for all other sources.
I think then you have no problem with the sound pipe for Spotify Connect.
Can you try this

Yes that is what I actually have done, it works great without the needles moving.

I just ordered a Pi 4 so we will see if that fixes the issue as well.

pcm.!default {
type empty
slave.pcm “volumio”
}

pcm.volumio {
type empty
slave.pcm “Peppyalsa”
}

#input from alsa pipeline
pcm.peppyalsa {
type empty
slave.pcm “postpeppyalsa”
}

#input from modular alsa (DSD → 192khz)
pcm.Peppyalsa {
type plug
route_policy “duplicate”
slave.channels 4
slave.pcm {
type multi

slaves.a.pcm “postpeppyalsa”
slaves.a.channels 2
slaves.b.pcm “reformat”
slaves.b.channels 2

bindings.0 { slave a; channel 0; }
bindings.1 { slave a; channel 1; }
bindings.2 { slave b; channel 0; }
bindings.3 { slave b; channel 1; }
}
}

pcm.reformat {
type plug
slave {
pcm “mpd_peppyalsa”
format “S16_LE”
rate 44100
channels 2
}
}

#input from MPD for peppyalsa
pcm.mpd_peppyalsa{
type meter
slave.pcm “dummy”
scopes.0 peppyalsa
}

pcm_scope.peppyalsa {
type peppyalsa
decay_ms 400
meter “/tmp/myfifo”
meter_max 100
meter_show 1
}

pcm_scope_type.peppyalsa {
lib /usr/local/lib/libpeppyalsa.so
}

#null output
pcm.dummy {
type hw
card Dummy
device 0
}

pcm.postpeppyalsa {
type empty
slave.pcm “postPeppyalsa”
}

pcm.postPeppyalsa {
type empty
slave.pcm “volumioOutput”
}

#There is always a plug before the hardware to be safe
pcm.volumioOutput {
type plug
slave.pcm “volumioHw”
}

pcm.volumioHw {
type hw
card “sndrpihifiberry”
}

with the second alsa option a separate mpd output is used with section

  • input from mpd

for PeppyMeter, this is working fine for all sources, which use the mpd as player.
SpotifyConnect use a separate play engine. That’s the reason why needles no move for Spotify Connect with this mode. But this mode is save, no reformat, dsd native is working.

The first alsa option used the section

  • input from modular alsa

Then a reformat is needed for PeppyMeter stream. I think this need additional cpu timing and then we have the timing problem.
But I’m not shure

I have only tidal, not Spotify to test with a PI4
Perhaps anybody can give a response, if SpotifyConnect working correct with the PeppyMeter in alsa pipeline on a PI4

1 Like

Just got a Pi 4 with 4gb and a clean install. Still getting the same error message, but it will run about 4 minutes now.

ALSA lib pcm.c:8424:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:8427:(snd_pcm_recover) cannot recovery from underrun, prepare thread ‘’ panicked at 'called 'Result::unwrap()on anErr` value: stack backtrace:

Can you enable set LIBRESPOT_DEBUG=yes in startconnect.sh and dump the logs?

Essentially, VLS fixes the buffer and period size - it looks like your sink is draining it rather fast, and we aren’t able to fill it fast enough. Don’t hold me to this though, I’m no ALSA expert :wink:

1 Like

Log Spotify.txt (49.6 KB)

Let me know if this is what you are looking for.

1 Like