Linux 7.3、VRAM管理パッチがカーネル本流入り。次はオーバーコミット改善
ゲームのメモリが裏のアプリに奪われる問題を解消した4月のパッチが、ついにカーネル本流に到達した。その先では、物理VRAMを超えてもゲームが崩壊しない仕組みが動き始めている。
ゲームのメモリが裏のアプリに奪われる問題を解消した4月のパッチが、ついにカーネル本流に到達した。その先では、物理VRAMを超えてもゲームが崩壊しない仕組みが動き始めている。
4か月越しのマージ
Valveのグラフィックスチームに所属するナタリー・ヴォック(Natalie Vock)氏が今年4月に公開したVRAM管理パッチが、DRM-Next(GPUドライバの基盤であるDRMサブシステムの次期開発ブランチ)にマージされた。Linux 7.2が現地時間8月17日にリリースされ、翌日に開いたLinux 7.3のマージウィンドウで取り込まれる。
4月の時点では、CachyOSのカスタムカーネルか、自前でパッチを当てた環境でしか試せなかった。それがカーネル本流に入るということは、各ディストリビューションがLinux 7.3を採用した時点で、カーネルパッチの手作業なしに恩恵を受けられるようになる。カーネル外で動く補助ツール(dmemcg-boosterなど)は引き続き必要だが、導入の敷居は大きく下がった。
SteamOSカーネルにはstableとpreviewの両チャンネルで既に搭載済みだ。Steam Deckユーザーは、意識しないまますでにこの改善の上で遊んでいる。
解決した課題と、残された条件
4月のパッチが解決したのは「ゲームのメモリが裏のアプリに奪われる」問題だった。dmem cgroupコントローラにより、フォアグラウンドのゲームにVRAMの優先権を与え、ブラウザやチャットアプリといった背景プロセスを先にシステムRAMへ追い出す仕組みだ。
ただ、ヴォック氏自身が当時のブログにこう書いていた。ゲームの動作ははるかに安定するが、「ゲーム自体が物理VRAMの容量を超えて使わない限り」という条件付きだった。
では、超えたらどうなるのか。
マージ確定を受けて現地時間8月17日に公開された新しいブログ記事(Part 2)が、まさにそこに踏み込んでいる。VRAMの物理容量を上回るメモリを要求する「オーバーコミット」状態で、性能をどこまで維持できるか。
8GBのカードで9GB要求して、まだ遊べる
ヴォック氏はIndiana Jones: The Great Circle(インディ・ジョーンズ/大いなる円環)を使ってテストした。このゲームにはストリーミングプールのサイズを直接操作できる設定がある。8GBのVRAMしかないシステムで、設定を引き上げてゲームに9GBのVRAMを要求させた。物理メモリを1GB超過する状態だ。
結果は、フレームあたり平均19.6ms。およそ51fpsに相当する数字で、ヴォック氏自身が「十分プレイ可能」と評価している。
さらに設定を上げ、10GBを要求させた場合(2GBのオーバーコミット)でも、フレーム平均は29.8ms(約34fps)。フレームタイムの分散は目に見えて大きくなるが、即座にクラッシュしたり、一桁のフレームレートに落ち込んだりする従来の挙動とは明らかに異なる。
スロットリングと追い出しの再設計
パッチの中身を見ると、単純な一つの修正ではなく、VRAM管理の複数の層にまたがる改善であることがわかる。ヴォック氏が公開しているvramstuff-rebaseブランチのコミット履歴から、主な変更点を整理する。
追い出し(eviction)の優先度をアプリケーション側から指示できる仕組みが追加された。加えて、あるアプリが別のアプリのメモリを追い出そうとして相互に追い出し合う「病的なサイクル」を防ぐVRAMクレームスロットリングが導入されている。コミットメッセージには、cgroupで保護されたメモリの追い出しを避けることで、このサイクルを断ち切ると説明されている。
ほかにも、ページテーブルの追い出し禁止(コミットメッセージには端的に「壊れすぎる。やるな」とある)、未使用の連続バッファの追い出し回避、バルクムーブの順序付けといった変更が並ぶ。VRAMが逼迫した瞬間の振る舞いを一つずつ潰していく作業だ。
「まだ完成ではない」
重要なのは、Part 2で扱われているオーバーコミット改善のパッチ群は、今回のLinux 7.3には全ては入らないという点だ。Linux 7.3に入るのは4月のPart 1で発表されたdmem cgroupの基盤パッチであり、Part 2のオーバーコミット関連パッチは将来のカーネルリリースに向けて作業が続いている。vramstuff-rebaseブランチには全パッチが含まれており、今すぐ試したい人はそこから取得できる。
2026年4月9日 VRAM管理パッチ公開 dmem cgroupでゲームのメモリ優先を実現 2026年4月 CachyOSが先行搭載 カスタムカーネルとユーザー空間ツールを提供 2026年6月 Bazziteがパッチ取り込み カーネル7.0でKDE/GNOME両対応に 2026年8月 SteamOSに搭載 stable/previewの両チャンネル 2026年8月17日 DRM-Nextにマージ Linux 7.3のマージウィンドウで本流に到達 次期カーネル オーバーコミット改善を公開 8GBカードに9GB要求してもフレーム平均51fps |
ヴォック氏はブログをこう締めくくっている。VRAMのオーバーコミットは、最初に思うほど大きな問題ではないかもしれない。カーネルドライバ側の対策で性能を引き上げる余地があり、アプリケーション側もドライバスタックと協調すれば、メモリ追い出しの影響は緩和できる。
コンピュータサイエンスを学ぶ学生が、Valveとの契約開発者としてLinuxカーネルのGPUメモリ管理を書き換えている。Intel、Red Hatの開発者と共同で仕組みを設計し、SteamOSで実戦投入し、カーネル本流にマージし、その次の課題にもう着手している。VRAMの帯域幅はハードウェアの制約であり、PCIeバスの物理的な限界は変えられない。変えられるのは、その制約の中でソフトウェアが何をするかだ。
関連記事
- Valve開発者、LinuxのVRAM管理を根本から修正
- Valve開発者の旧GPU改善、Linux 7.3でカーネルに到達
- Valve製VRAMパッチ、4GB GPUで3倍弱の蘇生劇
- Radeon HD 7870 XT、14年目のLinux対応
- Linux 7.2、GPUスケジューラの新方式をリリース直前に撤回
- Mesa最大の貢献者がAMDを離れValveへ
- Linuxカーネル、削っても膨らむ4000万行の壁
- AMD、RDNA 5のディスプレイエンジンをLinuxドライバに初投入
- Valve出資でRADVのWindows移植が始動。CS2の動作に成功
- Ubuntu次回カーネル更新、AMD GPUに最大42倍の性能低下