Apple Silicon M1 - system-on-a-chip to Rule Them All.

In my testing on the M1 Air I didn’t use an external mouse with a scrollwheel, only the onboard touchpad, and pinch-zoom doesn’t work in Rack. So I only zoomed in coarse steps, with keyboard combination or using the menu zoom-setting, and I don’t recall noticing an issue. But when using a scrollwheel on a mouse, you might be right, I don’t know. But with graphics scrolling otherwise being so smooth on the M1, I don’t whink it would be an M1 specific issue as such but rather a broader issue with zooming, that people would experience across the board on various machines.

Yeah, a native M1/Apple-silicon release of Rack might be very nice for the performance. But as others have remarked, in practical terms it basically requires every plugin in the library to be re-compiled for the M1, which means that Andrew would need to be onboard with that, and have an M1 machine himself, and also the various proprietary vendors of plugins supplying binaries, not source, to the library, would need to be able to do this.

So it’s a bit of a tall order but might happen eventually given some of time. In the meantime, per my testing, the good news is that the Intel/current Rack binary for Mac works quite well, and is eminently usable, like lots of other Intel programs on the M1, although of course I haven’t tested all the plugins. If someone has an M1 machine and too much time on their hands, it might be a great project to do the equivalent of https://doesitarm.com/ for Rack plugins, maybe just in a spreadsheet, to verify all the Intel format plugins in the library running on the M1.

Perhaps if some kind soul donated an M1 Mini to Andrew it might speed things up a bit, and the majority of the plugins with source availble could be compiled for native M1 :slight_smile:

1 Like

hmm, I’ll try on my Intel Mac, but I don’t think it was an issue there…

however, Ive noticed that most of the compatibility issues Ive seen on the M1, are not actually Rosetta/Apple Silicon issue - rather Big Sur issue. (so might not occur on my MBP which is running Mojave)

as for apple silicon support, well its inevitable in the mid term…assuming vcvrack is going to continue to grow on the mac… after all Apple will EOL Rosetta2 in 4-5 years.

but for sure we are early days at the moment, this batch of apple silicon were the ‘budget’ end, next year when the iMac and MBP (16") are released we will see wider adoption (from Apple users). as a dev, Ive got the Mini to help ensure Im ready for when more of my users are transitioning. (Id say ‘us’ early adopters are probably more understanding than users in 2021 will be :wink: )

as for move how to move forward, thats easy… Apple have laid it out for all apps. Basically start shipping Universal Binaries for both Applications and Plugins (aka vcvrack modules), the OS then automatically will select arm/x86 as appropriate. Sure… some modules wont be available, that’ll sort itself out in the long run.

I guess Im optimistic about this, been through it before with PowerPC->Intel and then 32 -> 64 bit, its a bit of a pain, but inevitably we move on… sure, some apps/plugins never make it, but new ones replace them :wink:


btw: as for libraries and dev tools needed to be updated for Apple Silicon… I’ve been migrating my software, and generally most of the libraries and tools I use are available (although perhaps not ‘released’ yet) - so thats not really a barrier now, and will become even less problematic over next 1-3 months.

back to the zooming issue…

I even see, this on the default patch if I press CMD - + a few times to zoom in, the first zoom in is fine, but the 2nd /3rd I get a 5 second or so pause. (so its not trackpad related, trackpad does make it worst, since you ‘stack up’ a number of zooms)

which reminds me … as I think its related… when you start VCVRack do you get a a pause for about 5-10 seconds, where the patch is basically black, except the patch cables. Im pretty sure this is the same issue, its almost like its taking a very long time when its doing a re-render. ( as mentioned above, I see a massive spike on the GPU in activity monitor)

the funny thing is … I don’t remember this when I tried vcvrack the day I got the mac mini… so im wondering if either:

a) Ive a bad memory :slight_smile:

b) its a new issue cause by Big Sur 11.1. which Ive only just installed !!

c) some thing else has changed in my setup - Ive tried a reinstall of vcvrack, and no other apps are showing same issue… so seem less likely.

anyway, hopefully it can be resolved at some point


k, so I did a comparison with the MBP i7

on the MBP i7 , zoom is pretty snappy but what I notice is initially you see a ‘blurred’ image, and then a few seconds later it ‘snaps’ into focus.

on the Mac Mini, this does not happen… often when I zoom in, I just get a beach ball , and see GPU rise to 90+% then after 5 (?) seconds, it returns, and is instantly in focus.

I should point out, its only this zooming/refreshing of the screen, general animation, and other performance is exceptional… just feels like its hitting the GPU a bit hard specifcally when zooming in.

That’s a very good point actually, that I forgot at the moment. Apple is calling it a 2-year transition period, and Intel Mac’s will be retired. Which means that VCV Rack will have to either support apple-silicon or drop Mac support entirely. But as my testing of the standard (Intel) Rack indicates it runs just fine on the M1, so as long as Rosetta2 is shipped with MacOS it doesn’t mean that anything needs to change at all, where Rack is concerned. Has Apple said that they will drop Rosetta2 in 4-5 years? Any links?

You can ship Rack as a universal binary, sure. As for the plugins, which are shipped and loaded seperately, I’m not so sure if they can be shipped as universal binaries, but wiser people than me will know. I’m sure people in the VST world will already have figured this out.

Yeah, as other people have remarked this transition so far has been remarkably painless. The majority of Intel stuff seems to just work on the M1, and they run fast. Rosetta2 seems to be a minor miracle, with only about a 20% performance penalty on average for Intel binaries, and I read somewhere that part of the secret seems to be, that Apple built “hot-path” Intel instructions into the M1 chips, so that the execution under Rosetta2 is actually hardware-accellerated. Makes a lot of sense to me, given its stellar performance and is a minor stroke of genius on Apple’s part methinks.

I just tested again on the M1 Macbook Air, which is now on latest Big Sur 11.1. I loaded the test-6 patch, the heaviest one.

Starting Rack never hangs, hasn’t happened once, it always starts instantly. I have never gotten any beachballs or black screens either, in the hours of testing so far. In fact, this is the smoothest and most painless install of Rack I’ve ever done. Patches always load instantly.

Here’s a general tip for running Rack, and especially for testing: Close all your other programs first, especially web-browsers. There has always been reports of people remarking that this can make a big difference.

First a general observation about Rack GUI rendering. I remember this changed at the release of Rack 1.0. On my 2013 iMac i started to see some rendering artifacts; not bad ones they just didn’t exist before. One of them is what I’ll call “the rendering wave-effect”, which basically means that when you change zoom levels you can see a “wave” of re-rendering the graphics taking place, going from top-bottom, left-right. It’s like a scan-line effect on a very old TV, where you can see that the detail level of each graphic component is being re-rendered. This has been the case on my iMac since Rack 1.0 and is also the case on the M1 Air, so un-changed. It doesn’t cause the patch, or zooming, to hang or lag, it’s just visible.

As to the zooming itself, I just tried again on this big patch, using both the keyboard with CMD +/- and using the zoom-level setting in the menu. Both give identical results. At zoom-levels 0-200% zooming is always instant, no lagging at all. From 200-400% there is sometimes a bit of lagging, like it stutters/hangs for about 0.5-1 seconds. It’s a minor inconvenience but it’s very rare that I would use those big zoom-levels, and so is kind of an artificial (non) issue I think.

Now, I have only tested my test patches, which contain relatively “few” big and CPU hungry modules (Dexter), although Dexter contains a lot of graphic elements. I cannot say if the result would be different for patches with lots and lots of small modules. You’re welcome to send me a patch to try, but not using the whole library, please.

I cannot use the trackpad to zoom at all, only the menu or the keyboard. I have no idea if trackpad zooming works on other (Intel) Macbooks, never had one.

this always been the case, at least for me on a Windows 10 notebook NVIDIA GTX1060

Yeah, probably “the rendering wave-effect” I refer to above. It’s just how Rack works, at least since 1.0, so not particular to Mac or M1 machines.

1 Like

thanks for the info @LarsBjerregaard, knowing your’s was ok, gave me a chance to dig…

… and Ive found the issue:

its to do with display scaling, Im using the Mac Mini on a 4k monitor…

  • with 1080p (rendering at 4k) - no issues
  • with native 4k - no issues (this is what I was previously using!)
  • with a scaled resolution of 3008 x 1692 (rendered to 4k) - severe issues

I generally use this scaling (1692) - as it gives me lots of space on my monitor without having tiny text :slight_smile: BUT this seems to be causing issues some how with vcvrack, as soon as I turn it on… rendering is super slow when zooming/starting up. odd that its just vcvrack , Live/Bitwitg all behave themselves.

Id say this probably has nothing to do with the M1/Rosetta… I suspect if I tried to use it on the Intel MBP it’d probably be the same :wink:

anyway. easy solution , I can switch to 4k when using vcvrack , and zoom in a bit - then its super smooth.

1 Like

Man, life is complicated sometimes, isn’t it? Great piece of detective work there. If I was a betting man I’d say it smells like a possible bug in the svg framework Rack uses for rendering. Wouldn’t be the first one.

yeah… I think the tricky part with the m1, is we are dealing with a new OS, and a different hardware (apple silicon), and rosetta … so if you hit problems its hard to know where to look first. ( also, its my first mac mini, so my first mac that ive had to worry about external monitors :slight_smile: )

all that said, I have to say so far, from a user perspective really there have been no issues with rosetta/apple silicon.

on the dev front, we are still battling a little bit with getting native tools, but even there Im amazed how along it is … and the benefits are amazing, my compile times have plummeted since moving to the new mini.

1 Like

Hi Lars, i started on a patch for testing. But then i got curious about something, and decided to checkout the test-patch-06 that you tried out.

To see how my laptop actually performs on that one. I know the laptop will open it without any problems and play it, with still plenty of cpu power left over.

But i know the fans will get loud as i mentioned before.

so comparing on your findings posted in your overview post with the test-06 patch, with Rack set at 3 threads @ 24FPS the readings in my laptop are:

CPU = 25% @ 4.35GHZ / 20 CPU threads (from resource monitor)

GPU - 23% 54Celcius

with the fan quite audible spinning. And this is quite a beefy 6 core laptop with i7-8700k desktop CPU in it, not a laptop U version.

So actually the Mac Air handled it very well! I am curious to know if the Mac mini fan kicks in, at what point, and how noisy/audible it gets with that same patch?

1 Like

Doesn’t the chassis of the mini (even Intel one) act like a heat sink? I would think that mini fan would not run as much as laptop, just because of that.

Might be, but my custom Clevo has a copper sink inside, quite big one actually. And is not the razor thin kinda laptop either, it is at least 3,5 cm at the highest point. Still the double fans (cpu & gpu) can go on sometimes like a jumbo jet taking off :joy:

i can raise the threshold of the fan to a higher temperature as minimum, but i don’t feel comfortable working on a hot laptop.

Anyway interesting to know that these new Macs have a better handling of heat :slight_smile:

I can see you lowered the framerate. Would be interesting what the numbers look like at the max/native/default framerate, which I presume would be 60hz. In my test of the M1 Air I had everything at defaullt settings, except for raising the blocksize to 1024.

Yeah, I’m very impressed as well by how the M1 Air handled it.

As far as I have heard it from the various reviewers and testers, it takes a lot for the fans on the M1 Pro and Mini to kick in, and only when they absolutely have to. And even then they mostly run completely silent. No comparison to the previous Intel models. Appearently these M1 chips are 10W (10 Watts!) models, which is pretty amazing. No wonder they run cool and use no battery.

I believe so, in fact, I think it goes for all Macs because they have a metal casing, and therefor are able to conduct and disipate heat through the case. And yes, even though the new Air, Pro and Mini models have the same M1 chip, the Mini can be pushed the hardest, because it has the most air around the board and can ventilate with the fan.

I believe by far the biggest breakthrough of the M1 chips is, that they have packed an enormeous amount of power down to a SOC, that only uses 10 Watts(!), and therefor is able to run much cooler than the equivalent Intel chips, that uses much more power. And the great news for Rack here is, that those 4 performance cores in the M1 have freakishly high single-core performance, coupled with very capable graphics performance of the onboard GPU. Power consumption, and thus heat, is the biggest enemy of performance in laptops and small computers, that you would want in your room.

Yeah i made a habbit working at lower framerate, as the higher settings always make the fans rev up for me.

The default system wide setting i have in the NVIDIA configuration for the screen is 144HZ, so i have choosen 72HZ in VCV Rack for this test. these are the readings:

Resource meter : CPU = 20 to 30 % / threads 20 - 25

Task Manager: GPU = 35% / temperature 51 - 56 Celcius

Fans are raging at this point.

1 Like

I was curious so I ran the test-patch-06 on my 2020 iMac.

27" Retina 5k, 3.8Ghz 8-core i7, Radeon pro 5700 XT 16GB, 64GB RAM

With one Rack thread audio broke up / crackly.

With 2 Rack threads, plays fine over time. Activity Monitor shows 235% CPU and using 11/12 CPU threads. 15.5% GPU (Framerate is max 59Hz). Fan not on at first, but came on after a few minutes but very quiet/gentle.

2 Likes

Yup, that’s the interesting bit. The CPU might not be far away from thermal throttling. You might not be able to run a patch much larger than test-6 on your machine, at comparable settings. Interesting test, thanks!

1 Like

Yeah at lower frame rate and higher VCV Rack engine threads, i can double the patch. But the fans at that level will probably make it fly out of the apartment, so yeah :rofl:

I think i will have try and be patience for the MX / M1 pro , and then for the first time ever switch to Mac platform for DAW purposes. Interesting totally didn’t see this coming, but i was lately very charmed about the capabilities of my iPad pro. So maybe that was already a hint for me.

2 Likes

Nice. Suggests that your machine has more headroom to run Rack than the M1 Air, which one would hope at the price difference. Would be interesting to know how many more rows of Dexter voices you could add to that patch, and still have it play well after half an hour, without you being nervous of impending meltdown :slight_smile: