ReBarUEFIは、接続されたPCIデバイスが対応している可能性があるにもかかわらず、ファームウェアがResizable BARを公開しないコンピュータ向けに設計されたUEFI DXEドライバです。プロジェクトのREADMEには、公式のBIOS設定がなくても、この機能を有効にできる可能性があると記載されています。これはプロジェクト作者による主張であり、記載されたすべてのプラットフォームで動作することを証明するものではありません。
Base Address Register、つまりBARは、プロセッサがマップできるデバイス用メモリ領域を示します。Resizable BARは、より小さなファームウェア指定値を維持するのではなく、列挙時にそのマップのサイズを変更します。実用的には、この機能によってCPUが一度により多くのグラフィックスメモリをマップできる可能性があります。特定のゲームやアプリケーションで性能が向上するかどうかは、GPU、ドライバ、ワークロード、CPU、ファームウェアによって異なります。提供された資料には、独立したベンチマーク一式は含まれていません。
プロジェクトは仕組みを具体的に説明しています。ReBarDxeをファームウェアのDXEボリュームに追加し、`PciHostBridgeResourceAllocationProtocol`に関連付けられた`PreprocessController`関数を置き換えます。最初に元の関数を実行し、Resizable BARの対応状況を確認してから、`ReBarState` NVRAM変数に保存されたサイズを要求します。その後、PCIバスドライバが新しいBARサイズを認識し、それに対応するアドレス範囲を割り当てます。この説明は意図した制御フローを示すものであり、あらゆるファームウェア実装が必要なフックとリソースを維持することを独立して実証するものではありません。
READMEはいくつかの前提条件と障害発生時の状況を挙げています。改造済みファームウェアをインストールした後、4Gデコードを有効にし、CSMを無効にするよう推奨しています。また、Large BAR対応を持たないシステムでは追加パッチが必要になる可能性があり、プロジェクトが無制限と説明する`32`設定も、動作しない場合は小さくする必要があると警告しています。これらは任意の性能調整ではなく、運用上の要件です。十分なアドレス空間を公開できないマシンでは、デバイス自体が機能を宣伝していても、より小さなBARに制限されたままになる可能性があります。
ファームウェア設定は、この記事で説明する機能とアドレス空間の条件を具体的に示す例です。
このプロジェクトには、64ビットBAR処理とMMIO割り当てに関連する問題として、4GB、16GB、64GBの制限や、特定の64ビットBARがダウングレードされるのを防ぐ処理などに対するUEFIPatch関連の変更が含まれています。また、Haswell、Broadwell、Skylake、Kaby Lake、Coffee Lakeを含む各Intel世代でMMIO領域を増やすなど、プラットフォーム固有の回避策も列举されています。パッチが存在することは既知の互換性対象があることを示すだけで、特定のマザーボードへの適用が安全であることや十分であることを示すものではありません。
したがって、インストールは通常のBIOS設定を切り替える作業とは大きく異なります。リポジトリはFFSモジュールを追加するためのWiki手順を参照しており、必要に応じて追加のファームウェア改造も説明しています。DXEドライバをedk2ツリーでビルドするスクリプトを提供し、ReBarStateはWindowsまたはLinuxでCMakeを使ってビルドできると説明しています。提供されたREADMEはプロジェクト文書であり、万能の復旧手順ではないと捉えるべきです。ファームウェアの書き込みやパッチ適用により、システムが起動不能になる可能性があります。この資料は、マザーボードごとの安全性、ベンダーのサポート、ロールバック動作を保証するものではありません。
プロジェクトのFAQには、最近のLinuxでは4Gデコードが有効な場合、GPU BARを自動的にリサイズして割り当てられること、また、誤ったDSDTではカーネル側またはファームウェア側の作業が必要になる可能性があることが記載されています。一方、BIOSを変更せずにWindowsでこの機能を有効する方法は知られていないとも述べています。これらの記述はOSを選択する際の有用な情報ですが、互換性を保証するものではありません。ファームウェアを変更する前に、現在利用しているLinuxディストリビューション、GPUドライバ、マザーボードのdocumentationを最新情報と照合する必要があります。

このスクリーンショットは、ファームウェアによる列挙後に、OSとドライバのツールが結果として得られるBARの状態をどのように表示できるかを示しています。
復旧に関する警告は特に重要です。対応していないBARサイズによって起動しなくなった場合、READMEではCMOSをクリアし、場合によってはCMOSバッテリーを取り外してResizable BARを無効にするよう説明しています。この助言は、本プロジェクトを無害なソフトウェアユーティリティとして扱うべきではない理由を明確に示しています。利用者は、試行する前に、正常動作が確認済みのファームウェアイメージ、信頼できる書き込み手順、ハードウェアに適した復旧手段を準備する必要があります。
有用な比較は、単に「古いコンピュータと新しいコンピュータ」ではありません。ハードウェアがその機能を宣伝しているか、ファームウェアが十分なアドレス空間を公開しているか、OSとドライバが結果として得られるマップを利用できるか、そしてワークロードがその恩恵を受けられるかを確認する必要があります。ReBarUEFIはファームウェアの動作を変更することで2番目の条件に対処しますが、対応機能を持たないデバイスにResizable BAR対応を作り出すことも、互換性のないドライバを修理することも、測定可能な性能向上を保証することもありません。
ここで提供された証拠が支持するのは、限定された結論です。ReBarUEFIは技術的に説明されたファームウェア介入であり、他の方法では対応していない一部のシステムでより大きなBARを要求できます。その一方で、4Gデコード、Large BAR処理、MMIO領域、プラットフォーム固有のパッチに依存します。このツールが文字どおり「ほぼすべての」UEFIシステムで動作する、という広い主張や、一般的なゲームでの性能向上を立証するものではありません。作者自身の例では、Intel i5-3470とRadeon RX 580の構成で2GB BARを使用した場合、FPSが最大12%向上したと報告されています。しかし、この1つの構成はプロジェクト作者による事例報告であり、一般的なベンチマーク結果ではありません。
本プロジェクトを検討する読者が最初に確認すべきことは、宣伝文句ではなく運用面です。正確なマザーボード、GPU、ファームウェアのバージョン、OSを組み合わせて検証できるか、そして列挙に失敗した場合にファームウェアを復旧できるかを確認する必要があります。リポジトリの互換性リストとIssueのdocumentationは、この疑問を絞り込む役に立つ可能性があります。ただし、提供された資料には、試験済みのマトリクスや独立した検証は含まれていません。これらの詳細を確認するまでは、復旧可能なハードウェアで条件付きに試行することが責任ある期待値であり、高速化や互換性の保証ではありません。