Linux開発者でValveのコントラクターであるNatalie Vock氏は、VRAMが8GB以下のAMD GPUで発生する管理上の問題を解決するため、6つのカーネルパッチと2つのユーティリティを公開しました。このソリューションはフォアグラウンドのゲームをバックグラウンドアプリよりも優先させることで、パフォーマンスの低下を防ぐものです。既存のカーネル機能を活用し、メモリ不足に直面しているゲーマーを対象としています。
オンラインでpixelclusterとして知られるNatalie Vock氏は、VRAMが8GB以下のAMD GPUを使用するLinuxユーザーが抱えていた長年の問題に対処しました。これまではバックグラウンドアプリケーションがゲームのメモリ領域を侵害していたため、カーネルドライバが重要なデータをGTT(PCIe経由でアクセス可能な低速なシステムRAM)へ退避させる必要がありました。ドライバから見るとゲームもブラウザも区別がつかないため、優先順位が付けられず、ゲームのパフォーマンスが低下していました。Vock氏の修正案は、IntelのMaarten Lankhorst氏やRed HatのMaxime Ripard氏と共同開発し、すでにメインラインのLinuxカーネルに統合されている「dmem cgroup controller」を活用し、フォアグラウンドのアプリケーションを優先します。さらに、VRAM圧迫時に新規の割り当てが保護を回避してしまう抜け穴を塞ぐ6つのカーネルパッチを追加しました。このパッケージを完成させる2つのユーザー空間ツールとして、カーネルの保護機能を初期化する「dmemcg-booster」と、アクティブなアプリケーションを特定して優先アクセスを可能にするKDE Plasmaの「Foreground Booster」の修正版が提供されます。Linuxゲーマーにとって、この変更はゲームがGPUのVRAM制限内に収まる限り、プレイ中のパフォーマンスが安定することを意味します。Vock氏によれば、最近のゲームの多くは8GBカードの制限内に収まるとのことです。このパッチはAMDのamdgpuドライバをサポートしており、Intelのxeドライバ向けにも同等の機能が準備中で現在テストが進められています。また、NVIDIAのオープンソースドライバであるnouveau向けにも提案が行われています。これらのパッチはまだメインラインカーネルには組み込まれていません。CachyOSのLinux 7.0rc7-2以降ではすでに取り込まれており、ArchベースのディストリビューションではAURパッケージを通じてユーティリティやカーネルを利用可能です。Vock氏は、カスタムビルド用にパッチへの直接リンクを公開しており、他のディストリビューションでの採用に合わせて今後もアップデートを行うと約束しています。