BraveはWindowsでARM64をネイティブサポートしました

Braveは、ARM64 Windowsの完全ネイティブバージョンの提供を開始しました。ARM64デバイスにBraveを新規インストールすると、より高速なブラウザを手に入れることができます。詳細は以下にお知らせしますが、早く試してみたい方はこのページの最下部に進み、最新版の入手方法をご確認ください。

ARM64とは何か、そしてなぜ重要なのか

ARM64は、スピードと効率化のために開発された新しいタイプのCPUです。すべてのコンピュータには、脳のような働きをするプロセッサ(CPU)が搭載されています。プロセッサはさまざまな アーキテクチャ によって作られており、このアーキテクチャに基づきCPUの動作は低レベルで制御されています。代表的なアーキテクチャには、32ビットのx86アーキテクチャと、より最近のものとして64ビットのx64アーキテクチャがあります。

お使いのコンピュータで実行できるのは、お使いのCPUアーキテクチャと互換性のあるプログラムのみです。例えば、x86プロセッサ上でx64用のプログラムを実行することはできません。

ソフトウェア会社は、複数のバージョンを提供することでそれぞれのアーキテクチャに対応します。例えば、x86のCPUを使用している場合はx86バージョンのBraveをダウンロードし、x64アーキテクチャのプロセッサを使用している場合はx64バージョンをダウンロードして、Braveをご利用いただくことになります。

現在、ほとんどのWindowsコンピュータはx64 CPUを搭載しています。しかし最近、MicrosoftのSurfaceノートパソコンなどの製品を通じて、別のアーキテクチャが主流になりつつあります。このアーキテクチャはARM64と呼ばれ、より優れた電力効率とパフォーマンスを提供します。

ARM64とBrave

新しいCPUアーキテクチャは通常、古いアーキテクチャのプログラムを実行することができます。例えば、x64 CPUはx86プログラムを実行できます。同様に、ARM64 CPUはx64とx86のプログラムを実行できます。ただし、パフォーマンスには大きなオーバーヘッドが生じます。Braveの例では、ARM64コンピュータ上でx64 Braveを実行することができますが、必要以上にパフォーマンスは遅くなってしまいます。そこで私たちは昨年、多くのリソースを費やしARM64 Windows版のBraveをリリースしました。

では、ARM64版のBraveを開発するにあたり、何が必要でしょう?Braveの開発では、C++などのプログラミング言語でコードを書きます。プログラミング言語は、私たち人間が読むことができますが、CPUにおいては独自の機械語で動作します。CPUが私たちのコードを実行できるようにするため、コンパイラ と呼ばれるプログラムで機械語への翻訳をします。私たちはコンパイラに、ターゲットにしたいCPUのアーキテクチャを指定することができるので、たいていの場合、既存のC++コードをコンパイラに通すことで、ARM64アーキテクチャ用の機械語コードを生成させることができるのです。

オンデマンド更新とユニバーサル・インストーラ

Braveは複雑な部分もあるため、もちろんこのプロセスがそれほどシームレスに機能しない部分もありました。最初に遭遇した問題はこのようなものです。 Braveのアドレスバーに brave://settings/help と入力すると、Braveのバージョンを示すページが表示されます。重要なのは、このページがBraveの新しいバージョンかどうか、小さな回転アニメーションでチェックしていることです。この機能がARM64 Windows上のx64 Braveでエラーを示しました。広範な調査の結果、これはWindowsオペレーティング・システム自体の根本的な制限に起因することがわかりました。

この問題を回避するため、ユーザーが誤ってARM64 Windowsにx64 Braveをインストールしないようにするユニバーサルインストーラーを導入しました。この対応により、ユーザーのシステムにとって正しいアーキテクチャのBraveのコピーを常に受け取ることができるようになりました。brave.comにアクセスしてインストーラーをダウンロードすると、1MBの.exeファイルを取得します。これを実行すると、Braveのサーバーからユーザーの CPUアーキテクチャに対応した 最新バージョンのBraveがダウンロードされるのです。このようにすることで、前述のエラーは回避されました。

DRM保護コンテンツとWidevine

2つ目の大きな技術課題は、Widevine と呼ばれるブラウザのオプションとしてダウンロードされるコンポーネントで起こりました。NetflixなどのWebサイトは、コンテンツを保護するためにこのコンポーネントを使用します。Widevineコンポーネントがインストールされていない場合、Netflixなどのストリーミングサイトでは、低画質の動画しか再生できない場合があります。

Widevineは他社により独自開発された技術であり、そのライセンス条項では再配布を許可していません。つまり、WidevineのARM64バージョンを我々独自に開発してBraveに含めることはできないのです。しかし、ARM64バージョンのコンポーネントは、公開されているGoogleサーバーからダウンロードできます。そこで次のように対応しました。Widevine を必要とする Web サイトに初めてアクセスしたときに、コンポーネントをダウンロードしてインストールすることに同意するかどうかをまず尋ねます。

Braveに表示されるWidevineのアラート

同意すると、BraveはGoogleの公開サーバーからWidevineをダウンロードしてインストールします。Braveは他のアーキテクチャではすでにこの方法で動作していましたが、ARM64では多くの追加作業が必要となりました。技術的な詳細に興味がある方は、brave/brave-core リポジトリのpull-request #18695をご覧ください。

これは素晴らしい。どうすればARM64版Braveを利用できますか?

Windows 11とARM64 CPUが必要です。CPUがARM64かどうかを確認するには、pureinfotech.comの「プロセッサがARM64かx64(64ビット)かを確認する方法」の記事をご覧ください。(日本語訳注:同様の内容の日本語の記事ではこちらがありました。)ARM64 CPUをお持ちで、昨年12月以前にBraveをインストールされた場合は、新しいARM64ビルドを入手するために、まず古いBraveをアンインストールする必要があります。アンインストーラーが確認を求めてきた際に「閲覧データも削除しますか」というチェックボックスは 選択しない ようにしてください。ARM64 CPUからBraveのx64ビルドをアンインストールしたら、brave.comにアクセスし、ダウンロード ボタンをクリックして指示に従います。その後、Braveのアドレスバーに brave://version と入力すると、ページに「arm64」と記載されているはずです。

まとめ

昨今、ますます多くの新しいWindowsコンピュータがARM64 CPUを搭載するようになりました。Braveを可能な限り高速にするためには、このアーキテクチャに最適化する必要があります。私たちは昨年、この技術的な対応を完了しました。途中、技術的な課題もありましたが、無事に解決することができました。現在、brave.com にアクセスすることで、ARM64版BraveをWindows11にインストールすることができます!

原文執筆者について

Michael Herrmann は、2019年からBraveにサービスを提供しているソフトウェア開発会社、Omaha Consultingの創設者です。彼の個人Webサイトhttps://herrmann.ioでより詳しい情報を見ることができます。

Related articles

Braveで新しいWebを体験する準備はできましたか?

Braveはプライバシーとパフォーマンスを重視するWebのパイオニアからなるチームによって開発されています。Braveを利用しWebの再構築に協力していただけませんか?