DietPi - Roon server - Some questions

Just had a read of this and can see that it would be really useful for some.
I sync my music using Syncbak so for the few things I need file management for I use DietPi Dashboard and the command line to update things like LMS and AssetUPNP.

Good to see more and more software being included with DietPi while still being defaulted as a very lightweight OS

1 Like

Just installed it. Very nice user interface, better than DietPi Dashboard

Torben

2 Likes

They are not aiming to do the same thing. Yes, this appears nicer (from your screenshot) than the file browser part of DietPi dashboard, but the latter is not the primary purpose of the Dashboard. In fact, I have never used the DietPi Dashboard file browser (I even had to run up the Dashboard to confirm that it even offered this functionality because I couldn’t remember with any certainty :slight_smile: ).

The intersection in functionality between File Browser and Dietpi Dashboard is likely very small indeed.

Nor are they mutually exclusive. You can have both running on the same DietPi installation.

Another alternative is Webmin. This is also supported out of the box with DietPi and it offers a file manager that is closer in appearance and may offer even more functionality - for permissions management, for example.

2 Likes

I think I will :slight_smile:

Torben

Many are using DietPi, so that they can combine Roon and Plex on the same server.

If you are thinking about a lifetime Plex, than be aware of the upcoming price increase:

As of April 29, 2025, Plex are increasing the price of there Plex Pass subscription. You can still purchase a Lifetime Plex Pass subscription at the current price of $119.99 USD before the increase goes into effect on April 29, 2025. After that date $249.99

Torben

1 Like

Have bin running DietPi on my NUC13ANHi7 (Roon Server, Asset UPnP) now for more than 6 months and it works just fine. Never had any problems.

All SW updates (DietPi, Roon etc.) has just been working fine.

The Debian/Linux is more complicated compared to Windows, but I am slowly getting better and better.

Torben

2 Likes

Yep it just works really well.

1 Like

As a weekend project I tried out DietPi on my NUC7i3 running ROCK and like to share my experiences.

Installation:
…was easy, I used a spare M.2 SSD and flashed the UEFI live image provided on the DietPI website to skip installation via an USB-stick.
To do this, i installed the SSD in an external case and deleted / reformatted it using the GUID-Partion scheme. I used BalenaEtcher on MacOS to flash the image and didn’t have problem.
After moving the SSD inside the NUC, replacing the SSD holding ROCK, it just booted right up.
So if I want to convert back to ROCK, I’ll just swap the SSD back and should be back in business.

Mounting the Music SSD:
Music is stored on a separate SSD inside the NUC as required by ROCK.
To make it accessible to RoonServer, it needs to be mounted using the DietPi-Drive-Manger.
I didn’t mount it inside the dietpi-usderdata folder (as recommended), but in a separate folder (/mnt/music_disk) to keep things separate. Makes no difference inside Roon, as you have to point Roon to the storage location anyways.

RoonServer:
I installed RoonServer and restored from a previously made backup on USB-stick.
However through the change of music storage location, my complete library had to be reimported again. Since it’s only around 16.5k tracks, this didn’t take much time though. So I might as well have started from scratch.

Making the Music SSD available through SMB:
I installed the SAMBA server and added the /mnt/music_disk as another share in the smb.conf file to make it accessible over the network.
To be able to write to the share, ownership of the music SSD needed to be changed. By default, ROCK sets owner “root” and group “1001”, which is unknown in the dietpi installation.
Recursively changing ownwership to root:dietpi did the trick. In case one might want to revert things back to ROCK, ownership needs be reset to root:1001 to ensure it can be written to in ROCK over the network.

Dashboard:
i installed the DiePi-Dashboard for getting an overview of CPU and RAM usage. The nightly build was necessary because of the above mentioned bug regarding misreporting the CPU temperature.

According to the Dashboard, Roon doesn’t stress the NUC too much, although it’s not the newest model. RAM usage is around 1.5 GB and CPU still idles around 1-2% when playing music with DSP (convolution) applied. Upsampling to DSD taxes the CPU quite a bit more, going up to about 20%.
CPU temperature stays around 30 - 40° C in most cases (passively cooled AKASA Newton case).

ACPI:
To make it possible to shutdown the NUC using the power button (as ROCK does), i installed ACPI and configured the power button event to shutdown the PC. Nice!

Regards, Roland

2 Likes

Hi Roland. Thanks for sharing - great info.

But what is ACPI and how to install that?

THX

Torben

PS:
Currently I have activated “Deep Power Saving Mode” to make sure that my OWC Express 1M2 also is turned off, when turning off the NUC. But now I can’t use Wake-Up-Lan anymore. Currently it is not possible to have both.

Torben

Hi Torben,

ACPI means “Advanced Configuration and Power Interface” and should be supported by any modern day PC.

Dietpi doesn’t come with ACPI tools installed, so you need to install those via:

apt -y install acpid

After that, you have to create a folder for acpi event configuration files like so:

mkdir -p /etc/acpi/events/

Next you create a file for the power button event:

sudo touch /etc/acpi/events/power_button

Finally you write to the file using the following command

cat <<EOF > /etc/acpi/events/power_button
event=button/power PBTN 00000080 00000000
action=/sbin/poweroff
EOF

and reboot the machine to apply the changes.

This command automatically executes the poweroff command if you press the power button.

To me this is an important function as I usually only turn on the RoonServer for listening to music and would like to turn it off afterwards without fiddling around with a web interface.

Roland

2 Likes

Thanks Roland. Looks like a good solution.

With Rock I had

rock.local/1/poweroff

installed on my iPad and iPhone. That was easy. That is the only thing that I am missing with DietPi - but you can’t have it all :slight_smile:

Right now I am using DietPi Dashboard to turn the unit off. But your solution is more convenient.

Grüße aus Altona-Altstadt
Torben

@Roland_von_Unruh Hi Roland

There seems to be a more simple solution. Just use

apt install acpi-support-base

Nothing else, it includes the power button trigger.

acpi-support-base is a Debian package that provides scripts for handling basic ACPI (Advanced Configuration and Power Interface) events, such as the power button press.

Torben

2 Likes

The installation look like this:

Torben

My 10th Gen NUC has always powered down when I press the button. But I installed this anyway thanks :grin:

Yes FOMO :man_facepalming:t3:

1 Like

Hi Michael. Now you know, that you perform a graceful shutdown :grinning_face:

Torben

1 Like

Another interesting finding in my experimenting with DietPi. This ist however not related to Roon but to Linux on intel NUC-based devices (or even more general intel SATA-controllers of a certain generation) using the internal SATA-connector with SAMSUNG SSDs in general.

So what’s the issue?

I set up DietPi on my Nuc7i3 formerly running ROCK, having all music on a 1 TB SAMSUNG 860 Evo 2.5" SATA SSD.
Monitor and keyboard are connected to access the local console, although it will be used headless after setup has completed.

When writing to the Samsung SSD (e.g. copying music files to it), the locally connected screen is flooded with error messages from the sata interface stating
“failed command: WRITE FPDMA QUEUED”

Google research initially indicates hardware problems with the drive, cable or onboard SATA-Controller. Ouch. A spare SAMSUNG SSD behaves the same. A spare HDD works fine however. So hardware seems to be OK.

Digging deeper this comes down to a long standing known issue between SAMSUNG SSD, intel SATA controller and Linux Kernel with NCQ (native command queuing) implementation and it is recommended, to turn off NCQ for the specific controller/port to fix this. This slows down max. write speeds a bit, but in the above scenario you get an even bigger performance impact due to regular SATA interface halt and restart on every error.

So in case you encounter the same issues on your system, you need to edit the Linux kernel boot parameters to add a forced “noncq” command for the specific SATA controller/port.

Open the config file for grub filesystem to edit kernel boot parameter

sudo nano /etc/default/grub

Find the line

GRUB_CMDLINE_LINUX_DEFAULT="..."

And add the following parameter to the existing ones

libata.force=x.yy:noncq

Where “x.yy” specifies the SATA-controller giving the errors.
The controller ID is stated in the error messages, make note of those.
In my case the controller ID is “1.00”. This could be different on your system depending on your specific hardware.

Now the edited line looks like this in my case (“consoleblank=0” was there before, “libata.force=1.00:noncq” added):

GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0 libata.force=1.00:noncq"

Note: You can also leave out the controller ID, but this deactivates NCQ for all drives, so NVMe SSDs which are not affected are unnecessarily slowed down significantly by this.

Save the file and run the following commands to apply the changes:

sudo update-grub

Now reboot and you’re done. The flooding error messages should be gone now.

Hope that helps (if help is needed),

Roland

P.S.:
I don’t know whether ROCK suffers from the same issue or Roon maybe has applied the same solution to it a long time ago already from testing with NUC hardware.
Testing with a monitor connected to ROCK and copying large amounts of data to the internal storage SSD didn’t show any error messages on the screen, but these may just be hidden below the ROCK status message display.

3 Likes

Debian 13 “Trixie” is anticipated to be released in the summer of 2025.

The DietPi team will probably provide an update script to be able to change the Debian version. The update has to be triggered by the user, similar to what they did with Bookworm. They don’t plan an automatic destro upgrade.

Will you update?

Thanks

Torben

At the moment, I have a Gmktec NUCbox G3plus incoming which I want to set up as RoonServer on DietPi with all M.2 SSDs. This should perform better than my old NUC7i3 and not suffer from the above NCQ issues when writing new music to the SSD. First priority is to get this is up and running reliably

When DietPi Updates will be available, I might give it shot with a spare M.2 SSD to be able to roll back by just swapping the SSDs.

But just for running RoonServer, there might be not much to gain (if any at all) from updating the base Linux Distro. As long as the current release is still supported with security patches, I don’t see any real need for updating.

Regards, Roland

1 Like

Not immediately. Bookworm will continue to get updates for some time and there will likely not be any real benefit to me as things stand. So ill stick with the old mantra - “If it ain’t broke, don’t fix it”.

1 Like

Hi Roland,
I have the GMKtec NucBox G3 plus and use it as a Roon-server.
But, I don’t use it with DietPi, but directly as a ROCK-server (or should I say (MOCK-server).
This is very stable and you don’t have to worry about updates: Roon takes automatically care of all the necessary updates. Very handy.
And I have also done a twist on the GMKtec NucBox G3 plus. I use the M.2 slot 2242 SATA for the operating system, while I use the M.2 slot 2280 PCIe (the big one) as internal musicstorage.
This is because you don’t find a 2242 SATA with a big capacity, and the OS (Operating System) of Roon Rock doesn’t need a lot of place. The Internal Music Drive will need a lot more of capacity if you have a large collection.

Good luck with your new Roon Server, Frank.