Linux 7.3、VRAM管理パッチがカーネル本流入り。次はオーバーコミット改善

ゲームのメモリが裏のアプリに奪われる問題を解消した4月のパッチが、ついにカーネル本流に到達した。その先では、物理VRAMを超えてもゲームが崩壊しない仕組みが動き始めている。

Linux 7.3、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ブランチには全パッチが含まれており、今すぐ試したい人はそこから取得できる。

LinuxのVRAM管理パッチ:公開からカーネル本流までの経緯
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
※CachyOS/Bazziteは独自カーネルに先行搭載。Linux 7.3でカーネル本流に到達し各ディストリビューションに展開される。オーバーコミット改善は将来のカーネルリリースに向けて作業中。

ヴォック氏はブログをこう締めくくっている。VRAMのオーバーコミットは、最初に思うほど大きな問題ではないかもしれない。カーネルドライバ側の対策で性能を引き上げる余地があり、アプリケーション側もドライバスタックと協調すれば、メモリ追い出しの影響は緩和できる。

コンピュータサイエンスを学ぶ学生が、Valveとの契約開発者としてLinuxカーネルのGPUメモリ管理を書き換えている。Intel、Red Hatの開発者と共同で仕組みを設計し、SteamOSで実戦投入し、カーネル本流にマージし、その次の課題にもう着手している。VRAMの帯域幅はハードウェアの制約であり、PCIeバスの物理的な限界は変えられない。変えられるのは、その制約の中でソフトウェアが何をするかだ。

関連記事

この記事を共有する