Apple has released new a Mac and Macbook with an ARM-based M1 processor. At the moment, Logic is unstable when used with these Macs and Macbooks. Please comment/vote here if you are seeing this issue.
Update: Oct 6, 2021
Logic 2 Experimental Release Download for Apple M1
Starting in version 2.3.38, we've implemented updates to the Logic 2 software that hopefully improves stability on Apple's M1 processor. Please let us know if you continue to run into issues.
In my limited testing so far on 2.3.38 on my base M1 Air performance seems great! I ran 16 analog channels at 12.5MS/s for a couple minutes with no hiccups. Sidenote: I did this with a 4k monitor plugged in on a fanless laptop. Cool times we are in.
One weird thing is that frame rate seems to be dependent on zoom level? When I zoom in, the visual updates are smoother than when I am zoomed out. I don't see this on my work laptop running Ubuntu.
Thanks for the update, and that's great to hear! Hopefully others report something similar :)
With regards to the frame rate, I believe this is expected behavior given that rendering the waveform itself takes a majority of the CPU usage, and zooming out means that we're actively rendering more of the waveform per second.
Do you have an idea of what kind of framerates you're observing per zoom level (please include your channel settings and sampling rate)? Does it noticeably drop off at a particular zoom level? Also, how does your CPU usage look across those tests? As a first step, it could be useful for us to test using similar settings and compare with your numbers.
I'll see if I can find time this weekend to get some numbers for you. For now I can say just getting demo data on a Pro 8 with analog maxed out with a 100us/100px makes it chug (maybe 5FPS?)
"Hi team, its been a while!
I'm wondering if there has been any progress on supporting Logic2 on apple silicon. I'm getting the under-run failure all the time.
Do you guys have plans to investigate this soon?"
Wanted to say I'm experiencing the exact same thing with my Pro 16 on my new M1 air. Would love to help test any potential fixes.
"The Logic2 software doesnt appear to work correctly with an M1 Silicon Macbook Air. The analyser connects but there are DeviceSetupFailure and ReadTimout errors. I'm connecting via the supplied USB3.x cable and using a USB3.x to USB-C adaptor. Logic2 works fine on an Intel Mac FYI."
Adding my support for this to be fixed.
I just tried Logic v2.3.31 on macOS Monterey Public Beta 3 (build 21A5284e) on an M1 and I haven't experienced this issue so far. I did experience this issue on macOS Big Sur in the past (though I was using v2.3.24 at the time).
EDIT: never mind, it's still happening.
Is there any insight regarding the cause of this issue? Is it an Apple bug or something else? M1 Macs have been out for a while and I'd love to use Logic v2!
We built and tested Logic v2 for Intel based PCs and Macs from the start. We were hoping that Apple's Rosetta would quickly allow our app to be usable on M1 processors. Unfortunately, something in the translation process doesn't seem to be working properly, and we don't quite know the cause of the issue. Being a small team of only 3 software developers makes debugging this phenomenon fairly difficult at the moment, since we're currently laser focused on other high priority features and stability fixes.
While I'm not privy to the full details of the architecture of the Logic v2 software, from what I can see I believe that it would be way easier to (cross-)compile Logic v2 for arm64 than to figure out why it fails in Rosetta. The dependencies that Logic v2 relies on have been updated at this point and compiling an arm64-only build should not be much effort (compiling a Universal build would be more work).
I've assisted with M1 ports of other software, and am willing to test and help track down bugs in pre-alpha builds. As for the other high priority features and stability fixes — I wish I could take advantage of these, but without the ability to run v2, I can't.
Hi David - we talk about M1 support quite a lot internally, and I just wanted to share our line of thinking. We have 3 developers, including myself, and one of the biggest challenges we have in the company is deciding exactly where to apply our efforts. This is the main factor that has prevented us from starting M1 support already.
Our situation isn't unique, but the main challenge for us is the sheer breadth of components & builds which need to be updated for M1 support. We have a dozen or two external dependencies, mostly through vcpkg, as well as a static build of python which will all need build configuration updates to support M1. We also extensively use SIMD intrinsics for accelerating processing of analog data. (Fortunately we also have a non-accelerated implementation we could initially on M1, however it's pretty slow)
On top of that, we need to get Electron updated to a more recent version, and get our packaging system up to date. None of this sounds too challenging, but given the fact that we've already lost days to a few of these steps without making significant progress, we've decided to hold off for now, with the hopes that a significantly smaller effort might get Logic 2 running on Rosetta. We do have some data on that now - a small number of Logic 2 releases did work on Rosetta (I think 2.3.14 and older might have worked, you can download and test those from the changelog page) and we'll use those as a model to see if we can get the app stable again.
Hi Mark, thank you very much for your detailed response!!
My guess is that getting the build dependencies, packaging system, and Electron up to date are the first priority there and would have to be done before a native M1 port — these things indeed can pile up especially for smaller teams/projects and while they might not be challenging alone, together it ends up being a lot of work. I've dealt with these kinds of "infrastructure" updates and it's generally a pile of tedious work. While it overall ends up with a more maintainable software stack, having to do this every now and again adds to workload.
Regarding SIMD intrinsics: I'd be totally fine testing an initial non-accelerated native M1 implementation; however, do note that Rosetta 2 lacks AVX and newer vector instructions due to Intel patents, so be sure to limit your intrinsics to SSE4.2 and earlier instructions, or gate ones that depend on AVX behind a runtime check. All Intel Macs that can run 10.14 or later (which is what Logic 2 supports) have AVX/AVX2, so if Logic 2 blindly uses AVX/AVX2 intrinsics, there would be no issues on Intel but plenty on M1. Apple has a webpage describing how to check for Rosetta 2 execution and whatnot.
x86_64 emulation on Windows-on-ARM has the same issues regarding intrinsics, for the same reasons.
I will test version 2.3.14 and some older versions later on and report back on whether any of them work. As I recall I tried this and had the same errors, but it has been some months.
I was one of the people who preordered a Logic 16 Pro back in 2014 and I've been super-happy with it in general — the analog sampling is so nice! But again, I'd love to be able to take advantage of the new features of Logic 2, and hopefully not too long from now, improved performance due to native execution on the M1. If there is anything else I can do to help here, feel free to contact me directly.
Results of debugging so far using version 2.3.31:
The console log indicates that this specific problem problem is a consistent kIOUSBPipeStalled error. This is strange and might require using a hardware USB analyzer to figure out.
This is separate from "typical" timeouts due to overload.
macOS has Wireshark-compatible USB logging available, but it requires disabling SIP. I set boot security to permissive mode with `bputil -n -a -k` and disabled SIP with `csrutil disable` (both in recovery mode), and... I can no longer reproduce the kIOUSBPipeStalled problem! (The normal kind of timeout still can happen, but I've seen it very rarely, probably due to me overloading the software.) The logging can be done with `sudo ifconfig XHC0 up` (or XHC1) then using Wireshark, but software-based logging tends to affect what is going on with the USB bus and does not necessarily show what is truly happening over the wire — a hardware level analyzer like the Total Phase Beagle is necessary to see the details. The problem does occur with a USB 2.0 cable, though.
Next I will start turning security back on to see if I'm missing something...
I turned security back on, and so far I'm having difficulty reproducing. True, I am running macOS 12 Beta build 21A5294g, so it's possible that Apple fixed something in the USB stack, but it's also possible that my testing is not thorough enough.
EDIT False alarm, it's still going on. Having "Trim data after stopping" or "Glitch filter" enabled seems to cause this problem to happen way more quickly.
Just adding my voice to the chorus. It does not work with M1 macbook pro and I would like it to be fixed. thanks.
Version 2.3.31 seems to have solved the problem, for me. There might still be the problem, but at least this is much better than before.
Running the software for minutes and I haven’t seen any Error such as “Read Timeout Error” after updating to this version.
macOS Big Sur(11.4)
MacBook Pro (13-inch, M1, 2020)
Just chiming in. I'm also getting Read Timeout messages on my M1 MacBook Air. I disconnected everything else, lowered all settings - nothing helps. The first time after firing up Logic 2 and connecting the Analyser it does work for a few seconds, after that it fails immediately each time.
Running Logic 1.2.29 works perfectly...
when will logic 2 support m1?
Unfortunately, we don't have a timeline yet to share as to when we can get official support added to Logic 2. The best solution at the moment is to download use the older Logic 1.2.29 software for the time being if you are running on Apple M1 hardware.
"Hi. I'm here because of the Mac M1 issues. For me, Logic2 isn't able to record more than a moment of data, and when I did, I couldn't get the SPI analyzer working.
I'm writing mostly to let you know of the impact. I am using legacy Logic software and it's mostly working fine for me. But when I try to share my capture, others are unable to view it."
"I’m using the new Apple MacBook Air with M1 ARM64 chip so the USB controller is related to the macOS Big Sur v11.2.3.
I just seen that Logic 2 app is not optimise for M1 chip so it is running on my Mac using Rosetta (adaptation layer for Intel cpu)… have you consider to build Logic 2 for Apple M1 chip? Maybe this will solve the issue."
It seems the bug has been introduced recently - the latest version is almost unusable, but for example 2.3.8 works for me all the time. I haven't found the exact version where the issue starts, as I have managed to reproduce the bug once in 2.3.18, but not for quite some time after that.
Another thing that seems to help in the current versions is enabling analog channels (paradoxically, since it increases the data flow).
Please build Logic for Apple Silicon (arm64) so that it runs better on new M1 based Macs.
Any updates on M1 rebuild for Logic 2.x support Tim?
Thank you for the continued quick support and community engagement. Just upvoting this, my M1 Mac is pretty much dialed in for my day to day tasks except for Logic! It seems like Electron apps are (ironically) the biggest problem on M1, I hope to seen an update soon!
Thanks for voting on this. Apologies we still don't have an update as to a potential fix on Logic 2. Have you given Logic 1.2.29 a try? Not ideal, but I'm curious to hear if that helps to at least get your Logic running on your Mac.
I have issues with Logic on my M1 Mac mini as well - I get the read timeouts every time. Can't use my device at all on the Mac, I've had to drag out an old Windows laptop to use with Logic until it's fixed.
Sorry about this... We've been continuing to track these issues. Thanks for reporting it. The ReadTimeouts are what we would expect based on our internal test results.
In the meantime, have you had a chance to try the older Logic 1.2.29 on your M1 Mac mini? Ideally, we want to get this fixed on Logic 2 eventually, but this could work as an intermediate solution.
I'm running a new 16GB Mac mini M1. I was getting the occasional read timeout, but now it seems to be almost always. Sometimes, it will run continuously with no issue, then other times, it will stop after only a second or so. I've tried on 2.3.17, 2.3.18 and 2.3.19.
I've tried it on Big Sur 11.1, 11.2 and now 11.3(beta).
I've now moved to 1.2.29 and it seems to be working perfectly, but I feel like I've gone back in time after having been blown away by 2.x.xx the past year. :(
I really hope you can rebuild for M1 soon! The Saleae is critical to my every day work.
Thanks for reporting this Josh, and sorry for the trouble that caused... The read timeouts you are experiencing seems in line with what we were seeing on our end.
Sorry for requiring our older Logic 1.x software in the meantime.
My only complaint is that this does not seem to work on my Mac mini M1 (apple silicon). I haven't gotten around to asking in support forms, to get around this I've simply been using a Linux box for this.
Indeed the troubleshooting issue with the m1 chip link describes my problem. Logic2 launches fine and even recognizes my device but as soon as I start a capture I get a "Read Timeout". I tried the workaround by using Logic1 and it works just fine.
Until this is working I'll just continue using Logic2 on my Linux box to get me through. Once there is any release that fixes this for the m1 computers I'll be more than happy to try it out.
As an aside, I really appreciate the responsiveness of Saleae! I'm just a hobbyist here but every interaction I've had with you all has been top notch.
After some test V1.2.29 doesn't work for me, channels seems to slide. Is someone have the same kind of issue ?
V1.2.29 is working fine for me, but I planned to start working on an High-level extension next week that seems only compatible with V2.
I will have to find another computer...
Hi, just adding that I am seeing the issue on my M1 MacBook Air w/ latest Logic 2 using a brand new Logic Pro 16. "An error occurred during capture: ReadTimeout". I tried 2 different methods of connecting (2 different adapters) as well as unplugging my external display. No change. One of my adapters is USB 3.0 the other is USB 2.0. I tried changing the capture settings to very low-speed capture of just 1 channel, no change. Hopefully you can rebuild Logic 2 with latest Xcode for M1. I haven't tried the older Logic 1.2.29 yet.
"No, it doesn't works. I have a logic 8, and I ve got timeout and no data. I have only one mac M1. it's work on Intel Mac. The device is seen, but it does not work. It's a >Logic8 from 2011"
"Hello, I just wanted to inform you - in case you were not aware - that your Logic 1 or 2 application does not run under Apple's new ARM64 processors - even under Rosetta. The application will crash on launch."