I am using Allo Boss2 player with dietpi installed. In Roon I have Volume control set to device Volume and have set maximum safety levels to 70. This works fine most of the time and won’t allow me to go above. However, I noticed that if I restart the DietPi (power cycling it), after Roon rediscovers it the volume is set at 100. This is dangerous because one may just hit play without checking and do some damage to hearing or equipments.
UPDATE: this issue was solved after I upgraded DietPi to new version(v8 I think).
What do you mean by that, do you simply unplug power or do you call poweroff/reboot or similar to perform an ordinary shutdown/reboot sequence? At least ALSA mixer settings are indeed stored persistently via alsa-restore.service only on ordinary shutdown sequences, hence would be lost when simply unplugging the device, like a few other things as well, RAMlog files and such.
I simply unplug power. Roon remembers my safety volume setting though when it first re-discovers the device it sets the volume to 100 while showing my max in the UI, so it’s not simply a matter of losing that info.
I couldn’t find any version in its web based UI. Do you know how to obtain that if I SSH to it? Also, I realized I am not using the latest version of DietPi so I am updating it now.
Don’t do that, as said, you’ll loose a bunch of info and variable data, as well as risk data corruption when writes are done or kept in filesystem cache. The shutdown sequence is done for a reason, to gracefully stop services, give then a chance to store variable data, sync is called to write the filesystem cache persistently to disk, DietPi-RAMlog stores the empty /var/log structure and metadata to disk to not loose new log files (along with their required permissions etc) and all such. Use poweroff or reboot and in case of the first wait until LEDs indicate a complete shutdown before unplugging power.
I’m not 100% sure though whether this solves your issue, it is just a strong general recommendation. In case Roon sets volume via device (ALSA/hardware level) and not internally (software level), it is however very likely. You can store settings manually via:
alsactl store
And you can check whether Roon applies volume via ALSA mixer settings by verifying that you see the set volume as well in:
Well it was because you said this is what you do, so I though you do it intentionally. When you usually call poweroff, forget about that.
When alsactl store is used once (or a regular shutdown/reboot), ALSA settings are stored to disk, hence a power loss won’t revert to 100% then, assuming that Roon indeed uses ALSA mixer settings to apply volume.
In case Roon applies volume internally, probably systemctl restart roonbridge makes it persistent.
Okay great. I guess it really was an ordinary service stop (either Roon Bridge or alsa-restore.service or both), triggered by the update, which made it persistent .
IMO a major question is whether one wants a single purpose device or be able to easily add other purposes/server software. If one wants to run a Roon Bridge only, ropieee will be great, I guess, as all they do is make Roon Bridge running great on the RPi, similar to how LibreELEC is a great choice, probably the best for running (only) Kodi on an RPi or other supported device. The benefit of DietPi is indeed that its designed to allow easy install and run other software aside of it, which is not natively supported or as easy to setup on ropieee resp. LibreELEC. Since DietPi supports a large number of devices and close to 200 different software titles, bear with us that we may not setup all of then as great as the single-purpose OSes do at all time on all supported SBCs/hardware . Community/user feedback is always very welcome to detect issues or possible enhancements.
I guess ‘powerful’ was the wrong word since the point of Ropieee is doing just one thing and doing it right. But I think you are selling yourself short, DietPi is also pretty damn good in just running Roon Bridge, especially for users with some Linux experience. Anyways, thanks for the terrific work!