Red HatのArmエンジニア、80コアを捨て6コアに帰還する

Red HatのArmエンジニア、80コアを捨て6コアに帰還する

Red HatでAArch64のサポートを担当するシニアソフトウェアエンジニア、マルチン・ユシュキェヴィチ(Marcin Juszkiewicz)氏が、約11か月にわたるAArch64デスクトップ実験の終了を宣言した。80コア・3.0GHzのAmpere Altra Q80-30と128GBメモリ、AMD Radeon RX 6700 XTを組み合わせた自作マシンで日常業務をこなし続けた連載全7回の、これが最終回になる。


毎週カーネルをビルドする生活

ユシュキェヴィチ氏が2025年6月に組み上げたマシンの構成は、サーバー向けマザーボードASRock Rack ALTRAD8UD-1L2Tを軸にしたものだ。Ampere Altraはデータセンター向けプロセッサであり、デスクトップ用途は本来想定されていない。動作確認済みデバイスのリストにAMD Radeon GPUは含まれていなかった。

The end of the AArch64 desktop experiment – Marcin Juszkiewicz
After about eleven months of using an AArch64 desktop, I decided to end that experiment.

それでもFedora 42から44まで、システムは「おおむね問題なく」動いていた。ただし「おおむね」には注釈がつく。

Ampere AltraのPCIeコントローラには、エラッタ82288(PCIE_65)と呼ばれる既知の不具合がある。PCIeのMMIO書き込み時に不正なアドレスが生成され、AMD GPUをはじめとする特定のデバイスとの互換性を損なう。このエラッタに対応するカーネルパッチはAmpereがGitHubで公開しているが、Linuxカーネルの本流にはマージされていない。

結果、ユシュキェヴィチ氏はFedoraのカーネルパッケージを毎週自分でビルドし直す運用を強いられた。毎週月曜か火曜にリポジトリを更新し、PCIE_65パッチを当て直し、独自のバージョン番号を振る。Fedoraがカーネル6.19系を配布していた時期に、氏のマシンでは7.0系が走っていた。正式なFedoraとは呼べない環境で、それでもArmデスクトップを使い続けた。

80コアの限界

コア数は圧倒的だった。だがデスクトップ用途で求められるのは、コアの本数ではない。

ユシュキェヴィチ氏は6月1日の連載第6回で、80コアを積んでもデスクトップの速さにはつながらないと書いている。Ampere Altraの各コアはArm Neoverse N1ベースで、シングルスレッド性能はx86のデスクトップ向けCPUに及ばない。ウェブブラウジング、テキスト編集、ゲーム、3Dモデリング。日常の操作でユーザーが体感するのはシングルスレッドの応答速度であり、そこでAmpere Altraは不利だった。

GPUが壊れ、代替策も塞がった

致命傷になったのはGPUだ。

AMD Radeon RX 6700 XTはPCIE_65パッチを当てたカーネルで動作し、ゲームもビデオ再生もこなしていた。だがLinux 7.0のリリース前後から、AMDGPUカーネルドライバに問題が発生する。ゲームを起動するとフェンスタイマーの期限切れエラーが繰り返し発生し、YouTube動画は750フレーム中720フレームがドロップされる状態に陥った。

原因の切り分けは困難だった。PCIE_65パッチで改変されたカーネル上で起きている以上、AMDGPUドライバ自体の問題なのか、パッチとの相互作用なのかを特定できない。通常ならカーネルの二分探索で原因コミットを追跡するが、パッチ適用済みカーネルではその手法も使えなかった。

代替策としてNVIDIA GeForce RTX 2060に交換した。NVIDIAのプロプライエタリドライバを使えばPCIE_65パッチなしで動作し、ビデオデコードのハードウェアアクセラレーションもゲームも問題なく機能した。

だが今度はソフトウェアが壁になる。日常的に使っていたFreeCAD(3D CADソフト)とOrcaSlicer(3Dプリンタ用スライサー)を起動するとクラッシュする。原因はAArch64向けのFlatpakリポジトリにNVIDIAのOpenGLランタイム(org.freedesktop.Platform.GL.nvidia)が存在しないことだった。

GPUを変えても、ドライバを変えても、AArch64デスクトップにはつねに何かが欠けている。ここでユシュキェヴィチ氏は諦めた。

6コア12スレッドで「全部動く」

電源が切られたまま放置されていたRyzen 5 3600のx86-64マシンを起動した。ケーブルを繋ぎ直し、机の下にはAmpere Altra(ニックネーム「wooster」)とRyzen(ニックネーム「puchatek」)の2台が並ぶことになった。

80コアから6コア12スレッドへ。数字だけ見れば大幅な後退だ。だがユシュキェヴィチ氏の報告は率直だった。全スレッドに負荷をかけても音楽再生は途切れない。Steamライブラリのゲームはすべてプレイ可能。FreeCADでケースの設計が完了し、OrcaSlicerから3Dプリンタへ直接出力できる。

AArch64(80コア)vs x86-64(6コア)動作状況
AArch64
Ampere Altra
x86-64
Ryzen 5 3600
Steam
ゲーム
動画再生×
FreeCAD×
OrcaSlicer×
標準カーネル×
マルチコア
ビルド
※ AArch64の△=PCIe_65パッチ適用カーネルで一時動作後に不具合発生。×=AMD GPU障害またはNVIDIA Flatpakランタイム未提供により使用不可。マルチコアビルドのみAArch64が優位(RISC-Vパッケージビルドに転用)

80コアのマシンで11か月間できなかったことが、6コアのマシンでは初日からすべてできた。

Ampere Altraのマシンは電源が入ったまま残されている。RISC-Vパッケージのビルドに転用された。シングルスレッドは遅いが、80コアのマルチコア性能はこの用途で本領を発揮する。データセンター向けCPUは、本来の仕事に戻った。

AArch64デスクトップ実験 11か月の経緯
2025年6月
Ampere Altra 80コアマシン組み立て
ASRock Rack ALTRAD8UD-1L2T + AMD Radeon RX 6700 XT。
Fedora 42で運用開始
運用開始
PCIeエラッタ(PCIE_65)が発覚
AMD GPUの動作にカーネルパッチが必須。
毎週自前でカーネルをビルドする運用に
2026年春
AMDGPUドライバが破綻
Linux 7.0前後からフェンスタイマー期限切れエラーが頻発。
動画は750フレーム中720フレームがドロップ
GPU交換
NVIDIA RTX 2060に切り替え
プロプライエタリドライバで動画・ゲームは復旧。
だがFreeCADとOrcaSlicerがクラッシュ
断念
FlatpakにNVIDIAランタイムなし
AArch64向けFlatpakにNVIDIAのOpenGLランタイムが未提供。
日常ツールが起動不可に
2026年6月
Ryzen 5 3600(x86-64)に帰還
6コア12スレッドで全て動作。
Ampere AltraはRISC-Vパッケージビルド用に転用
※ 「2026年春」「GPU交換」「断念」は正確な日付ではなく、ブログ連載の記述順に基づく時期表記

次のAArch64デスクトップに必要なもの

ユシュキェヴィチ氏はAArch64デスクトップの再挑戦を否定している。次にやるとすれば、まったく新しいハードウェアプラットフォームが必要だとも述べた。NVIDIA DGX Sparkに触れつつ、2万PLN(ポーランドズロチ)以上を費やす予定はないと付け加えている。日本での販売価格は約119万円からだ。

この実験が示したのは、Armアーキテクチャの設計上の限界ではない。PCIeコントローラのエラッタが放置されたままカーネル本流に修正が入らないこと、AArch64向けのGPUドライバとソフトウェアエコシステムが成熟していないこと、FlatpakのようなユニバーサルパッケージですらAArch64+NVIDIAの組み合わせが想定外であること。個々の問題はいずれも修正可能な範囲にある。だがそれらが重なったとき、日常の道具としてのデスクトップは成立しなくなる。

同時期にDebianでAArch64デスクトップを運用している別のエンジニアは「すべて動く」と報告している。ただしその環境はオープンソースソフトウェアに限定され、NVIDIAのGPUはWaylandで動作しないためX11を使用している。制約を受け入れれば動く。だがその制約がx86では存在しない。

11か月の運用でAArch64デスクトップを離れたのは、Arm開発者だった。Apple Silicon上のmacOSやAsahi Linuxとは異なる文脈で、AArch64 Linuxデスクトップがいまどこにいるかを示す報告だ。

関連記事

この記事を共有する