New Multi-zoning Music System

So my wife and I purchased our little bit of paradise/retirement (one day) home by the water.  Along with this has dawned a new DIY multi-zoning audio system solution.  This system will consist of 5 zones and are as follows:

 ZONES (and status)

Master Bedroom - Working

Kitchen/Living Room - Working

Theater (Grande) Room - Working

Games Room - Working

Outdoors - Tested, but not fully implemented

There will be an option of outfitting the kid's rooms as zones in the future if required or virtually anywhere in the house.

The layout of the house is as follows:

Basically the house is split into three sections.  The largest area is the ground floor consisting of the outdoors, Theater and Games rooms.  The upper level is the Kitchen/Living room, and the top is the bedroom areas.

In setting up this new system, instead of dropping speakers into ceilings and bringing all the speaker wire back to a central point like I have done before, I'm keeping all the rooms/zones independent, and will be using Raspberry Pi's in their individual zone locations, hooked up to the localized equipment within that particular zone.  Instead of running all the speaker wire, I have run multiple LAN drops to each location that go back to a centralized intranet system with NAS, so I figured this would be easier and cheaper in the long run.  The expected equipment setup will be as follows:

Master Bedroom - Raspberry Pi connect to a Harmon Kardon HK385i stereo receiver.  This receiver will drive to a pair of B&K speakers.  This Pi has been updated with piCorePlayer 8 with Audio Enhancements

Kitchen/Living Room - Raspberry Pi connected to JBL Flip3 Bluetooth portable speaker system to keep a small area footprint. This Pi is currently running piCorePlayer 8 now that the WIFI dongle can be easily recognized and installed.

Theater Room - The theater room Raspberry Pi will be directly connected to the system receiver via HDMI.  The system will play out to a set of Signet fronts and center, Polk Audio R10's as surrounds and a JBL LFE Subwoofer.  This Pi has been updated with piCorePlayer 8 with Audio Enhancements

Games Room - The Raspberry Pi in the games room will be connected to my good ol'NAD 304 integrated amp, driving a pair of Paradigm Titan speakers.  This Pi has been updated with piCorePlayer 8 with Audio Enhancements

Outside - This Pi will reside in the garage area and during the warm months will be connected to the BSG amps that were used previously in my Xlobby multi-zoning project.  The amps outputs will be bridged to provide up to 60W (4 ohms) to outdoor speakers setup around the outside perimeter.    I have previously experimented with using Android app SqueezePlayer on an old Android phone, and considered using this in place of an additional Pi module, but with the ease of piCorePlayer, and I have an older Pi collecting dust, it just seemed to be a better fit.

Initial Client Tests

After trying multiple types of clients, including Volumio, and Squeezelite, I settled on using PiCorePlayer for it's ease of setup, ShairPort integration, JiveLite included for a nice visual when the Pi is connected to a monitor/TV, and small footprint since it using the Tiny Linux distro.

To view the initial stages of the systems progress can be found here.  But as of this point, I've verified that the system will work for its intended use, and will proceed with describing it further here.

What is LMS?

So before going further into this project, it should be explained what LMS exactly is.  Logitech Media Server (formerly SlimServer, SqueezeCenter and Squeezebox Server) was a streaming audio service supported by Logitech (formerly Slim Devices), developed in particular to support their Squeezebox range of digital audio receivers.

The software is designed for streaming music over a network, allowing users to play their music collections from virtually anywhere there is an internet connection.  It supports a large number of audio formats including MP2, FLAC, WAV, Ogg and AAC, as well as transcoding.  It can stream to both software and hardware receivers, including the various Squeezebox models, as well as any media player capable of playing MP3 streams.  Logitech officially discontinued their hardware players in 2012.  The server is free software though, released under the terms of the GNU General Public License is is continuously being update (current stable release 8.3.1).  Around the time that Logitech retired their hardware, work began on Squeezelite; A cross-platform, headless, LMS software client (this is the core player of piCorePlayer).  The classic web interface of LMS is shown further below.

Setup

In setting up this system, the project can be divided into three sub-sections.  These sub-sections are:

The LMS (Logitech Media Server) setup - the sub-section deals with the installation and setup of a Logitech Media Server (LMS) on an UnRAID  or an OpenMediaVault NAS.  LMS can be installed on many different platforms including Windows, Raspberry Pi (SqueezePlug), and Apple systems.  The main port of LMS can be found here.

The Client Pi Setup - the client Pi is the actual Raspberry Pi that resides in the zone location.  There are many different Squeeze devices that can be loaded on the Pi including SqueezePlug (using Squeezelite player), PiCorePlayer, and a modified Volumio variant.  For this project, I've settled on using PiCorePlayer, for its ease of install, and tiny amount of resources required to run it.

The system controller - the system controller can be a downloadable app for either iOS systems or Android systems.  There are many different Squeezebox control apps on the market, and I will mention most of the ones I have had direct access to try out.  The three major ones I have used are the : a) Logitech Squeezebox Controller (free for both iOS and Android), b) Squeeze Commander, and c) Orange Squeeze (available to purchase from Google Playstore).

LMS Setup in UnRAID

The Logitech Media Server, or LMS for short, can be installed on different platforms, including Windows/Apple/Linux operating systems, the Raspberry Pi as the SqueezePlug install (which I have used for my in-car media server in the past), or even on an NAS system like UnRAID or OMV, which I have chosen to do, and will describe below.

As of UnRAID OS verions 6, the LMS can be installed as a docker and easily setup.  No longer does it need to be installed as a plugin.  Once in the UnRAID web server, click on the Apps icon then do a search on logitechmediaserver, and install the docker app.  I've run both Dandon's version as well as Snoppy's, both are easy to setup.

Once installed, from the docker, the LMS GUI can be opened to show something like this:

LMS Classic Web Interface

If you haven't configured the music database location during setup, click on the Settings link down at the bottom right corner to open into configuring the music database:

The music database will take a little time to be created, depending on the size of the library.  Any new entries after initial creation will automatically be added to the library database.  If the Pi's have been setup correctly (following the Client Pi Setup), then they can be controlled from the LMS GUI by first selecting the player up in the top right corner.  Then music selection, volume control. and even zone synchronization.   Any further plugins can be download/installed from the LMS settings screen.


LMS Setup in OMV

OMV has changed how dockers are installed.  Previously it was depending on Portainer to do docker management, but was being discussed to do this within OMV and drop the Portainer dependency.  As of OMV 6.3, Portainer was dropped from use in OMV-Extras.  What replaced it was OMV Compose, which is downloaded and installed as a plugin.  Accessing the Compose plugin is done via the OMV Services tab.  A pretty extensive tutorial can be found on the OMV-Extras wiki site here

Prior to creating/configurating the container, you must first setup folder shares in OMV.  For LMS, the following folders should be created:  Config (for LMS configuration files), Music (where own music is stored), and Playlist (where playlist files are stored).  These three file locations (absolute paths) will be used in the LMS configuration file as indicated later.

For LMS, I was able to setup a server under the Compose/Files, then select the "Add from example" icon.

Follow the instructions in the image below for the next window that opens:

There is a couple of steps to perform prior to getting LMS up and running.  Once back in the OMV Compose Files, select the newly created file (it will highlight in yellow), then click on the Edit icon (as shown):

This will open an edit window, and allow for further modifications.  Setup should be very similar.   The three volume locations are copied and pasted from the Share Folder Absolute paths of the Config, Music and Playlist created earlier.

By default the network_mode is bridge, and that is fine for most.  I ran into issues when trying to run Spotty,and after consultation from the Spotty developer, that for proper operation of the this Spotify plugin, the mode really needs to be host.

Also defined is the hostname that will be shown to the clients, otherwise it is just a random garble of text.

Once setup, click on the Save button at the bottom right of the window.

At this point, there will most likely be a "Configuration Banner" across the top of the screen, click on the check mark to proceed.  The newly created file will still be indicating as "Stopped" or "Down".  If not still highlighted, click on the file to select it (file row will turn yellow).  You can do a quick check of the configuration:

If no errors, the following screen should be shown, click on Close:

Finally, if all good, then click on the "UP" icon to start the container:

That status should then change to "UP" and be highlighted green.

You can monitor log files by navigating to the Compose/Container location, select the container, then the "Logs" icon.

In a few minutes you should be able to access the LMS via web gui with <LMS IP Address>:9000, as well, if the individual clients have be setup, they should be able to automaticallly connect to the server. 

If you are a Portainer fan, you can still setup a Portainer container (by using the above example), and below are the basics in getting LMS configured via that way.  Be aware, that OMV has stopped supporting the Portainer method.

Setting up LMS in OpenMediaVault is a little more involved, and requires that you have previously setup shared folders and SMB/CIFS shares.  It also requires the install and setup OMV-Extras to take advantage of the Portainer Docker management plugin.

After Portainer is setup, the easiest way to install the LMS docker is by creating a Stack and copy/paste the text from the Docker Compose section that can be found here into the stack editor window within Portainer.



The path locations can be copied by inspecting the shared locations in Chrome, and copy/paste them into the Portainer Stack editor.

Once ready, scroll to the bottom of the Stack screen and Build/Update the stack.  The Docker will automatically start and if locations are right, build the music database.

Client Pi Setup

It should be noted that I am using piCorePlayer for all zone Pi's, to take advantage of using JiveLite where required and recently discovering that the newer PCP code now incorporates ShairPort (for connecting Apple devices).  It also easily incorporates WIFI across multiple dongle types without issues now. 

For those that don't know what JiveLite is, it is a control/visual application if using a Pi in a Squeeze player situation and connected to a monitor/TV via HDMI.  It can also act as a visual controller if the Pi is connect to a touchscreen.

And as of now, four Pi's in the system are running with piCorePlayer 8.1, while the headless outdoorzone is still running with 5.0 (on an old RaspPi 2+ board).  Running v8.1 on the clients connected to TV's allows to take advantage of the widescreen skins, something that previous versions lacked.  One was basically limited to the Jivelite Jogger skin.

Here are some basic views of the piCorePlayer setup pages, and some basic things I have done in order to get my system setup. 

Main Page

The Main page indicates if piCorePlayer is running and allows for alot of the root commands (upgrades, file expansion, rebooting/shutdown etc.).

The one thing I have done is take advantage of the Beta mode, so I can setup a static IP address for all clients.  This makes it much easier to load up the client pages should I need to do some quick changes, and check to make sure ShairPort is running (it has a tendency to shut down, especially after a catastrophic failure like a power outage).

Squeezelite Settings

The Settings page allows for the setup of the individual client, such as the audio output device, name of the player, ALSA settings, LMS IP and many others. 

Tweaks Settings

The other screen I'm going to touch on is the Tweak page.  This page further defines how the client will behave.  The host name as shown on your LAN (different from the LMS name) is defined here.  For simplicity, I just call it the same as the LMS name.  You can also define the timezone.  Other tweaks are installing/running Jivelite, and Audio tweaks.

There are plenty of other tweaks you can do, but those are the ones I've messed with the most.

The other two pages are for setting up WIFI if using a client in a wireless setup, and setting up the piCorePlayer to be the LMS as well as a client (LMS page).  I haven't done this so that will be totally up to a persons setup.

Logitech Controller Apps

There are many controller apps on the market for both Android and Apple devices.  I will discuss some of the main ones available for both platforms.

 Logitech Squeezebox Control (Android/iOS)

The original app available was the Logitech Squeezebox Control app for both Android or Apple.  This was a free app that was downloadable from the Google Playstore, or from Apples iTunes store, but is no longer available.  The Android version of the app appears to have ended with version 1.1.4, and the apk can still be found on the internet.  It has stopped functioning on newer versions of Android.

The general view of the app is shown below:

This controller has the ability to sync different Squeezlite players (Pi zones) from the Home menu, select Settings, then Synchronize.  Checking on/off the other zones to sync with.

Squeeze Commander (Android)

A better Android app that was available was called Squeeze Commander.   Unfortunately, it to is discontinued with the last known version to be v0.9.6.4, and is no longer available in the Google Store.  The apk can still be found and downloaded though, but I've heard that it has also stopped functioning on later versions of Android

Here are some screen shots:  

Zone Control

Main Screen

Playlist

The nice thing about Squeeze Commander is most functions are between three main screens that one has to flip with a finger left or right.  Those three screens are shown above.  The main Now Playing screen is in the middle.  Swiping your finger across the app leftwards will take you to the third image which is the current playlist.  If in the Now Playing screen and you swipe your finger rightwards, will take you to the first image, which is the client control screen (this is the screen for syncing multiple clients together).

The folder with the music icon (Now Playing screen upper right corner) will take you to source select list, which the operator can select the music to playback.  This will have many selections from the users own library (setup and scanned from the LMS), or internet audio channels.

This is the Android app that I have been using now for the last while and really like it for its power similar to that of Squeeze Commander but packaged in a very nice GUI.  It can be downloaded from the app store here - Orange Squeeze.  It looks as though it to is being discontinued with the last version at 2.5.1.  According to the announcement on Google Store, it is in "maintenance mode" only, and no new features or bug fixes will be made.

More info on Orange Squeeze can be viewed right from their website - Orange Bike Labs.

Orange Squeeze (Android)

Player Main Screen

Player Music Select

Tablet view

Tablet (landscape) view

  And from what I have been seeing, Orange Squeeze looks very impressive on a tablet in landscape mode.

Squeezer (Android)

Squeezer appears to be very similar in view to Orange Squeeze, and appears to be also still developed as it is open sourced.  The one standout I see with Squeezer is that it offers individual widgets for controlling basic functionality for all clients.  This is a great idea for having basic functions on the mobile home screen.  Mix this with Orange Squeeze's Now Playing widget, the user has a fully functional music control system in the palm of their hands.

iPENG (iOS)

iPENG is Apple's version of Squeeze Control that is still actively developed.  I personally don't think it's as pleasing as the likes of Orange Squeeze, or Squeezer, but it has full functionality of those controllers, and the advantage of controlling and streaming media via Airplay to the Squeeze clients if the clients have Shairport capabilities (which the Raspberry Pi loaded with piCorePlayer do). More info on iPENG can be found here.

Squeezelite-X (Microsoft)

Even Microsoft is getting into the LMS Squeeze market with a decent controller/client called Squeezelite-X.  Very simple to install, and treats the windows computer as an additional client.  Further information and to download SqueezeLite-X is here.

Squeezelite-X using the Material Skin view

SqueezePlay (Microsoft/iOS/Linux)

One other windows controller is SqueezePlay.  I don't think it is maintained anymore.  It has a more traditional Squeezebox visual running Jivelite.  It isn't as easily controllable as SqueezeLite-X, but functions as an alternative if none of the above are available.  It also doesn't utilize alot of resources so it easily runs on older machines.  As its Wiki page says, SqueezePlay is the desktop version of the Jive/Squeezebox Controller software.  It is also available for Apple products (Mac's ), and Linux too.  The Wiki page is here, it can be downloaded from Sourceforge.

Softsqueeze (Microsoft/OSx/Unix)

Softsqueeze is a music client for a PC running windows, OS X and Unix systems based on Java script.  The last version of it is 3.9.2.  It's a very cheesy looking interface that looks like the Logitech Transporter player and remote.  There are much better options out there, but it is a fun player to mess with.  More info and download can be found here

For the sake of it, here is what the actual Logitech Transport looks like:

Home Assistant (Microsoft/iOS/Linux)

Home Assistant is another great option for controlling LMS, and can be achieved either by using individual media cards for each client, or by creating an iframe.  There are a few drawbacks from my own experimenting.  But the huge plus here that since Home Assistant can be utilized across different products, it looks exactly the same whether using an Android or Apple device.

Cards seem to be limited to the basic functions of turning a zone on/off, play/stop, and volume control.  I had setup client cards with the minimal media card, and the ability to be able to sync, but it sometimes seems quarky.  Cards also seem to be limited on the ability to select music, unless you spend a lot of time configuring individual buttons for defining playlist and music streams.

Setting up a panel_iframe based on the LMS server IP is easy enough, and it shows up listed on the main Home Assistant left panel to select, and if working, shows a great GUI (especially if you have configured LMS to use the newer Material Skin plugin), but I found that the display wouldn't show up on my desktop, but it showed up exceptionally well on my Home Assistant phone app (Android and iPhone, both looked great), and even with the proper aspect ratio to display in portrait mode (or landscape if the phone was rotated). 

Mobile Dashboard created with cards

Individual Zone card information

Mobile panel iframe showing individual zone information

Additional uPNP players, such as Android's BubbleUPNP player that can be loaded from Google's store here and can be used to control the Squeezelite system as well (provided that the UPnP/DLNA bridge plugin has been installed on LMS).  They just don't have the ability to control client synchronized playback, and are lacking some other features one might like to use with their squeeze setup.

Synchronize Playback

As mentioned, an important ability to any multi-zoning system is the capabilities of synchronized playback across multiple locations.  This means the ability for the listener to move from one location to the other, and the music timing is essentially seamless as the listener moves around the house.  Sync playback is an excellent feature in that the listener doesn't have to turn the volume way up at the source location to be able to listen to the music if in a different room.  All the control software listed above allow for configuring each client for synchronize playback.  The main issue in the success of the clients achieving full synchronization stems on their ability to remain in timing with each other.  Some machines *cough* Windows OS *cough* are doing so much in the background, they loose the timing required to be able to keep the clients in sync.  Linux has inherently done a better job in background timing, and the Raspberry Pi, running piCorePlayer is a very lightweight Linux OS, and they have the ability to keep a constant timing between them, keeping them in sync.  This is not to say that trying to keep a dozen clients all connected over WIFI would not have sync issues.  It most certainly would as the timing of the WIFI would be the bottleneck factor.  But from experimenting, I have had all clients in my setup completely synchronized without issues (4 are hard-wired to the LAN, one running via WIFI).

Music Sources

On top of ones own personal music library/database,  you  have the option of using the following apps/plugins setup for streaming music: Deezer, iHeartRadio, Live Music Archive, Mixcloud, Radio Paradise, Radionomy, Shoutcast,  SomaFM, Spotty (Spotify plugin), and TuneIn Radio.  Some of these were pre-loaded with the LMS install, but others can be selected from the LMS setup plugins page.

Other plugins options are an AirPlay Bridge to integrate IOS devices, and a UPnP/DLNA Interface which will allow players on other devices that support UPnP/DLNA on the local network to output to the different LMS client zones.  BubbleUPnP for Android phones/tablets can take advantage of this feature.

Additionally users can input several m3u playlist files that cover several genres of music that  can be found here.  

Logs:

Sept. 13th, 2015

I ordered an additional 4 Raspberry Pi 2 Model B boards.  These come with an ARM v7 processor and 1G of memory.  Hopefully they will have better onboard audio, and I can still use the above configuration for music.  Two of these new boards will replace the existing clients in the Theater and Games room.  One will complete the Bedroom Zone, and the last Pi 2 will be used in the Kitchen/Livingroom zone.  I will use one of my original Pi's for the outdoor zone, leaving me with one Pi to play around with.  They were ordered, along with 4 power supply units from buyapie.ca.  On sale for just under $44 per pie.  Orders over $200 (before tax) allow for free shipping.  I'll update more when I get the Pi's and have had a chance to play with them.

Sept. 16th, 2015

The new Pi 2 boards and power supplies came in, and had the chance to get one integrated.  Had to update Raspbian OS to take in account going from the Pi B ARM6 CPU to the new Pi 2 ARM7.  Once that was installed and updated, the new Pi worked without issues and replaced the Pi residing in the TheaterRoom zone.  Wow, does it ever boot fast.  Will proceed with replacing the GamesRoom Pi, and setup the Bedroom Pi tonight.  And further test the TheaterRoom zone further.  The project is really coming together.

Sept. 17th, 2015

The second Pi 2 board has now been integrated to the GameZone room, and everything appears to be running fine in the early going.  More testing to come.  Also programmed the BedroomZone SD card with Rasbian.  But this needs to be configured for Squeezelite, and then updated to work on the new Pi 2.  I hope to do this tonight.

Jan 4th, 2017

Been a while since last updating.  Have had three zones running for a while now, with quite a bit of success.  All zones running on Pi 2 boards with Rasbian.  Been thinking of switching them over to piCorePlayer, but undecided.   Recently I've been working on getting the KitchenZone up and running.  Tests have been successful so far, but now trying to setup the system over WIFI.  The TP link WIFI dongle is using a RealTech 8188eu chipset, and there seems to be a compatibility issue and finding the proper driver files for the pi.  Using piCorePlayer, the WIFI dongles lights up, but fails to connect to my network, so I'm going to try using the same Rasbian build used on the other Squeezelite Pi's in the system and install the 8188eu drivers separate, following the guide here.  This allows the final system to be tucked away in a spot that currently does not have a wired connection point.

This will also be a learning curve, as if I can successfully get this to work, the outdoors setup can also be done via WIFI as well, if required. 

Jan 5th, 2017

Finally got the Pi to communicate via WIFI using the 8188EU chipset, but it wasn't easy.  Ended up a large part of the issue was that my SSID had a capital letter in the name, and it had to match entirely on the PI setup (not just the password).  Once that was done, it communicated without issues.  I may end up trying a piCorePlayer setup again on this Pi (and switch entirely over to piCore for all the clients due to speed and little overhead.  I tested piCore a while back, and the only reason I didn't go with it was because at the time I was looking for Shairport in the setup for Apple products, which piCore doesn't offer out of the box.  Since I scraped that, it may become the better/easier option, and is openly supported/maintained.

Jan 6th, 2017

Now understanding the WIFI setup, and realizing that I had to punctuate the SSID naming, I tried again to use piCorePlayer for simplicity.  Though the WIFI connected successfully, it seemed the reliability was horrible.  The Pi would frequently disconnect, and while using Squeeze, the KitchenZone would show up, then disappear.  This forced me to go back and use the Rasbian/Squeezelite setup that I have used on the rest of the Pi's in the system.  After setting this up, it is now running hassle free,and have added the 4th zone in the system.

Jan 24th, 2017

Picked up a JBL Flip3 Bluetooth portable speaker system on sale.  Using it to connect the KitchenZone Raspberry Squeezebox.  It's a nice sounding speaker, and gets loud enough to fill that room with comfortable sound...not over bearing that you can't have a comfortable conversation, but just loud enough to enjoy some music.  That speaker, being portable, will also double up and go with us when we go boating, and enjoying the beaches.  I may find a different solution for the KitchenZone in the future, but for now, I can tuck the setup out of the way.

The final location that needs to now be completed is the OutsideZone, though I don't doubt that there will be very little issues in setting that system up.

Jan 25th, 2017

Decided to experiment on running a more recent version of piCorePlayer on the TheaterZone pi.  I did this to take advantage of using JiveLite, since it is natively coded into the piCorePlayer source.  It gives a nice visual to what would otherwise be a blank screen if the Pi is connect to some sort of display.  Also noticed that the new version of piCorePlayer also includes code for ShairPort, to be able to connect Apple devices.  That lack of ShairPort was one reason I opted to not use piCorePlayer at the start of this endeavor, so the fact that there is that ability is a nice feature...especially when the kid's friends come over, and all seem to have iPhone :( , and yes I feel sorry for them.

With the ability to use JiveLite, I might opt to use piCorePlayer solution for the GamesZone pi and BedroomZone pi, since both can be connected to displays.  It would too, add a nice visuals when playing music in those zones as well.

Jan 28th, 2017

I now have setup the Games Room, Theater Room and Bedroom zones with piCorePlayer 3.10 with Audio Enhancements.  I did this to also take advantage of using JiveLite to visually display the zone information, since each Pi setup is also connected to a TV.  I also found out by using the 3.10 Audio Enhancement install over the vanilla install, helped take out music glitches that was being experienced on the Theater zone pi connected via HDMI to the rest of the audio system.  The new PCP version seems to have helped.

Now trying to figure out the best course to connect the Outside zone pi into the mix.  I may end up using multiple Pi's to accomplish this, not sure right now.  Have a few months to finally come to a conclusion as to how I will want to do this.

Nov 1st, 2017

I decided to do a test using SqueezePlayer on my tablet.  I wanted to see how it would interact within the system...first playing music and controlling the player individually, then syncing it with another zone.  For the zone test, I went all out and used the WIFI KitchenZone to put a full strain on syncing these two "streaming" locations.  It played very well, and will try this on an old Android phone next.  This is the possible solution I may end up using for my OutsideZone, as it will be a complete independent system that resides in my garage.

Jan 8th, 2022

Not much more happening, just been running the system.  I moved the LMS from the UnRAID server to the new OMV setup, and just generally updating this web site with more information on setup and running the system.

Jan 14th, 2022

Noticed piCorePlayer was at version 8.10, and offered a few upgrades from version 5 that I have been using.  I decided to upgrade the GamesZone pi client to try it out.  Unfortunately you can't do a direct upgrade from 5 to 8 within the piCorePlayer web interface, but you could in theory jump from to each upgrade and eventually get to version 8...so I thoughtI started to jump from 5 to 6 then 6 to 6.10, then to 7, but at trying to upgrade to 7, the web server just came up with a blank screen.  I decided to play around with 6.10, and my sound out wouldn't setup to the USB audio dongle attached, it just kept defaulting to HDMI audio out (figured that out after the fact).  I ended up doing a hard re-install of PcP by formatting/installing PcP 5.0 on the SD card again

The only option I figured to get to version 8.10 was to do a hard install.  Of course, the same issue with the sound out by just defaulting to the HDMI port.  Then found out that I should be using another setting than USB Audio (what I have always used in the past).  So I got the audio to come out of the USB dongle now. *YEHAA*

Now, outside of that mess, the things I really like about this upgraded version of PcP:

 1) as of version 6, the web interface offers a "dark" theme (really nice)

2) they updated the web interface with nicer graphics

3) ALSA Mixer controls are now interfaced in the browser (before you had to open an SSH window to do ALSA corrections)

4) Jivelite now display properly at widescreen resolutions...taking advantage of the fullscreen, as opposed to the widescreen settings not working, and left with a small Jogger window display.

Now I will most likely do this update to my TheaterZone and Masterbedroom Zone as they also use Jivelite to a display.  But since my KitchenZone is headless, I may just as well leave it running with PcP v5.0 (as well as my Garage/Outdoor Zone).

Jun 28th, 2023

The only update to the LMS system (outside of actual server hardware updates noted via the Grohl Server page is that OMV has dropped Portainer as the docker container management tool, and opted for its own internal plugin called Compose.  This required a bit of a learning curve to successfully transfer the LMS from Portainer to OMV, but it is up and running fine now.  As well as I've been able to setup Audacity using the same methods, and Glances (system monitoring tool) via CLI successfully.