Igor and Apple ARM Processors
Created on January 5 at 05:32 am - by: hrodstein
In November of 2020, Apple released the first Mac computers based on the M1 chip, also called "Apple Silicon". The M1 chip is built on the ARM processor architecture. Apple continues to sell Intel-based computers but, according to reports, plans to transition completely to ARM over the next two years. This article discusses how ARM impacts Igor Pro.
The currently-shipping version of Igor, Igor Pro 9, uses the Intel processor architecture. Intel-based programs run on Apple ARM processors using Apple's Rosetta2 translation system which does a one-time translation from Intel instructions to ARM instructions. According to reports from Igor users, Igor Pro 9 runs well under Rosetta2.
As of this writing, because of many technical and other obstacles, WaveMetrics is not working on an ARM port and we have no concrete plan to do so. We will revisit this once we have clarity on related issues.
Here are some of the issues and obstacles:
• The Qt application framework on which Igor is based does not currently support Macintosh on ARM although there is a port in progress.
• Using Qt on Macintosh ARM will require porting to a major new version of Qt which, by itself, is a time-consuming and costly process.
• Once Qt runs on Macintosh ARM, there are likely to be Qt licensing issues.
• Igor relies on many third-party libraries which would need to be ported to ARM. Some of these are Intel libraries that will never be ported.
• All XOPs written by WaveMetrics or Igor users will have to be ported to ARM or abandoned. Some of these XOPs rely on libraries that are not yet ported or will never be ported.
• Apple has deprecated the OpenGL graphics library on which Igor depends.
• Macintosh ARM requires the Big Sur OS and, at least on some machines, debugging Qt programs under Big Sur is difficult to impossible.
• New versions of MacOS are likely to present additional significant obstacles as Catalina and Big Sur did.
As we have learned from previous porting experience (68000 → PowerPC, PowerPC → Intel, Mac OS 9 → Mac OS X, Carbon → Cocoa, 32-bit → 64-bit), other issues will undoubtedly arise. Porting to ARM will be time-consuming and costly. During the port, general improvements to Igor will slow down or halt.
It is clear that ARM is the future of Macintosh. We will be looking for clarity on the issues and obstacles and will review the situation during development of Igor Pro 10. In the meantime, we will continue to support Igor on Macintosh via the Intel version.
See Also: Igor Pro on macOS 10.15 and macOS 11.0
Igor Pro 9
Igor XOP Toolkit
Igor NIDAQ Tools MX