AMDのRADVドライバーをLinuxからWindowsに移植する際の課題

最終更新: 8月22 2026
  • ValveとCollaboraは、オープンソースのRADVドライバーをWindowsに移植する作業を進めており、プロプライエタリなドライバーに代わる選択肢を提供しようとしている。
  • このプロジェクトは、WDDM2インターフェースをリバースエンジニアリングして、AMDのカーネルモードドライバと通信することに基づいています。
  • Counter-Strike 2の実装など、重要なマイルストーンは達成されたものの、AMDからの公式ドキュメントがないことが障害となっている。
  • この取り組みは、Windows環境下におけるAMD製GPUの安定性、デバッグ機能、およびパフォーマンスの向上を目的としています。

LinuxとWindowsのロゴを光るGPUチップで繋ぐデジタルブリッジの概念図。このGPUチップはRADVドライバポートを象徴している。

Linuxはフリーソフトウェア愛好家にとっての楽園であることは、おそらく皆さんもご存知でしょう。そして、AMDグラフィックスの世界では、RADVドライバーが圧倒的な地位を占めています。Mesaに統合されたこのVulkanドライバーは、Steam DeckやあらゆるLinuxディストリビューションのゲーマーにとって標準となり、AMDの公式オプションさえも凌駕しています。しかし、Windowsでも同じパワーと透明性を実現できたらどうでしょうか?実は、まさにそれを実現しようとしている、非常に意欲的なグループが存在するのです。

既存のドライバーを捨てるのではなく、代替案を提供するというのが狙いです。オープンソースを推進し続けているValveは、Collaboraの専門家チームに資金を提供し、RADVをMicrosoftのシステムに移植する試みを行っています。一見不可能に思えるかもしれませんが、彼らはすでにCounter-Strike 2などのゲームを動作させることに成功しており、困難ではあるものの、必要な忍耐力があれば十分に実現可能な道であることを証明しています。

Windows 11 のグラフィックの不具合
関連記事:
Windows 11 のグラフィック不具合:エラー、パッチ、そしてそれが及ぼす影響

この港は技術的にどのような構成要素から成り立っているのでしょうか?

詳細に描写され、照明が当てられたAMD Radeonグラフィックカードのクローズアップ画像。RADVドライバーの中核となるハードウェア。

この問題を理解するには、ドライバーが2つの部分に分かれていることを知っておくことが重要です。1つはRADVが存在するユーザーモード(UMD)、もう1つはハードウェアと直接通信するカーネルモード(KMD)です。Windowsでは、MicrosoftはWDDM2と呼ばれるインターフェースを使用しています。重要な違いは、Windows 10以降、このインターフェースによってサードパーティ製ドライバーが以前よりも柔軟にカーネルとやり取りできるようになったことです。

問題は、AMDが秘密を厳重に守っていることだ。RADVが動作するためには、AMDカーネルにデータを送信する必要があるが、そのデータは不透明な「ブロブ」で構成されており、文書化されていない。この問題を解決するため、フェイス・エクストランドは、システムコールをログに記録して分析できるwddm2-pdd-reというツールを作成した。このリバースエンジニアリングのおかげで、メモリの要求方法、ワークキューの作成方法、そして最終的には画面への描画方法を解読することができた。

道のりの障害:ハードウェアとコンパイラ

画面上に表示されたプログラミングコードの詳細表示。リバースエンジニアリングとドライバ開発を表している。

すべてが順調だったわけではありません。開発者たちは、すべてのGPUが同じ性能を持っているわけではないことに気づきました。例えば、RX 7800 XTからRX 7900 XTにアップグレードすると、システムが頻繁にクラッシュするようになりました。そのため、デバッグツールを改良し、コマンドフローがどこで壊れているのかを正確に特定できる、より強力なWDDM2ログレイヤーを作成する必要がありました。

さらに、コンパイラの扱いは本当に厄介です。MesaはGCCとClang向けに設計されていますが、WindowsではMSVCが主流のコンパイラです。ところが、MSVCは列挙子を異なる方法で処理し、場合によっては符号付き値として扱うため、プログラマーを悩ませるような予測不能な動作を引き起こすことがあります。

ボトルネック:AMDの不透明性

ユーザーがPCをクラッシュさせることなくインストールして使用できるようにするには、安定性が不可欠です。現状、Windows版RADVは、AMDが公式ドライバのアップデートで予告なく変更する可能性のある独自のデータ構造に依存しているため、不安定です。まるで、毎週形が変わるパズルのピースをはめ込もうとしているようなものです。

このボトルネックを克服するため、CollaboraはAMDまたはMicrosoftに対し、ブリッジとして機能するドキュメント化されたインターフェースまたは「シム」ライブラリの提供を緊急に要請しました。これがなければ、メンテナンスは悪夢のようなものになるでしょう。もう一つの重要な課題は画像表示です。現状では低速なCPUベースの処理を採用しており、真に競争力のあるパフォーマンスを実現し、ボトルネックを回避するためには、 DXGIスワップチェーンを実装する必要があります。

なぜ私たちはこのプロジェクトに関心を持つべきなのでしょうか?

WindowsでRADVを利用できるのは、単なるプログラマーの気まぐれではありません。AMDのWindows向け独自ドライバーは、不安定だったり、Windows 11でグラフィックの不具合を引き起こしたり、特定のゲームで問題が発生することが知られています。オープンソースであるRADVは、コミュニティがバグを報告し、パッチを適用するスピードを大幅に向上させます。さらに、ゲーム開発者にとっては、両方のオペレーティングシステムで単一のVulkan実装上でコードをテストできるため、開発作業が楽になります。

これは、AMDが既に生産を終了した古いグラフィックカードにも新たな命を吹き込む可能性を秘めている。コミュニティプロジェクトである以上、古いハードウェアとの互換性は公式サポート期間よりもはるかに長く続くことが多い。Valveがこれを推進し続ければ、WindowsにRADVをインストールすることが、安定性の向上や若干のフレームレート向上といったメリットを得るための最適な選択肢となる時代が来るかもしれない。

ValveとCollaboraの努力により、突飛なアイデアが、実際のゲームでポリゴンをレンダリングする動作するプロトタイプへと進化しました。コンパイラに関する技術的な課題やAMDからの公式マニュアルの不足といった問題はあったものの、基盤は築かれました。この取り組みの将来は、カーネルを公開し、オープンソースが何百万ものWindowsユーザーのデスクトップでも活躍できるかどうかにかかっています。