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.
Here are some of the issues and obstacles:
• 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.
• Igor relies on Intel's FORTRAN compiler but that will not work under ARM. We would need to find a new compiler that works on ARM and Windows or use a different compiler on each platform.
• 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 recommends that applications that need to extend functionality use interprocess communication instead of loading a plugin into the process. Following this guidance would require a complete rewrite of the XOP toolkit and all existing XOPs.
• Apple has deprecated the OpenGL graphics library on which Igor depends.
• 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.
See Also: Igor Pro on macOS 10.15 and macOS 11.0
Forum
Support
Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More