-
Notifications
You must be signed in to change notification settings - Fork 38
Diet Pi Installation Extension Manager
This is intended to be an installation walkthrough to install the Roon Extension Manager on a Diet Pi based Raspberry Pi connected to a Raspberry Pi touchscreen. This will also setup Chromium to run in kiosk mode running the Roon Web Controller.
Please Note: This documentation is provided "as is", without warranty of any kind, express or implied. No endorsement is intended express or implied.
- Install should be a minimal as possible
- The Node.js instance for Roon Extension Manager starts on system boot
- The Node.js instance does NOT run as root!
- Chromium runs in full screen kiosk mode without a mouse cursor at system boot
- Chromium does not run until the Roon Web Controller application is running
- Chromium points to the server
- The Roon Bridge software starts at system boot
-
Download and install Diet Pi from http://dietpi.com/ For a Raspberry Pi, the downloaded filename should be DietPi_RPi-ARMv6-Stretch.7z
-
Log in using the provided username and password (default is root / dietpi). On the inital login, this will automatically start a configuration utility.
-
Accept the GPL license notification. Assuming you have network connectivity, this will run a connection test.
-
Assuming the connection test passes, this will begin an automatic update of the system which may prompt for a reboot. Go ahead and let it reboot.
-
Log back in with the provided username and password. This will automatically resume the configuration utility.
-
Accept the GPL license notification. This will show the DietPi software utility.
-
At this time, do not select any packages for installation. Use the "Install Software" option with nothing selected to get a minimal install of DietPi.
-
Log in as root and change the password for both
rootand thedietpiuser
passwd
passwd dietpi
- Get the IP address of the dietpi system:
ip add
-
On the device
eth0, look for the line that saysInetfor the IPv4 address orInet6for the IPv6 address. -
From your desktop, SSH to the dietpi system as the
dietpiuser using the password you set above.
Mac or Linux, open a terminal and run:
ssh dietpi@(IP Address)
Windows users can use putty
This will configure your system to run the Roon Extension Manager software.
- As
root, run the software configuration
dietpi-software
- Select
ChromiumandRoon Extension Manager
Software Optimized -> Chromium
Software Optimized -> Roon Extension Manager
-
Install the software, then exit
-
The Raspberry Pi will reboot at this point.
Roon Extension Manager is now installed and running. Select Settings->Extensions on your Roon Remote to manage your extensions.
This will configure Chromium to be a Roon Web Controller client.
- On the Roon Remote, go to Settings->Extensions
- For "Category", select "Web / Connectivity"
- For "Extensions", select "Web Controller"
- For "Actions", select "Install"
- Select Save
Once the install is complete, "Web Controller" will show up in the extension list. Select "Enable"
- As
root, run the autostart configuration:
dietpi-autostart
-
Select
Custom - /var/lib/dietpi/dietpi-autostart/custom.sh -
Save and exit.
- As
root, install additional required software
apt install fonts-noto openbox
- Modify the
custom.shstartup script
nano /var/lib/dietpi/dietpi-autostart/custom.sh
- Add this to the bottom of the file:
# Wait until the application is listening on port 8080
PORT=$(ss -l | grep ':8080')
while [ -z "$PORT" ] ; do
echo "Roon Web Controller not running..."
sleep 1
PORT=$(ss -l | grep ':8080')
done
# Run the custom kiosk script
xinit /root/kiosk.sh -- -nocursor-
Save and exit
-
Make the
custom.shscript executable
chmod +x /var/lib/dietpi/dietpi-autostart/custom.sh
- Create the
kiosk.shscript
nano /root/kiosk.sh
- Paste this as the content
#######################################
#
# Start up script for running the
# Chromium web browser full screen
#
#######################################
# Set the X display
export DISPLAY=":0"
# tune the screen blanking time - time in seconds (standby, suspend, off)
# All numbers are time in seconds
# default value
# xset dpms 600 600 600 &
# 1 minute blank time
xset dpms 60 60 60 &
# start the window manager - needed for the kiosk to fill the entire screen
/usr/bin/openbox &
# start full screen web app
# change the URL if Roon Web Controller is running on a different system
/usr/bin/chromium-browser --kiosk http://localhost:8080
-
Save and exit
-
Make the
kiosk.shexecutable
chmod +x /root/kiosk.sh
- As
root, run the hardware configuration
dietpi-config
- Set the screen resolution to be optimized for the RPi Touchscreen
Display Options -> Change Resolution -> RPi Touchscreen 800 x 480
- Set the screen rotation if your Touchscreen display is upside down
Display Options -> Rotation (LCD) -> 180 degrees
- Set the GPU/RAM Memory Split
Display Options -> GPU/RAM Memory Split -> Desktop 128MB GPU
- Save and exit. Reboot when you are prompted.
This will configure the system to be a Roon music playback endpoint.
- As
root, run the software configuration
dietpi-software
- Select Roon Bridge
Software Optimized -> Roon Bridge (listed under Media Systems)
-
Install the software, then exit
-
Set Roon Bridge to run at boot time and start it immediately
systemctl enable roonbridge.service
systemctl start roonbridge.service
- As
root, run the hardware configuration
dietpi-config
-
Adjust your soundcard selection under
Audio Options -
Save and exit. If prompted, reboot.
At this point, you can go to an Official Roon client to enable and configure the endpoint.