20

Bug - Logic Unstable on Apple M1 Chip

  • Held for moderation
  • Live

Avatar
Tim

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.


Regarding Apple Silicon Support - Saleae Update 7/11/2023:

Starting Logic 2.4.8, we now provide a native Apple-Silicon build of our software! https://www.saleae.com/downloads/


A

Activity Newest / Oldest

Avatar

Tim

To everyone on this feature request thread, we just released an Apple silicon build of our software downloadable here!
www.saleae.com/downloads/


  • Avatar
  • M
Avatar

Tim

Status changed to: Live

Z

Zain

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.


  • M
Avatar

Tim

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.


  • Z
Z

Zain

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?)


Avatar

Tim

(#63837)
"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?"


  • M
Z

Zain

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.


Avatar

Tim

(#63643)
"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."


J

Jacob

Adding my support for this to be fixed.


D

David

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!


Avatar

Tim

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.


D

David

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.


  • M
M

Mark

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.


  • J
D

David

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.


D

David

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...


D

David

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.


D

Dave

Just adding my voice to the chorus. It does not work with M1 macbook pro and I would like it to be fixed. thanks.


T

TA

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)


Avatar

Tim

twitter.com/AirMonkDev/status/1415017533070000134
"Ok but… what about Apple M1 support!? We’re still waiting for a stable M1 support!"


O

Oliver

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...


  • Z
Avatar

Tim

Thanks Oliver. This seems in line with what other users are experiencing. Sorry for the trouble with this, and hopefully Logic 1.x suffices in the meantime.


A

when will logic 2 support m1?


Avatar

Tim

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.
support.saleae.com/logic-software/legacy-software/older-software-releases


Avatar

Tim

(#59781)
"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."


Avatar

Tim

(#58772)
"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."


?

Štefan

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).


Avatar

Tim

Thanks for letting us know your test results. Unfortunately, v2.3.8 fails on our end as well. Though, I'm glad you're seeing some success with it in the meantime.


S

Steve Luzynski

Please build Logic for Apple Silicon (arm64) so that it runs better on new M1 based Macs.


Avatar

Tim

J

Josh

Any updates on M1 rebuild for Logic 2.x support Tim?


Avatar

Tim

Unfortunately no updates yet as of now


B

Brian

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!


Avatar

Tim

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.
support.saleae.com/logic-software/legacy-software/latest-beta-release


S

Steve Luzynski

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.


Avatar

Tim

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.
support.saleae.com/logic-software/legacy-software/latest-beta-release


J

Josh

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!
Josh


  • A
Avatar

Tim

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.
support.saleae.com/troubleshooting/issues-with-the-apple-m1-chip

Sorry for requiring our older Logic 1.x software in the meantime.


Avatar

Tim

(#57619)
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.


N

Nicolas

After some test V1.2.29 doesn't work for me, channels seems to slide. Is someone have the same kind of issue ?


Avatar

Tim

I just received your support ticket. This looks strange... and is not what we expect from a Mac M1 incompatibility. Could be something else entirely. Let's discuss there via email.


N

Nicolas

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...


J

Justin

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.


Avatar

Tim

(#56464)
"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"


Avatar

Tim

(#56112)
"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."