Making Roon Industrial Strength

just had a thought, which i’ve been having issues with… and still haven’t really resolved. Maybe it’s the same as you, but for some reason I was thinking your issues were multiple-stream related.

Yes, when I have two remotes “open” at once, I get hanging and roon logo cycling, etc…

I feel like it’s a network-conflict thing vs a core-performance thing.

Generally it’s if I have the application open on two laptops, but it does also happen when open on more than one iOS device too. I’ve gotten used to closing the application on one when I leave that laptop/device.

So, maybe test closing all other iterations of roon remote on all other devices, then just use one remote to “tax” the system. Open streams, start playing multiple zones, etc… and see what happens.

I did start a thread on it…

Deauthorize the extensions and see if the symptoms change.
Second, all endpoints here are on Ethernet vice WiFi. Little trouble
Third, Core is running under POP_OS Linux running in a TrueNAS VM. Quite solid.

You didn’t mention whether troubles were with controllers or endpoints? I get the impression controller and core extensions were the issue.

If all it does in run Roon, why is it a Windows Box? Headless Linux would be fine. ROCK may not run on your hardware as drivers are pared back to those needed by the supported NUCS. If you change to Linux, try Debian as RedHad and Ubuntu are becoming cloud oriented developer releases. Or try POP_OS from System 76 as it is a arts, engineering, and science end user oriented release.

System 76 POP_OS Linux Release

Debian Installation Guide for AMD64 PC hardware

Just take the minimal software installation with the GUI. That will spare you learning UNIX and Linux shell commands. Suggest making dual boot with Linux on a second disk. Follow the Roon core migration guide as license will let you run only one. You’ll be able to mount your media library as Linux now reads and writes NTFS. Set up library, media, and database as CIFS shares.

Yes, I feel like the remotes, web displays and web controllers are more the culprit than the streams. I’ve used the streams for quite a long time. When I get frustrated and restart the core but then don’t restart all the remotes, web displays, and web controllers, Roon is definitely more stable FOR A WHILE.

There are other instability issues not relevant to this discussion. I.e. when I do a lot of Roon Tag queries or otherwise tax the database, Roon has to be restarted then as well. That just makes troubleshooting harder, as no matter what, whether I tax the system with displays and remotes or not, it still needs a restart, but just less frequently.

But thanks for the insights…yes I do think it is more of a display/extension issue.

Why would this be a network conflict? Why would a reboot resolve it for a while if so?

Thanks I am considering all of this. It’s a bit of a learning curve but I’ve had worse…

No idea, really. Only maybe that a reboot clears a network cache? Ahdunno.

You should have no trouble installiing POP_OS or Debian. Both come as live system images that allow you to test the OS on your target hardware. Both have GUI installers that pretty much make all the installation decisions using scripts.

The only tricky bit is picking a disk configuration but they are pretty good about installing on a system after Windows is on. It is easiest if you have a second system disk for a dual boot installation of Linux with Windows. The Linux installation will set up the boot loader and you can choose which of the two to run on boot up. And make one preferred for auto-starting.

Installing roon is simple. Run Roon Labs Linux installer. You’ll need to add some packages, maybe but that is easy. “apt install package-name” from the shell. Roon install is by shell but is copy and paste of commands from the installation guide which is

Roon Downloads and instructions.

Roon Labs takes pains to make the Linux installer just work.

System 76 has attractive desktop systems at competitive prices including NUCS. System 76 folks offer NUC, AMD, and Intel with native graphics or choice of Linux-friendly graphics cards. System 76 NUCS come with curated memory and disks that will run well with the main board in the beast.

Larger Intel and AMD configurations are aimed at video editors and modeling and simulation for model based design or research. These are quite robust and cost competitive with home builds. Some can have ECC and have sufficient disk bays to build a TrueNAS server.

My core runs on an iX Systems Mini+ SOHO storage server.

iX Systems TrueNAS Mini SOHO servers

I ordered mine directly back in the winter. I couldn’t scratch build one for less. Storage and memory cost owns it and iX Systems prices for each are competitive. Note memory is ECC as needed by TrueNAS.

Keep in mind that your choice of streaming services owns response time to many queries if you allow Roon to trawl the streaming services for material in addition to that you’ve put in the library. Library material metadata is cached and quickly searched.

If the core is on a dedicated machine (and it really should be, especially given the OP’s setup) there is no reason to install a desktop version of a Linux distro or dual boot Windows. The learning curve to install a CLI/server version of a distro will be far less than setting up, managing and using a dual boot setup.

What is this???

So it is more-likely an issue with the extension’s code than Roon itself?
For example, I can remember that there where issues in the past with the Roon Extension Manager whenever a Windows remote got started/stopped because Roon on windows can also act as Core. Somewhat similar issues might exist in other extensions. Extensions are provided by community members after all. They may have limited skills as programmers and testing, especially for edge cases, may completely rely on the (probably small) user base of any given extension and the feedback they give.

As a general rule for a stable Roon Core, I would try to run it on a platform that supports ECC RAM. AFAIK Roon’s database is held in memory (RAM) during runtime as much as possible to achieve the goal of a snappy UX. The reason is, my current Windows PC is the first one that runs day by day for months without issues – previous PCs I owned, based on consumer platforms without ECC support usually showed issues (BSOD, spontaneous reboots, …) even when left running without interaction for days. So I currently use a workstation platform with ECC support and workstation/professional grade components (including their drivers) and do not wish to go back to consumer platforms/components (to much time wasted with troubleshooting without being able to pinpoint a core reason, lost data and reinstalls because of damaged data/filesystems, …).

PS: As much as I like the idea of ROCK, to my knowledge the NUC platform it is intended for is a consumer-grade platform that was never intended for professional (reliable, 24/7) scenarios, and all the various reported failures only reinforce my opinion.

2 Likes

Have you looked at the network traffic going to a remote / display? It’s constant as it’s updating every remote with the timestamp of where the track is currently playing. Any hiccup on the network will cause little “locks” and back pressure on this traffic at Core. So, people tax their Core all the time but normally with DSP. Not normally trying to keep handfuls of displays in sync. I think its cool but that’s a lot of network traffic most Roon users are not generating.

How Windows and Linux handle network is different so I’m making a huge assumption that just moving to Linux will give you a significantly better experience. I assume some of your remotes are wireless? You may want to try putting a wireless interface on your Core. That way hiccups and issues in the wifi won’t propagate into the wired network for your displays.

1 Like

I also just thought of this…
If Roon would implement multicasting the “Now Playing” information it would significantly reduce the network traffic in your situation and you could run as many remotes as you want (they would all just “listen” for the multicast traffic). Maybe a feature request but you may be the only one benefiting from it. Or, possibly, this could be done with an extension to take the Now Playing and replicate it as multicast.

1 Like

There are plenty of “industrial” NuC builds. I’m not sure if any NuC sized MB chipset supports ECC RAM however. Intel has, traditionally, not seen value in ECC. However, after Linus just recently called them out and AMD is kind of causing them concern… (AMD supports ECC) they may be slowing coming around to the benefits.

I like to use it because it has a larger album cover and complements the artist images that dominate the chromecast/web browser display (albeit there is a different bug in Roon that doesn’t display a lot of the artist images on the chromecast/browser display).

I’m sure there are multiple issues piling on. My use of the web controller extension is relatively recent and I had many of these problems before that, but it’s definitely exacerbated the situation.

If Roon would just offer up a static display with album cover art that doesn’t require use of the main Roon interface (i.e. only the main Roon software displays album cover art at any reasonable scale and that updates with track progress etc.) then I’d use that and it would have far less network impact. I know - feature request - but it won’t get built or if it did it would be years in the making. I don’t really understand how Roon makes a big deal out of the look and feel of the product but really is very light on the visual appeal of the album covers. You have to use your main Roon interface for that but of course then you cannot access playlist etc. Hence my desire to use a bunch of Roon remotes for that purpose even though they are much heavier and tax the core more than necessary.

Only 2 mobile devices that are not even always on. EVERY other device is hard wired.

I have lost my faith that feature requests are fulfilled with any regularity. Or even really considered by Roon. Look at Roon 2.0, which functions identically to 1.8 as far as I can tell other than ARC. And Roon is clearly looking more at streamers and mobile users these days. Plus I do understand that Roon isn’t building this software just for my music room, albeit I Danny saw this room I think he might consider it.

Once again, thank you all for your input. Especially the options regarding linux builds, since that seems like the logical next step to try.

Heck I’d even license 2 cores if they could somehow work together. I know that isn’t in the cards.

I think you could build this as an extension with Roon API. In fact, you may be able to modify the web extension to drop the not needed data. I’ll have to pull the web extension code and take a look how much work that would be for my non-programmer brain. I know there is an API specifically for pulling just the image across. You still need to subscribe to the zone to get updates on what that zone is doing. The bit I have no understanding of is if you can subscribe to a zone but not get the seek_position.

I use the Web Controller extension too but don’t have issues with extension authorizations.
But while looking into this, I noticed that with Roon 2.0 while I have (Windows 64-bit) Roon open as remote, the Roon Extension Manager is constantly crashing and restarting (was not the case with Roon 1.8 AFAIK). So it looks like Roon Labs may have introduced changes with Roon 2.0 that can lead to issues with extensions.

YES! My use of the web controller at the location where I really push Roon coincides with the upgrade to 2.0.

My assumption was that adding screens - and more chromecast/web browser displays and more remotes – was what pushed Roon beyond its limits. It may be that the extension manager is also involved.

(That is not to say that problems weren’t seen before that. But what caused me to start this thread was that now problems happen within minutes of getting all the peripherals up and running their various Roon functions versus the problems taking hours to creep in.)

The symptom I see with this is music stops - usually with the message that audio is loading too slowly (it’s local music collection on a hard drive in the core - the music is 3 inches away Roon!) and sometimes the Remotes flash the “can’t find core” for a second, then when I go back to the core the extension is de-authorized. So that is the extension manager crashing and affecting the core with it.

My take is there are multiple contributions to this instability but the Roon Web Controller may be an exacerbating cause or the canary in the coalmine.

I’d love to. It’s beyond my current capabilities. I suppose if the extension controller is crashing whenever a Windows remote is open, I wouldn’t be solving my problem anyway, albeit perhaps less taxing if the progress bar is omitted.

The only time I had an extension crash was a faulty disk. Either at Core or the SD card I was using to run the extension on from Raspberry Pi.

Putting consumer-grade Intel NUC boards into industrial all-metal cases with ground (earth) connector sadly doesn’t transform the board into a workstation/pro platform (chipset) with Intel Xeon and ECC RAM support (including pro drivers).

1 Like