Skip to main content
Bob235178
Enthusiast I
February 17, 2026
Answered

macOS controller and Apple Silicon

  • February 17, 2026
  • 89 replies
  • 5482 views

Yes, I realize that this has been asked before, but with macOS losing Rosetta 2 with macOS 28, coming out in 2027, is there any chance of the desktop Sonos app being ported to Apple silicon?

I primarily use the macOS app, and am not really looking forward to relying on the web app, since I live in an area with poor internet availability.

This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.
Best answer by Airgetlam

Since they haven’t done any work (other than egregious bug fixing) on either the Windows or Mac ‘desktop’ apps for years, in favor of their web app, it does seem unlikely that there would be resources dedicated to a port. 

89 replies

Enthusiast II
July 7, 2026

MiSonos is a free open source controller I wrote to run on my LAN. I run it on my Mac (Intel is fine) and it has a web interface as well as a PWA so you can run it on your phone. Search for “misonos” on github.com to check it out.

but you have a build for apple silicon?

Trending Lyricist I
July 7, 2026

MiSonos is a free open source controller I wrote to run on my LAN. I run it on my Mac (Intel is fine) and it has a web interface as well as a PWA so you can run it on your phone. Search for “misonos” on github.com to check it out.

but you have a build for apple silicon?

Yes - it’s a node application but on Mac you need to run a small launcher program to get past the OS X per-app privacy permissions. The install.sh takes care of this for you.

 

Here’s the setup blurb from DEPLOY.md: 

# 1. Clone (install.sh runs `npm install` itself):
git clone [URL FOR THE MISONOS REPO]
cd misonos

# 2. Build the Grateful Dead DB in a sibling checkout — no copy needed, the
# native deploy reads it there by default (or set MISONOS_GRATEFUL_DB):
( cd .. && git clone [BASE URL FOR THE GD DB REPO]/grateful-dead-db && cd grateful-dead-db && ./build.sh )

# 3. Build + install the app bundle. The host IP is baked into the launcher and
# must be the LAN IP the speakers reach — NOT the Tailscale 100.x. This grabs
# the en0 LAN IP automatically (override if Wi-Fi isn't en0):
MISONOS_BRIDGE_PUBLIC_HOST=$(ipconfig getifaddr en0) deploy/macos/install.sh

# 4. Launch from the GUI, force a LAN call, then click "Allow" on the prompt:
open ~/Applications/MiSonos.app
curl -s -X POST http://localhost:4317/api/discover >/dev/null # then click Allow
curl -s http://localhost:4317/api/zones # named zones come back

 

jgatie
July 7, 2026

I don’t know how true this is, but I can see where Sonos storing cloud copies of metadata for local libraries would open them up to subpoenas for piracy and/or copyright cases.  The source of streamed files are obvious, and streaming content providers have a responsibility for fees and copyrights.  They have no idea where a local copy came from, and outside of the local index of metadata that they have no access to, I could imagine Sonos not touching a cloud based inventory of dubious origin files with a 10 foot pole.

kdowling
July 7, 2026

I don’t know how true this is, but I can see where Sonos storing cloud copies of metadata for local libraries would open them up to subpoenas for piracy and/or copyright cases.  The source of streamed files are obvious, and streaming content providers have a responsible for fees and copyrights.  They have no idea where a local copy came from, and outside of the local index of metadata that they have no access to, I could imagine Sonos not touching a cloud based inventory of dubious origin files with a 10 foot pole.

I can imagine all that is true. In which case the web controller does not make a good replacement desktop controller for those using local music libraries.

Stanley_4
Grand Maestro
July 7, 2026

I can imagine all that is true. In which case the web controller does not make a good replacement desktop controller for those using local music libraries.

Why? The desktop controller stores no data either.

kdowling
July 7, 2026

I can imagine all that is true. In which case the web controller does not make a good replacement desktop controller for those using local music libraries.

Why? The desktop controller stores no data either.

The desktop controller stores no data. But the desktop controller DISPLAYS the data. The web controller DOES NOT DISPLAY any artwork from local libraries. Not to mention how slow it is to send the data from your local network to the “cloud” so the web controller can then send it back to your browser for a SLOW scrolling local music library listing.

My thoughts on the web controller being a replacement for the desktop controllers haven’t changed since this post earlier in this thread… 

 

Stanley_4
Grand Maestro
July 7, 2026

Don't have a desktop controller to test against but I can see the web controller delays in scrolling the music library, multiple pauses when quickly scrolling.

It would be nice if Sonos managed to get the cover art working, seems like the music library is a fairly low priority, likley because it is lightly used compared to other services.

Since Sonos has never offered a desktop controller for my Linux systems, and I don’t have an easily available Windows box the desktop issues don’t really impact me.

kdowling
July 7, 2026

Since Sonos has never offered a desktop controller for my Linux systems, and I don’t have an easily available Windows box the desktop issues don’t really impact me.

Same here. Doesn’t impact me, but my wife uses the desktop controller when she’s on her macbook pro. And since she listens to our music library exclusively, that web app just isn’t going to cut it. 

Trending Lyricist I
July 7, 2026

Cover art is one of the reasons I wrote MiSonos. The trick to smooth cover art in the controller is to cache it on the bridge. The bridge uses an in memory LRU for 256 entries and then a disk cache based on query params up to 200MB. The disk cache survives restarts so it feels pretty snappy when you’ve already played tracks before. 

The art displays differently based on the location: 

  • Large surfaces (now-playing frame, fullscreen overlay) use object-fit: contain, so tall non-square posters (e.g. Grateful Dead Archive show art) show whole instead of being cropped; the frame background fills any letterbox bars. 
  • Small list thumbnails (.browse-thumb, mini/queue) use object-fit: cover to keep a uniform square grid.

For the Grateful Dead SMAPI service I wrote it gets the cover art from GDAO which is pretty cool. 

As of right now there are 8 upstream sources for cover art that are configured. 

  1. iTunes Search API
  2. archive.org
  3. GDAO
  4. YouTube Music thumbnails
  5. Phish.in 
  6. Podcast artwork
  7. TuneIn OPML logos
  8. Sonos speaker DIDL