Intel Xeが不良VRAMを隔離へ|Linux 7.4新機能

Intel ArcをLinuxで使う際、VRAMの異常をドライバーがどう検出し、処理中のアプリをどう守るのかは見えにくい部分です。IntelのXeカーネルドライバーには、VRAMの最終ページを起動時に検査する機能と、不良と判定した物理ページを以後の割り当てから外す機能が加わる見通しとなりました。

変更はLinux 7.4サイクルに向けてDRM-Nextへ送られた段階です。検査機能の一部はデバッグ用のビルド設定に限定されています。この記事では、公開パッチから確認できる仕組みと、Intel Arc利用者への影響を分けて解説します。

Linux 7.4向けVRAM管理の変更点

Intel Xeメーリングリストの公開記録では、「VRAM health check + CCS fix」と「Add memory page offlining support」という2系統のパッチを確認できます。どちらもVRAMを扱いますが、目的と動作のタイミングは異なります。

機能 目的 公開資料で確認できる動作
起動時のVRAM健全性チェック アドレス範囲や圧縮メタデータ領域の設定ミスを早期に見つける 最終VRAMページをカナリアとして読み書きし、割り当て設定を検査
メモリーページのオフライン化 異常が判明した物理VRAM領域の再利用を防ぐ 不良ページを割り当てプールから外し、関連するバッファーを処理
DebugFSでの状態公開 管理者や開発者が隔離済みページを確認する 不良VRAMページの情報をDebugFSへ表示
障害注入テスト 異常時の処理を開発段階で検証する 疑似的なVRAMページ障害を発生させるテスト経路を追加

Phoronixの報道VideoCardzの解説も、最終ページの検査、不良ページの隔離、DebugFSへの公開という要点で一致しています。更新の焦点は、GPUメモリーの設定不整合や物理的な劣化へドライバーが対処するための信頼性向上です。

最終VRAMページを使う健全性チェック

起動時チェックは、VRAMの末尾にある1ページを「カナリア」として使います。GPUが認識するVRAM容量、PCI Express経由で見えるBARの範囲、メモリー圧縮に使うCCS領域などに食い違いがあると、アドレス範囲の端で問題が表れやすいためです。Xeドライバーは初期化の早い段階でこのページへ複数の方法でアクセスし、設定の整合性を調べます。

パッチ説明では、一部のBattlemage GPUでCCSのオフセットが正しく整列せず、圧縮用に予約すべき領域の一部が通常VRAMとして割り当てられる問題が動機に挙げられました。CCSは描画データそのものを置く通常領域とは役割が異なります。予約領域が一般の割り当てプールへ混ざると、アプリから見えない場所でデータの衝突やアクセス異常につながります。

この健全性チェックは、公開時点ではカーネル設定の CONFIG_DRM_XE_DEBUG_MEM が有効な場合に動くデバッグ機能です。一般ディストリビューションの標準カーネルへ同じ設定で入るとは限りません。パッチの価値は、異常がアプリのクラッシュとして現れた後に追うだけでなく、ドライバー初期化時にVRAM配置を検証できる経路を用意した点にあります。

不良VRAMページを隔離する仕組み

メモリーページのオフライン化は、物理的な異常が分かったVRAM領域を再び使わないための機能です。公開された第21版のパッチ群は15本で構成され、ページ隔離用のデータ構造、障害処理、設定用のConfigFS、状態表示用のDebugFS、障害注入テストまでを含みます。

ドライバーが不良ページを把握すると、その領域をGPUの新しいメモリー割り当てから外します。すでに該当ページを含むバッファーがある場合に備え、バッファーの破棄や実行キューの扱いもパッチ群へ組み込まれました。障害箇所を何度もアプリへ渡して、データ破損、GPUリセット、処理失敗を繰り返す流れを止める設計です。

隔離後は利用可能なVRAMが物理容量よりわずかに減ります。グラフィックカードの故障部分をソフトウェアで修復する機能ではありません。正常な領域だけを割り当て候補に残し、GPUを縮退状態で扱うための基盤です。管理者はDebugFSに公開される情報から隔離済みページを確認でき、交換時期やワークロード移行を判断する材料にできます。

Intel Arc利用者への影響

今回の変更はXeカーネルドライバーのVRAM管理を対象にしています。Linux 7.4向けとして紹介されていますが、実際に使える時期はパッチの統合、Linux本体のリリース、各ディストリビューションの採用時期で変わります。現在のカーネルを更新しただけで、すべてのIntel GPUに同じ診断項目が現れるとは限りません。

ゲーム向けのIntel Arc B580はBattlemage世代の代表例です。GPUがXeドライバーの対象か、専用VRAMとRAS機能を備えるか、カーネルが必要な設定で構築されているかによって利用範囲が決まります。公開資料では対象を個別の市販カード型番まで特定していません。

Windows版Arcドライバーについて、同等機能の提供時期は今回の資料に示されていません。Linux側のカーネル変更とWindows版ドライバーの更新は別に管理されます。Windows利用者はIntelの正式なリリースノート、Linux利用者はカーネルとディストリビューションの変更履歴を確認すると、導入済みかを正確に判断できます。

導入後に確認したい情報

Linux 7.4世代の環境で機能を追う場合は、カーネル番号だけでなく、次の情報を組み合わせます。

  • 利用中のGPUがxeドライバーへ割り当てられているか
  • ディストリビューションのカーネル設定に必要なオプションが含まれるか
  • 起動ログにVRAM検査やXeドライバーのエラーが記録されていないか
  • DebugFSに隔離済みVRAMページの情報が公開されているか
  • カーネル更新後も同じエラー、画面の乱れ、GPUリセットが続くか

DebugFSや障害注入は、管理者と開発者が診断に使うインターフェースです。日常的なゲーム設定や性能調整の項目ではありません。実際の画面崩れやクラッシュが続くカードでは、ログを保存したうえで販売店やメーカーの保証窓口へ症状を伝えると、ソフトウェア設定とハードウェア故障を切り分けやすくなります。

まとめ

Intel XeのLinuxドライバーは、VRAM末尾を使う起動時チェックと、不良VRAMページを割り当て対象から外す仕組みをLinux 7.4サイクルへ向けて追加します。前者はBARやCCSを含む配置設定の検証、後者は物理的に劣化した領域の再利用防止を担います。不良ページのDebugFS表示や障害注入まで含むため、GPUの信頼性を運用側から確認しやすくなる更新です。

Intel Arcを検討している方は、ドライバー更新だけでなくVRAM容量と用途の関係も押さえておきましょう。Arc B580の12GB VRAMを解説した記事では、ゲーム設定と容量の見方を詳しく整理しています。