macOS 11 Big SurではPowerPCからIntelへ移行したMac OS X時代と同じく、Finderやシステム情報からIntel/Apple SiliconのUniversal2対応アプリを確認可能に。

PowerPCとIntelとUniversalアプリ macOS 11 Big Sur
クリックで拡大
記事内に広告が含まれています。
スポンサーリンク

 macOS 11 Big SurではPowerPCからIntelへ移行したMac OS X時代と同じく、Finderやシステム情報からIntel/Apple Silicon対応のUniversalアプリを確認することが可能です。詳細は以下から。

Universal 2のアイコン

 Appleは日本時間2020年11月13日、デザインを刷新しIntel/Apple Silicon MacをサポートしたmacOS 11 Big Surをリリースしましたが、このmacOS 11 Big SurではApple Siliconのサポートに伴いx86_64とarm64バイナリを含み、IntelとApple Silicon Macでネイティブ動作するUniversal 2対応アプリを扱うことが可能になっています。

arm64版のHex Fiend

 WWDC20ではこのUniversal 2対応アプリを確認する方法として、PowerPCからIntelへの移行時代にも使われたlipo”コマンドが紹介されましたが、macOS 11 Big SurではMac OS X時代と同じくFinderやシステム情報からUniversal 2アプリを確認することができるようになっています。(Twitterでのご指摘ありがとうございます)

lipoコマンドでUniversal Binaryかを確認する

lipo -archs /path/to/app/MacOS/hogehoge
lipoはギリシャ語で「太った(fat)」という意味で、複数のアーキテクチャのネイティブ・バイナリを含むUniversal Binaryはfatバイナリとも呼ばれています。

IntelとApple Silicon対応アプリを確認する

 利用しようとしているアプリがUniversal 2対応アプリかを確認する方法は、Mac OS X時代と同じくアプリをFinderで右クリック[情報を見る]でアプリの情報を表示し、一般 → 「種類 アプリケーション」の横にあるカッコ内()をチェックします。

macOS 11 Big SurのFinderでUniversal 2アプリをチェック

 このカッコ内に「Intel」とあればIntel-OnlyでApple Siliconに対応していないアプリ、「Universal」とあればIntelとApple Siliconの両方に対応したUniversal 2対応アプリということになり、現在はApple製アプリ以外ないと思いますが、今後はApple Silicon Macでのみ動作する「Apple Silicon」アプリも登場すると思われます。

PowerPCとIntelとUniversalアプリ

クリックで拡大

 Appleは15年前、PowerPCからIntelプロセッサへ移行するさい、PowerPCバイナリをIntelプロセッサで実行できるようにするバイナリトランスレーターRosettaを用意しましたが、同じく今週発売が開始されるApple Silicon MacとmacOS 11 Big Surには「Rosetta 2」が導入されているため、

macOS Big SurのRosetta 2

ほぼ全てのアプリはApple Siliconに対応していなくても(Intel-Onlyでも)動作すると思われますが、Rosetta 2はカーネル拡張とx86_64プラットフォームを仮想化する仮想化アプリの変換にはしないことが既に発表されているので、カーネル拡張を伴うアプリやParallels Desktop/VMware Fusionで利用しているWindowsの仮想マシンをApple Silicon製Macで起動するこは現在のところ不可能なので注意してください。

Rosetta2が変換できないもの

What Can’t Be Translated?
Rosetta can translate most Intel-based apps, including apps that contain just-in-time (JIT) compilers. However, Rosetta doesn’t translate the following executables:

  • Kernel extensions
  • Virtual Machine apps that virtualize x86_64 computer platforms

Rosetta translates all x86_64 instructions, but it doesn’t support the execution of some newer instruction sets and processor features, such as AVX, AVX2, and AVX512 vector instructions. If you include these newer instructions in your code, execute them only after verifying that they are available. For example, to determine if AVX512 vector instructions are available, use the sysctlbyname function to check the hw.optional.avx512f attribute.

About the Rosetta Translation Environment – Apple Developer Documentation

おまけ

 また、Macにインストールされている全てのアプリのIntel/Universal (2)/Apple Silicon対応状況をチェックしたい場合は、メニューバー左上のAppleロゴ() → [このMacについて] → [システムレポート] → [アプリケーション]の「種類」から確認することができるので、Apple Silicon Macの購入/移行への1つの指標となると思います。

システムレポートでIntelとUniversalアプリを確認する方法

この機能はmacOS 11 Big Surのみなので、macOS 10.14 MojaveやmacOS 10.15 Catalinaでチェックしたい場合はlipoコマンドを使うか、Uni Detectorをお使いください。

コメント

  1. 匿名 より:

    Intel移行の頃はfileコマンドでもi386/ppcを確認できたけど、今回は無いのかな?

タイトルとURLをコピーしました