If Apple moves to ARM -- will there be a Roon Core for ARM?

Hah. I am not saying Roon is not the cause of the hesitations. That “something else” may be a database issue on the Roon Core. Or a bug in the Roon Core. Or a bug in the Roon controller app running on the the Mac Mini as the controller. It could also be network issues. Regardless, the Mac Mini M1 has way more than enough horsepower in its x86 emulation to run the Roon control app and not have hesitations. Drawing on a 4K display just isn’t that hard.

I get hesitations on my iPad sometimes. It’s not the iPad…

I am sure we will all be happier when Roon comes out with M1 native software. But that is not the fix for the issue you are seeing.

4 Likes

People have pretty realistic expectations, but it’s also true that things such as network latency can impact perceived performance with regards to the Roon “experience”, for example.

1 Like

Any plans to go ARM / SoC as the thermal footprint would probably be way better?

1 Like

Probably a bit expensive but that direction, yes.

see

1 Like

Thanks! The wider question is will there be some ARM/SoC Nucleus one day?

Nah :crazy_face:

M2 would certainly get me the cookies if that wasn’t all in Tim’s hands :frowning:

Not even close. And you know it :wink:

@danny its well over a year now and we getting into M1X/M2 release territory. Anything you can share with us on an Apple Silicon Native Roon release?

8 Likes

No reply for more than 6 months suggests how much Roonlabs care about their customers

Not really, Roon never comment on the timeline for a new release or feature. That said, they have had plenty of time so I have no idea what’s holding this up.

Hmm, I assume that the work moving from Mono to native .Net for MacOS would happen first. Biggest impact, etc.

I don’t know enough about it to guess with any degree of certainty, but perhaps they’ll do both at once.

This project is underway, but the timeline has been mostly out of our control.

First, Roon is built using Microsoft’s .NET Framework. This is a huge part of how we are able to support so many platforms coherently with a relatively small team.

There is no way to support Roon on Apple Silicon natively without migrating from Xamarin/mono (Microsoft’s old .NET solution for Mac) over to .NET 6.0 (Microsoft’s current .NET solution for mac) because they elected not to support Apple Silicon in mono. This is a significant migration for both Roon, and on Microsoft’s side, and not a lightweight piece of work.

Migrating to .NET 6.0 has benefits aside from Apple Silicon support, as well. It’s a lot faster than Mono, and has better memory management behavior. It will make it easier for people to maintain large libraries on Macs going forwards. There are also details of Apple Silicon support unrelated to .NET–like porting all of our Intel-Optimized DSP code over to ARM. This is done at this point, but it was a significant chunk of effort.

Microsoft just released .NET 6.0 for Apple Silicon in November 2021. Before this date, it was impossible for us to even get started on this project. However–Microsoft’s support for Mac Desktop apps was released as a “preview” and it is still in “preview” status today. They do not yet consider it stable enough for production use.

Nonetheless, we have been working against their “preview” stuff for a few months. We’ve seen Roon run natively on Apple Silicon in-house. We are still working through issues with Microsoft’s stuff, which can be very time-consuming because it has little documentation and a number of bugs still open, but that’s life in “preview” mode.

There are really two possibilities for this project. Either we get to the point where we feel that it’s stable enough to release with Microsoft’s “preview” stuff, or we run into a roadblock and decide to wait until they fix issues on their side, or until they declare their work to be production quality.

This project has been continuously underway for a while, and we are working on it. Much of our team is on Apple Silicon now and we want it as badly as you guys do, but this is complex stuff, and Microsoft’s progress and release cycle has been the dominant factor in the time table.

32 Likes

@brian Being a lot faster and providing better memory management is a great benefit. Will it create also better compiling results for various platforms in general?

We are already using .NET 6.0 on Linux. If you install Microsoft’s .NET 6.0 package on Windows, you can get the “new” performance there today, though to be fair the gap between older versions of .NET and 6.0 is much smaller on Windows.

In our project planning, after Mac is released, we’ll move iOS to .NET 6.0 then Android. Android is the most difficult of the three, iOS should be straightforward. At that point everything will be unified across all platforms, and we should be keeping in sync with the best performance Microsoft has to offer going forwards.

12 Likes

Thanks for these “insight reports” Brian! I think they satisfy a big part of the community also gives us an insight in your challenges and efforts!
Highly appreciated!

I have expressed this before, but i’ll endulge in a repetition:
I’d very much like to see a weekly (or so) blog, straight from the lions den, on what’s going on in the HQ. It could be anything between technical deep dives to visions of Roon in 2025 and musical events! Even nostalgic walks down memory lane, what were the challenges around christmas 2019?

6 Likes

That is great to hear and a crucial step, as unfortunately the experience and performance on iOS is currently lacking. But glad to see this addressed soon.

It is great to know the status, so I can move HQPlayer to Mac Studio first and keep Roon Nucleus until native ARM version arrive.

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