Valve製VRAMパッチ、4GB GPUで3倍弱の蘇生劇
Valve契約開発者ナタリー・ヴォック氏がLinuxカーネルに投入したVRAM管理パッチが、4GBしか積まないRadeon RX 6500 XTの息を吹き返している。Alan Wake 2は平均14fpsが41fpsへ、一部は無風。
Valve契約開発者ナタリー・ヴォック氏がLinuxカーネルに投入したVRAM管理パッチが、4GBしか積まないRadeon RX 6500 XTの息を吹き返している。Alan Wake 2は平均14fpsが41fpsへ、一部は無風。
「VRAMを勝手に奪われる」を止めるカーネルパッチ
ヴォック氏はValveと契約するLinuxグラフィックスドライバ開発者で、AMD GPU向けのオープンソースVulkanドライバRADVを主戦場にしている。4月9日に本人ブログで公開した一連の修正は、Linuxカーネルに6本のパッチと、ユーザー空間に2つのユーティリティ「dmemcg-booster」と「plasma-foreground-booster」を組み合わせる構成だ。
カーネルが問題視してきたのは、VRAMが埋まり始めたときのふるまいだ。従来はフォアグラウンドのゲームもバックグラウンドのブラウザタブも等しく「ただのメモリ確保要求」として扱われ、スペースが足りなくなるとゲームのデータが先に追い出されることすら頻繁に起きていた。追い出し先は「GTT」と呼ばれる、システムRAMをPCIe経由でGPUから参照する領域で、専用VRAMに比べてバンド幅・遅延ともに桁違いに悪い。
ヴォック氏はこれをこう表現している。
Carnage erupts inside the kernel driver as every application fights for as much GPU memory as it can hold on to.(カーネルドライバの中では、あらゆるアプリがGPUメモリをできる限り抱え込もうとして虐殺が起きている)
パッチの核はシンプルだ。DRMデバイスメモリcgroupコントローラ(dmemcg)を使って「このプロセスのメモリは保護」「こちらは先に退避してよい」という優先順位をカーネルに教え込む。KDE Plasmaのフォアグラウンド検出と組み合わせれば、いま前面にあるゲームが自動的に最優先になる。
8GBを救うために書かれたパッチが、4GBで試されてしまった
当初のターゲットは8GB VRAMのGPUだった。ヴォック氏自身がCyberpunk 2077でテストしたケースでは、ゲーム起動時にVRAMが足りなくなって約1.37GB分のデータがGTTに追い出されていたものが、パッチ適用後はゲームが自分から割り当てた約650MBだけに収まったと報告されている。
そこに現れたのがNJ Techのベンチマークだ。テスト機はRyzen 5 5600X(定格)、DDR4 16GB、そしてGPUはRadeon RX 6500 XT。CachyOSを使い、インストーラの「Install GPU Boosters」オプションから有効化している。4GBは8GBより厳しい条件であり、この検証の意味はパッチの本質を問い直すものになった。
9タイトルを1080p低設定(アップスケーリング最大)でテストした結果は、極端な二極化だった。
蘇生したタイトル、ピクリともしなかったタイトル
最大の勝者はAlan Wake 2だった。FSR Qualityで平均14fpsという「スライドショー未満」の状態が、パッチ適用後には41fpsまで跳ね上がった。1%Lowも12fpsから28fpsへ。体感は別物どころではなく、「起動できるが遊べない」から「遊べる」に境界を越えた数字だ。




NJ Tech
パッチを効かせると、Alan Wake 2は平均14fpsから41fpsへ、1%Lowは12fpsから28fpsへ。バイオハザード レクイエムは平均67fpsから78fpsへ、1%Lowは36fpsから56fpsへ。サイレントヒルfは平均47fpsから50fps、1%Lowは34fpsから35fpsへと変化した。
バイオハザード レクイエムも、平均は16%増にとどまるが1%Lowが55%増。体感上の「引っかかり」が消えるタイプの改善だ。サイレントヒルfは微増にとどまるものの、1%Lowも含めて底上げされている。
ここまでが良い話。残る6タイトルは、話がまったく違ってくる。
Marvel's Spider-Man 2は60fpsから62fps、ホグワーツ・レガシーは60fpsから61fps。計測誤差と区別がつかない水準だ。紅の砂漠、Cyberpunk 2077、DEATH STRANDING 2はほぼ横ばい、The Last of Us Part IIに至っては平均・1%Lowともに1fpsの低下を見せている。NJ Techによる検証では、VRAM圧迫の度合いがValveのパッチで吸収しきれる範囲を超えていた、という見立てが紹介されている。
「VRAMをきちんと使える」ことと「VRAMが足りる」ことは別物
ここでパッチの射程を整理しておきたい。ヴォック氏のパッチが解決するのはGTTに漏れる問題であって、ゲームそのものが要求するVRAM量を減らす魔法ではない。この違いを意識しないと、今回の結果は「効く/効かない」のまだら模様にしか見えない。
Alan Wake 2で3倍弱の伸びが出たのは、4GBで足りないなりに「漏れていた分」が大きく、それを止めたら足りる範囲に転がり込んだ、という珍しいバランスだったからと考えられる。逆に、そもそもVRAMが明確に足りていないタイトル(Cyberpunk 2077、DEATH STRANDING 2、The Last of Us Part IIあたりがこのカテゴリだろう)では、漏れを止めようが止めまいが、物理的に置き場所が足りない。動かないものは動かない。
VRAMに入るはずだったデータが漏れている「管理」の問題と、VRAMそのものが足りていない「容量」の問題は別物だ。パッチが効くのは前者のみ
逆もまた然りで、すでに十分動いているゲームではそもそもGTT漏れが少なく、パッチの効果は計測誤差の範囲に収まる。Marvel's Spider-Man 2やホグワーツ・レガシーの微増は、このパターンに見える。
古いGPUの寿命を延ばす、という議論の入り口
ヴォック氏はブログで、6本のパッチ自体がまだLinuxカーネル本流(mainline)にはマージされていないと明記している。現時点で最も楽に試せるのはCachyOS(KDE Plasma構成)で、同ディストリビューションが配布するカーネルパッケージに7.0rc7-2以降、または6.19.12以降でパッチが取り込まれている。NVIDIAのプロプライエタリドライバは対応せず、AMDのamdgpuとIntelのxeが対象、オープンソースのnouveau向けパッチもメーリングリストに投げられている段階だ。
仕組み上、恩恵を受けるのはAMDユーザーに偏る。一方でメモリ価格の高止まりが続くなか、あと1世代引っ張れる可能性が見えたことの意味は小さくない。今回のRX 6500 XT検証が示したのは、パッチが万能薬ではないという事実と、特定のタイトル群では確かに「使えないGPU」を「使えるGPU」に戻せるという事実の両方だ。
NJ Techは動画の末尾でインストール手順も紹介しており、自分の手持ちGPUで試したい人向けの導線も用意されている。Windowsでは同等の仕組みが提供されていない以上、この種の最適化がLinuxからしか出てこない状況は、今後しばらく続くと見ていいだろう。ヴォック氏は21歳、コンピュータサイエンス専攻の学生でもある。手持ちの道具で低VRAMユーザーの救済に手をつけた開発者の仕事が、どこまで広がるのか。アップストリームへのマージと他ディストリビューションへの展開が、その答えを握る。
参照元
他参照
関連記事
- Valve開発者、LinuxのVRAM管理を根本から修正
- Mesa 26.1 RADV、VK_EXT_descriptor_heapでSteam Play加速
- Radeon HD 7870 XT、14年目のLinux対応
- MesaがLinuxカーネルと同格に――Fedoraで永続的アップデート例外を獲得
- SteamのLinuxシェアが史上初の5%超え──数字の裏側にある真実
- CachyOS、Linux 7.0に7.1の新機能を先取り搭載
- Wine 11.7リリース、libxml2依存を排除するMSXML再実装に着手
- Proton 11.0 Beta 1、EA旧作群が安定版候補へ
- Linux 7.1、i486削除コードが正式マージ──反対ゼロ
- DLSS Enablerがx5/x6解放、RTX 40も対象