Linux partition for HQP/Roon server

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.

  1. 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.

  1. 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 ! @dabassgoesboomboom) 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.

  1. 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.

  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.

  1. 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.

  1. 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.

  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.

  1. 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.

  1. Configure HQPlayer zone in Roon

I didn’t have to do this. Roon and HQPlayer were quite happy with the existing HQPlayer localhost zone.

  1. Play Music

Always good to hear the music coming through the speakers after making changes.

  1. 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 :slightly_smiling_face:. 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.

Original Post

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 @dabassgoesboomboom 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.

1 Like

Finally !

Hey @andybob

For dual booting Windows 10 and Ubuntu, I followed notes from these 2 guides:

Get Ubuntu successfully installed alongside Win10 first.

Any questions about that, I can try to help and there are way smarter people here than me.

After that I can share my notes/command lines about installing HQP Embedded & Roon Server (pretty easy).

This is what I’ve done for the i9-9900K machine I built for my old man. It’s setup to boot Ubuntu Desktop automatically but for the rare occasion he needs Win10, it’s there but he’s gotten used to Ubuntu Desktop now for general needs. Apart from Roon & HQP (headless operation) he only needs it for FireFox and Thunderbird.

For myself, I had Ubuntu, Win10 and macOS tri-booting on my MacBook at one stage. Just so I could practise using Ubuntu before getting new hardware.

Hope this helps.

1 Like

I wonder how many !'s I’ll get when I make that statement. Lol


@andybob, what’s the status?

Where are you up to with Operation Dual Boot?

Don’t tell me you got cold feet ! :grin:

No still very interested. I’m waiting on a USB stick which should arrive by the weekend. Then I have to hookup video and keyboard to the server and get cracking. I’ll flag you when I get a working dual boot. Thanks for your assistance !

1 Like

Wait. What? I have those things littering my space. I never get rid of 'em. In fact, I think I have a 32 MB key in my desk right now. :smiley:

1 Like

I don’t usually use or need them that much. I’ve got a couple which are being used for Roon database backups and some really old ones of dubious reliability. So I just ordered a new one which is probably sitting in my mailbox.

Some preliminary questions:

I don’t think I’ll need a swap file partition. The server only has 8gb of RAM but that has been fine for Windows/Roon/HQP.

Will the Roon database be located in the Root or Home directory ?

It is located in /var/roon/RoonServer/DataBase - this is, in the root hierarchy.

1 Like

Even if you are not doing suspend or hibernate, I would still make a small swap file.

Only 8 GB? ( Eyes light up with upgrade glee…) Are you sure you don’t want 16? After all future-proofing!

But seriously, 8 GB should be fine. You can always add RAM, that is such an easy fix.

You know… I don’t remember, definitely NOT Root. It has been a couple of years since I last looked at Linux install. Part of me want to say VAR. However, I do have a linux with Roon drive I can just pop in and check when I get home tonight.

It might surprise @dabassgoesboomboom but, I have installed and run RoonServer on Ubuntu, Mint, Cinnamon, Elementary, Arch, Debian, Fedora and others. I’ve been meaning to try it on Solus.


I think I may have confused things by saying directory when I meant partition (the installer creates swap, root and home partitions). If it is in var then I need to make sure the root partition is big enough for any growth in the database.

Are you moonlighting as some kind of seedy street RAM vendor Daniel ?

Next thing I know you’ll have me with RGB hanging off everything. I couldn’t believe what some RAM looks like these days.

remember with an actual Linux install you can have media on the same drive which I usually keep in the home directory.

1 Like

I think it is good practice with a Linux server to have OS and Roon Server stuff on one physical disk, and have another physical disk for user files (/home/, etc.).

That way you won’t run into problems if you have to reformat your OS drive, and it is easier to manage space for audio media.


(sheepishly looking around) You mean like in my latest build…

Hmmm I think you confuse me with someone else.

My Linux abilities are somewhere in between beginners and intermediate.

I’ve gotten dual boot and HQP Embedded and Roon Server to work flawlessly but that’s about all I can do. And to do all that I’ve had to follow guides.

Ye gods and little fishes.

“mesmerizing dynamic multi-zone RGB lighting”.

If things keep going in this direction every capacitor will have a little disco ball on it.

1 Like

actually, all my lighting is centrally controlled and is a nice muted shade of blue. very coordinated

I’ve fallen at the second hurdle. I have a Ubuntu 14 Bionic Beaver Desktop iso burned to a USB and I get the Ubuntu installer menu when I boot from it.

But if I select Install Ubuntu, I just get a white screen with a blinking cursor.

I thought this article described the same issue. But E doesn’t bring up an editor.

The installer menu screen says use Tab to edit entries. I have tried adding nomodeset before quiet splash using that CLI, but enter just takes me to the white screen again.

Any ideas ?

Edit: Hmm I think I burned the iso so maybe this article will help. Giving it a go now.

Edit: Nup. I’m going to burn the USB again with a new download.

try burning the iso to a DVD and boot with it.

No DVD drive. Will report back after reburning.

1 Like

I never had any drama following those guides , so can’t help on this particular issue andybob :frowning:

1 Like