After a not inconsiderable amount of faffing about, I am now listening to Roon Server and HQPlayer Desktop running on Linux (Ubuntu Bionic Beaver with Jussi’s low latency kernel) on my music server (nicknamed MUSE). The good news is that it has cured the stuttering I was experiencing on Windows 10.
Rather than force anyone wanting to do the same to read this whole thread, I have edited this top post to set out the steps that worked, omitting the various blind alleys, dry gulches and red herrings.
- Backup the Roon Database
Always a good idea and will be used when installing Roon Server in Ubuntu. I use a USB stick which was convenient as it was all on the same computer.
- Install Ubuntu
Although the original idea was to create a Linux partition on my existing boot drive, that ran into issues possibly arising from some corruption on the Windows partition. Rather than sort it out, I added a 120GB SSD to the server, installed Ubuntu on it and set the boot menu in UEFI to boot from it.
I mainly followed these guides (thanks Sean ! @lkjhgdaa) to install Ubuntu, adapted for a new disk rather than a partition:
I did experience an issue booting from the USB which was resolved by editing the grub config file on the USB to add nomodeset to the Install Unix menu item. Try this if you don’t get a grub menu from the USB.
As @Andreas_Philipp1 let me know (thankyou !), Roon stores the database in the root hierarchy in /var/roon/RoonServer/DataBase.
Initially I specified 30GB for Root, 16GB for Swap and the rest as Home on the 120GB SSD. Due to my unreasonably large library I filled up the Root space and resized the partitions (back to the USB !) to 60GB for Root.
- Low Latency Kernel with native DSD support
I found these commands to install Jussi’s low latency kernel in this guide to installing HQPlayer Embedded.
dpkg -i linux-headers-4.14.71-jl+_1_amd64.deb
dpkg -i linux-image-4.14.71-jl+_1_amd64.deb
Thanks to @killdozer for letting me know Ubuntu uses Debian package files.
The latest versions of Jussi’s files can be found here and should be substituted into the above commands. When I did it 5.4.50 was the latest version.
As a tip for young players trying to distinguish their l’s from their 1s in the filenames: they are all the lowercase letter l except for 1_amd64.deb which is a numeral 1.
- Configure internal drives to automount at startup
I store music files on two internal drives. This guide sets out how to automount them at startup. The system will automount them into the mnt directory. Note the mount point as you will have to edit the storage paths in Roon to point to them. This can be done by navigating the browser in Roon, but if you make a note of the mount points you will know which drive is which.
- Install dependencies and Roon Server
I installed ffmpeg and cifs-utils and used the Roon Server x64 Easy Install script linked here. This went remarkably trouble free for me.
The script sets Roon Server to autostart as a service on startup.
- Edit storage locations in Roon
Roon doesn’t know where your internal drives are mounted in Linux, so you have to tell it. Use this guide to do so. Using the browse button you can navigate to /mnt and identify the drives using the mount point details you noted earlier.
Once you’ve told Roon how to find your storage drives you can restore the Databae from the backup we took in step 1.
- Install HQPlayer Desktop
Using the Firefox browser on the Ubuntu desktop, go to the Signalyst site Consumer tab and click on the “Download for Ubuntu 18.04” button towards the foot of the page. This opened a software installation screen for me and just worked.
- Configure HQPlayer Desktop
I set HQPlayer to autostart using these instructions. The command to run is “hqplayer4desktop”.
HQPlayer Desktop in Ubuntu was able to see my NAA so I was quickly able to configure it with the same options as I had been using in Windows.
I emailed the HQPlayer Desktop licence file to myself and saved it into the Ubuntu download folder. I was then able to register by loading it into HQPlayer.
- Configure HQPlayer zone in Roon
I didn’t have to do this. Roon and HQPlayer were quite happy with the existing HQPlayer localhost zone.
- Play Music
Always good to hear the music coming through the speakers after making changes.
- Additional steps for keen students
I created a new user account in the Ubuntu desktop and set it to autologin as per these instructions. Making the Ubuntu disk the priority boot device now means I can press start on the server and it will automatically start up in Ubuntu running Roon and HQPlayer.
I installed an SSH server with: sudo apt install openssh-server. I use Termius on iPad to open a terminal on the Ubuntu server.
I wanted to use RDP to simply bring up the Ubuntu desktop and close the server with the power switch but xrdp has some gnarly issues with Ubuntu 18.04. I have now given up on it and will try to get VNC working.
Well VNC was simplicity itself . Used these instructions, entered IP address in Jump and was able to access Ubuntu Desktop from my iPad.
Whup, that didn’t last long. As soon as I unplugged the monitor I lost VNC to a grey screen. There may be ways to deal with this in gnome by creating a dummy, but this dummy couldn’t get it to work. So I changed to Xfce desktop and tightvnc using this guide. So far (cross fingers) it is working and I can listen to music and VNC into the Desktop.
Ok, I’m getting pretty sick of Windows 10 on my dedicated i7 music server and am looking at installing a Linux partition on the 256Gb SSD using Debian Bionic, tweaking it with Signalyst low latency kernel and running RoonServer and HQPlayer Embedded.
I thought I’d open this thread in Tinkering first because I know I’m going to make a heap of mistakes and that’s what we do here … Besides, who else is going to give @RBM his comedy fix for the month ?
Sean @lkjhgdaa I saw that you did this on a NUC, so if you don’t mind could you tell me when I’m running off the rails ? Any and all other assistance from other old Unix hands greatly appreciated.
I found this guide online, which I believe is still the current version.
As I understand it the broad steps are:
Download the Debian Bionic AMD64 installer and burn it onto a UEFI boot formatted USB stick.
Connect keyboard and screen to server and boot from USB stick.
Partition the SSD as per the guide.
Install Debian, boot and update as per the guide.
Install Jussi’s low latency kernel from the bionic directory here. The steps here are unknown.
Mount existing internal music storage SSD and HDD.
Install Linux RoonServer and restore from a recent backup.
Buy HQPlayer Embedded licence.
Install and configure HQP Embedded and point it at microRendu NAA.
Create HQPlayer Zone in Roon.
Cross fingers, hold mouth right and play music.
Detach keyboard and screen and use Putty to turn the server off remotely, some as yet unknown program to control HQP Embedded and Roon Remote for Roon.
Pointing out of any errors or omissions greatly appreciated.