Project with PeppyMeter/PeppySpectrum Screensaver Plugin for VOLUMIO

Hey @Lee.Yan

Please share your solution so other members also can run PeppyMeter/PeppySpectrum 2.2.1.
There are many forum members that would like that!

Best Regards / C

The problem is caused by Python version 3.11! Simply install another Python version, such as Python 3.7, and let PeppyMeter 2.21 run this Python version, and it will work normally.

Hey @Lee.Yan,

Your claim that Python 3.7 resolves PeppyMeter 2.2.1 instability on Volumio 4 requires significant clarification before anyone should attempt this.

What you have not told people:

  1. Python 3.7 reached end-of-life on June 27, 2023. That is over 18 months without security patches. The Python Software Foundation no longer maintains it. Period.

  2. Debian Bookworm does not ship Python 3.7. It was removed from repositories because it is EOL software. Installing it requires either compiling from source or using pyenv - neither of which you explained.

  3. Volumio’s OTA update mechanism depends on system Python 3.11. Installing Python 3.7 system-wide and pointing things at it risks breaking OTA updates entirely. Users who follow incomplete instructions may find themselves unable to update Volumio without a full reflash.

  4. PeppyMeter does not magically know to use Python 3.7. The plugin startup scripts must be modified to invoke the correct interpreter. You have not explained this.

  5. Virtual environment isolation is mandatory. If you install Python 3.7, it must be contained in a venv or pyenv environment to prevent contamination of system packages. You have not mentioned this.

The actual technical issue:

Pygame instability on Bookworm is more commonly caused by SDL version mismatches than Python version. Pygame compiled against one SDL version will crash with “RuntimeError: SDL compiled with version X, linked to Y” when the runtime SDL differs. This is documented in pygame issues 3427 and 3461.

Before assuming Python 3.11 is the problem, proper diagnosis requires:

  • Exact error messages from PeppyMeter crashes
  • pygame version installed
  • SDL2 library version on system
  • Method used to install pygame (pip vs apt)

If you have genuinely solved this, the community would benefit from a complete guide that includes:

  • Exact steps to install Python 3.7 in isolation (pyenv recommended)
  • Virtual environment setup
  • Plugin script modifications to use the isolated Python
  • Confirmation that OTA updates still function
  • Actual diagnostic evidence showing Python 3.11 was the cause

Telling people “just install Python 3.7” without this context is setting them up for broken systems.

Kind Regards,

2 Likes

First, running PeppyMete 2.2.1 in the native Volumio 4 system-integrated Python 3 (version 3.11.2) resulted in two errors: 1. Failure to start multithreading (_start_new_thread(self._bootstrap, ()),RuntimeError: can’t start new thread), causing the PeppyMeter interface to be incomplete. 2. PeppyMeter runtime was interrupted (Error: Segmentation fault).

Pygame installed via apt only works with Pygame 2.1.2, which I uninstalled. Pygame versions 2.2.0, 2.3.0, 2.4.0, 2.5.0… were installed via PIP, but the errors were consistent. OK

Second, Python 3.7 is installed and runs completely independently and does not replace the system-integrated Python 3.11. Modifying the script to start PeppyMeter and running it with Python 3.7 will not affect Volumio’s OTA updates or cause system pollution.

So explain the community which steps they need to do, they will appreciate it.

1 Like

In version 3.xxx, OTA update was possible after disabling the plugin

Yes correct, but a plugin should not need to be disabled in order to perform an upgrade :wink:
That is the whole reason why it was never added to the store.

1 Like

Oh, it seems there is such a problem. OTA will remove plugins.

It’s quite obvious that Python 3.11’s built-in security mechanisms affect the operation of PeppyMeter, and I haven’t been able to find any references for Python 3.11’s security mechanisms.

Just turn it off (I think)
during the update (this was the case for 3.xxx)

@Gelo5 Did you try? :slight_smile:

NO, I didn;t try - I’m waiting for @Lee.Yan to try

To be honest, I never use OTA updates. They’re too slow and unstable, and there’s no guarantee that installed and tested programs will continue to work. I have a faster, more efficient, and safer way to upgrade.

Maybe try OTA? With the plugin disabled?

My upgrade method required no changes to any system settings. I just upgraded to version 4.073, and all Peppymeter functions that I had previously installed and configured remained unaffected.

1 Like

In that case, please write step by step how to install Peppymeter…
I will try to update via OTA

1 Like

I actually have another RPi5 lying around that I can tinker with. A clear, step-by-step guide on how to install PeppyMeter (2aCD version) on Volumio v4.xxx from you, @Lee.Yan, would be greatly appreciated.

Oh, I forgot to mention that all my operations were performed on an x86 computer platform. However, theoretically, it should be the same on RPi5. Python is a high-level language, so if the Volumio4 RPi5 version also uses Python 3.11, it may encounter the same problem.

@Lee.Yan According to your posts, it seems like you did these steps to make it work, correct?

  1. Install PeppyMeter (v2.2.1) onto Volumio 4.xxx
  2. Install Pygame v2.1.2
  3. Install Python 3.7 (3.7.9?) along side with 3.11
  4. Change the script on “run_peppymeter.sh” from python3 to python3.7

Did I miss anything?

There are two improvements I appreciate in the Volumio 4. First, the more updated drivers allow me to use 5G Wi-Fi, which makes searching for music on the NAS much faster. My 5G Wi-Fi connection speed reached 433.3Mbps, compared to only 72Mbps or 150Mbps with 2.4G. Second, the Volumio 4 supports exFAT for USB hard drives, which is excellent, as many large-capacity hard drives now use the exFAT format for cross-platform compatibility.