[PLUGIN] Music Services Shield

I am not able to test this environment directly.

Are you able to ssh in and run this command:

cset shield -c '0-0'
cset shield

Thanks, I try my best and will report… :+1:

The Plugin has been accepted into Volumio 3 plugin store.

2 Likes

Hi Pete Do you have any idea when it will be available? It’s not there on my RPI 3+ based streamer with latest (stable) beta Volumio 3

Hmm it should be already there? – the PR was approved Add Music Services Shield to Volumio 3 Plugins by petecallaghan · Pull Request #33 · volumio/volumio-plugins-sources · GitHub


I don’t even see the category Miscellanea (which it used to be in)

It’s under Music Services (wrong category IMO)

1 Like

Perhaps time for a plugin search? :smiley:

1 Like

Ooops :-D.

Wouldn’t be a bad idea. But I agree that Music Services ain’t the right category for this plugin. It ain’t a radio station, nor streaming service

1 Like

Very interesting.
Is it possible to use it effectively for Roon?

The plug-in doesn’t have explicit support for roon. However, if you SSH in, you can run the script files that add a named process to the user shield, or set the process priority.

You can then listen and decide if roon benefits from the shield.

For example, if the roon process is called ‘roon’, then execute the following to add it to the shield:

sudo sh ./moveprocess.sh roon user

Funny, in the code it’s under the System Hardware category :grin:

When I look at the processes with the top command, I can’t tell which one is Roon.

Is there any way to find out?

You can call cset shield -v to see the full list of processes in user or system.

You can also try nano /lib/systemd/system/roonbridge.service to see what the Roon service command is

Thank you.
I don’t know what to do.
I will leave the result of the command.
Could you please advise me?

volumio@volumio:~$ cset shield -v
cset: → shielding system active with
cset: “system” cpuset of CPUSPEC(1-3) with 158 tasks running
USER PID PPID SPPr TASK NAME


root 1 0 Soth [systemd]
root 180 1 Soth [systemd-journal]
root 207 1 Soth [systemd-udevd]
rpc 360 1 Soth [rpcbind]
root 361 1 Soth [haveged]
messageb 366 1 Soth [dbus-daemon]
root 370 1 Soth [systemd-logind]
volumio 372 1 Soth /usr/local/bin/volumio-remote-updater
root 376 1 Soth [alsactl]
root 378 1 Soth [wpa_supplicant]
avahi 384 1 Soth [avahi-daemon]
nobody 390 1 Soth [thd]
avahi 401 384 Soth [avahi-daemon]
shairpor 529 1 Soth [shairport-sync]
root 535 1 Soth [nmbd]
ntp 545 1 Soth [ntpd]
root 549 1 Soth [ifplugd]
ntp 551 1 Soth [ntpd]
shairpor 560 1 Soth [shairport-sync]
shairpor 561 1 Soth [shairport-sync]
volumio 562 1 Soth /usr/local/bin/volumio-remote-updater
volumio 563 1 Soth /usr/local/bin/volumio-remote-updater
root 564 1 Soth [sshd]
root 565 535 Soth [nmbd]
root 580 1 Soth [agetty]
root 581 1 Soth [agetty]
dnsmasq 617 1 Soth [dnsmasq]
volumio 634 1 Soth /usr/bin/node /volumio/index.js
volumio 636 1 Soth /usr/bin/node /volumio/index.js
volumio 637 1 Soth /usr/bin/node /volumio/index.js
volumio 638 1 Soth /usr/bin/node /volumio/index.js
volumio 639 1 Soth /usr/bin/node /volumio/index.js
volumio 640 1 Soth /usr/bin/node /volumio/index.js
volumio 641 1 Soth /usr/bin/node /volumio/index.js
root 674 1 Soth [dhcpcd]
volumio 675 1 Soth /usr/bin/node /volumio/index.js
volumio 676 1 Soth /usr/bin/node /volumio/index.js
volumio 677 1 Soth /usr/bin/node /volumio/index.js
volumio 678 1 Soth /usr/bin/node /volumio/index.js
root 708 1 Soth [winbindd]
root 711 708 Soth [winbindd]
root 713 1 Soth [smbd]
root 715 713 Soth [smbd-notifyd]
root 716 713 Soth [cleanupd]
root 717 708 Soth [winbindd]
root 718 708 Soth [winbindd]
root 720 713 Soth [lpqd]
volumio 763 1 Soth /usr/bin/node /volumio/index.js
volumio 764 1 Soth /usr/bin/node /volumio/index.js
volumio 765 634 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 766 634 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 767 634 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 768 634 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 769 634 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 770 634 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 771 634 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 774 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 775 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 776 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 777 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 778 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 779 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 780 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 781 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 782 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 783 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 784 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 785 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 786 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 787 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 788 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 789 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 790 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 791 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 792 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 793 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 794 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 802 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 803 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 804 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 805 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 810 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 811 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 812 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 813 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 815 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 816 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 817 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
volumio 818 765 Soth /usr/bin/node /volumio/app/plugins/miscellanea/…
root 859 1 Soth [start.sh]
root 863 859 Soth [mono-sgen]
volumio 866 1 Soth /bin/bash /data/plugins/music_service/volspotco…
root 884 859 Soth [SGen worker]
root 885 859 Soth [Finalizer]
root 897 859 Sbat [Thread Pool Wor]
root 899 859 Sf
-1 [Thread Pool Wor]
root 901 863 Soth [mono-sgen]
root 906 863 Soth [SGen worker]
root 907 863 Soth [processreaper]
root 908 863 Soth [Finalizer]
root 909 863 Soth [mono-sgen]
root 914 863 Soth [SGen worker]
root 915 863 Soth [Finalizer]
root 929 863 Soth [mono-sgen]
root 959 863 Soth [Timer-Scheduler]
root 960 863 Soth [Timer-Scheduler]
root 961 863 Soth [RoonBridgeHelpe]
root 962 863 Soth [mono-sgen]
root 964 863 Sf_-1 [Thread Pool I/O]
root 967 863 Sf_-1 [Thread Pool I/O]
root 981 863 Soth [mono-sgen]
root 982 863 Soth [mono-sgen]
root 983 863 Soth [mono-sgen]
root 984 863 Soth [mono-sgen]
root 985 863 Soth [mono-sgen]
root 986 863 Soth [mono-sgen]
volumio 1005 1 Soth /bin/streaming-daemon
volumio 1006 1 Soth /bin/streaming-daemon
volumio 1007 1 Soth /bin/streaming-daemon
volumio 1008 1 Soth /bin/streaming-daemon
volumio 1009 1 Soth /bin/streaming-daemon
volumio 1010 1 Soth /bin/streaming-daemon
volumio 1038 1 Soth /bin/streaming-daemon
volumio 1039 1 Soth /bin/streaming-daemon
root 14949 863 Soth [Worker (1)]
root 15000 863 Soth [Worker (2)]
root 15091 863 Sr_-1 [Thread Pool Wor]
root 18351 863 Sf_-1 [Thread Pool Wor]
root 20669 863 Sf_-1 [Thread Pool Wor]
root 20893 863 Sbat [Thread Pool Wor]
root 24362 863 Sr_-1 [Thread Pool Wor]
root 25689 863 Sr95 [mono-sgen]
root 26042 863 Sr_-1 [Thread Pool Wor]
root 26353 863 Soth [Worker (1)]
root 26384 863 Soth [Worker (2)]
root 26437 863 Soth [Worker (2)]
root 26632 863 Sbat [Thread Pool Wor]
root 26634 863 Soth [Worker (2)]
root 26665 863 Soth [Worker (2)]
root 26781 863 Sf_-1 [Thread Pool Wor]
root 26782 863 Soth [Worker (2)]
root 26783 863 Soth [Worker (2)]
root 26951 863 Soth [Worker (2)]
root 27054 564 Soth [sshd]
root 27106 863 Soth [Worker (2)]
volumio 27123 1 Soth /lib/systemd/systemd --user
volumio 27124 27123 Soth [(sd-pam)]
volumio 27149 27054 Soth [sshd]
volumio 27150 27149 Soth -bash
root 27189 863 Soth [Worker (1)]
root 27218 863 Soth [Worker (1)]
root 27226 863 Soth [Worker (1)]
root 27249 863 Soth [Worker (2)]
root 27250 863 Soth [Worker (2)]
root 27286 863 Soth [Timer-Scheduler]
root 27337 863 Soth [Worker (2)]
root 27338 863 Soth [Worker (2)]
volumio 27353 27150 Roth /usr/bin/python2 /usr/bin/cset shield -v
cset: “user” cpuset of CPUSPEC(0) with 6 tasks running
USER PID PPID SPPr TASK NAME


volumio 872 866 Sr99 ./vollibrespot -c volspotify.toml
mpd 879 1 Sr99 [mpd]
mpd 886 1 Soth [io]
mpd 887 1 Sf50 [rtio]
volumio 5013 866 Sr99 ./vollibrespot -c volspotify.toml
volumio 5014 866 Sr99 ./vollibrespot -c volspotify.toml

1 Like

nano /lib/systemd/system/roonbridge.service

[Unit]
Description=RoonBridge
After=dynamicswap.service

[Service]
Type=simple
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=RoonBridge
User=root
Environment=ROON_DATAROOT=/data/configuration/music_service/RoonBridge
Environment=ROON_ID_DIR=/data/configuration/music_service/RoonBridge
Environment=DAEMON_PIDFILE=/tmp/roonbridge.pid
Environment=DAEMON_LOGFILE=/tmp/roonbridge.log
ExecStart=/data/plugins/music_service/RoonBridge/RoonBridge/start.sh
Restart=always

[Install]
WantedBy=multi-user.target

I’ve drawn a blank here. I can’t seem to figure out the Roon process name. Anyone else got any ideas?

1 Like

I don’t know which one is Roon’s process either.

/data/plugins/music_service/RoonBridge/RoonBridge/Bridge/RoonBridge
seems main body of Roon process.

Many thanks for this plugin. I tried it yesterday with the last version of Volumio (plugin version 1.3.1). Works great, I thought Volumio was good but it does make a big improvement on sound quality. I wonder why it is not simply included in Volumio settings.
Thanks for your work, Flifli

1 Like