Roon Conflating System Outputs on All Macs Connected to Core

Core Machine (Operating system/System info/Roon build number)

Linux 5.3.0-1022-azure/192.168.0.200, Version 1.7 (build 555) stable

Network Details (Including networking gear model/manufacturer and if on WiFi/Ethernet)

Core is hosted on an Azure VM. My home network is bridged to the ZT virtual Layer 3 switch - so multicasts go across. Ping is at worst 35ms (chi -> mpls). I can access Roon from my iPhone, MacBook, and Windows machine hooked up to the local wifi network. The bridge is running through an Ubuntu 16.04 box, and the core appears on the local network as a normal machine would. A bit more magic in place to make both ends IPv6, on the Azure side through a load balancer - and some scripts to monitor the connection and change routes if the latency gets too high. Other clients on other networks run ZeroTier on their machines locally (no bridging).

Audio Devices (Specify what device you’re using and its connection type - USB/HDMI/etc.)

Schiit Gungnir MB (USB/Optical), Focusrite Scarlett Solo 2i2 (ASIO, USB)

Description Of Issue

Hi all,
We have three MacBooks talking to our Roon Core (2x MBP 2016, 1x 2015). In the audio output settings tab, any audio devices connected to any of our macs all show up under “This Mac”. This is the same if running Roon Bridge locally on the machine, or if using Roon.app. Annoyingly, the core is conflating all our our speakers / 3.5mm jacks. Here’s a screenshot when two machines are connected:

Note that a different machine, jupiter (2014 iMac) does not have this problem. “Högtalare i MacBook Pro” are the speakers on the MacBook I have this screen open on. “MacBook Pro Speakers” are those on a different machine connected to the core. If I click “Enable” on either, it enables both. Playing to the output device seems to pick one, not both, oftentimes not the one you want - quite annoying to start playing music out of someone else’s laptop inadvertently.

Also, if I create a multi-output device in Audio Midi Setup.app, the Roon instance conflates those two as well - with the same issues described above (activating one activates both, chooses one when playback starts). I also tried clearing all the files in ~/Library/RAATServer/Settings on one of the machines, but the issue persisted.

I checked ~/Library/RAATServer/Settings/unique_id on each machine, and all have different IDs. The system outputs have the same UUIDs on all of our machines. The file is identical (save for the ordering of the JSON keys):
{"unique_id": "6611491d-8cef-7743-18f5-352012fa7f10", "output": {"type": "coreaudio", "device": "default", "name": "System Output", "force_max_volume": false}, "volume": {"type": "coreaudio", "device": "default", "exclusive_mode": null}, "external_config": {"is_private": true}}

That is, 6611491d-8cef-7743-18f5-352012fa7f10 is used to describe the default device on all three machines. The same is true for the built-in speakers:
{"unique_id": "9151068c-28e2-4fcd-4a50-e57e3979be2d", "output": {"type": "coreaudio", "device": "BuiltInSpeakerDevice", "force_max_volume": false, "name": "MacBook Pro Speakers", "exclusive_mode": true}, "volume": {"type": "coreaudio", "device": "BuiltInSpeakerDevice", "exclusive_mode": true}, "external_config": {"is_private": true}}

The file is also the same on all machines, 9151068c-28e2-4fcd-4a50-e57e3979be2d is used to describe the speakers. I tried closing Roon, changing the unique_id field to a different UUID, and re-opening, but the issue persisted. Perhaps this has something to do with the T2 chip handling audio through a ring buffer type system on the T2-equipped MacBooks - maybe BridgeOS reports the same virtual device ID for every Mac? Not sure.

It also could have something to do with the network bridge set up. Happy to debug that further. But since the other, older Mac and the Windows machines aren’t having any issues - I’m thinking that whatever Roon is using to get the device ID of the system output, it’s getting the same result back on all 2015+ MacBook Pros. Kind of surprised that because the unique_id file is different on each machine, that there would still be an issue - maybe the core is seeing all devices on the other side of the bridge similarly, because of ZeroTier? For what it’s worth, each device has its own virtually assigned IP (e.g. 192.168.0.214), and I can ping those IPs from the core just fine. So it shouldn’t be too different than several 2015+ MacBook Pros on the same physical network.

Happy to provide Roon Core logs, etc, or to further experiment. Roon is truly a great piece of software, a joy to use. Looking forward to getting this fixed so I can use the new internet radio feature through the laptop speakers, and tune in while I’m cooking.

Thanks!

I’d bet that set up isn’t supported so this will end up in Tinkering section. :joy:

Fair enough :sweat_smile:

Did you clone one of those Macs from the other (or restore it from Time Machine). What you are describing sounds like the two machines have the same machine id to Roon. (Multiple other threads about this on the forum here.) Roon has said they are changing how machine id is generated in an upcoming patch, but I believe someone said they figured out the machine ID is stored as a “.something” file in their user home directory on Macs and by deleting that, Roon generated a new one and no longer thought the two systems were the same device.

Hello @William_Teder and thanks for your report! We have an update in the next build which should help with this issue. I can’t offer any timelines just yet but it is something we’re working on. Please stand by!

Thank you @nuwriy! Look forward to testing it out.

Oh, interesting! I’ll hunt around for that thread (the unique_id file is different on all the machines). They weren’t restored from time machine though, as each machine is owned by a different person and was set up independently.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.