macOS + RX 6900 XT 高負荷時に電源が落ちる — SPPT注入について質問
Mac Pro (2019) に Radeon RX 6900 XT を搭載しています。
GPUに高い負荷をかけると、数秒後に突然電源が落ちることがあります。
原因はGPUの電力スパイクのように見えます。
同じマシンのBoot Camp(Windows)環境でも、ゲーム中に同様の強制再起動が起きていました。
ですが、MorePowerToolでパワーリミットを260Wに設定し、クロックを少し下げたところ、それ以降は一度も再発していません。
そこで、macOSでも同じようにSPPT(Soft PowerPlay Table)を反映させて電力スパイクを抑えようとしています。
OpenCoreを使わずに、カスタムkextを使ってSPPTを読み込ませようと試みました。
IORegistryには値が表示されましたが、実際にはGPUの動作には反映されていないようです。
調べた限りでは、macOSのRadeonドライバはユーザー空間からのPowerPlayTableの変更を受け付けず、
ドライバがロードされた後にファームウェアのデフォルト値で上書きしてしまうらしいです。
そのため、見た目上は反映されても実際のクロックや電力リミットには影響がないようです。
macOS 11以降では、ドライバ初期化前のEFI段階で DeviceProperties 経由で注入する必要があり、
OpenCoreを使えばそれが可能らしいという情報も見ました。
ただし、自分ではまだOpenCoreでの注入は試していません。
OpenCoreを使えば本当にSPPTを反映できるのでしょうか?
また、別の方法でmacOSにSPPTを適用して電力スパイクを防げた方がいらっしゃれば、ぜひ教えてください。
macOS上でRadeonカードを安定化できた事例があれば知りたいです。
Mac Pro, macOS 15.7