Qualcommが、Android端末でWindows向けPCゲームを動かすためのGPUドライバーを開発していると、技術系動画チャンネルのGeekerwanが伝えた。Geekerwanは、新しいSnapdragonを搭載したリファレンス端末で『Cyberpunk 2077』と『黒神話:悟空』を試し、変換レイヤーを介したDirectX 12モードで両作が動作したとしている。

ただし、Qualcommはこのドライバーを正式に発表しておらず、提供時期や対応端末も明らかにしていない。PCゲームが起動したことと、AndroidがDirectX 12を直接扱えるようになることは、同じ意味ではない。

AD

2本のPCゲームが動いたことは何を示すのか

Geekerwanが9月23日(日本時間)に公開した動画の説明欄には、Snapdragon 8 Elite Extreme Gen 6を搭載したQualcommの開発用端末「QRD」で初期検証を行ったと記されている。

Android AuthorityとVideoCardzが同動画を基に報じた内容によると、Geekerwanは『Cyberpunk 2077』と『黒神話:悟空』をDirectX 12モードで実行した。ただし、測定した場面や画質設定は示されていない。何分間動作したのか、どの程度のフレームレートが出たのかも、公開情報からは確認できない。

GeekerwanはQualcommの関係者から、同社がPCゲームの互換動作を意識したドライバー開発に着手したと聞いたという。さらに、Android上でDirectX 12をより直接的に扱う仕組みについても検討していると伝えた。

ただし、「開発に着手した」という関係者の説明と、「将来的に検討している」という構想では段階が異なる。Android AuthorityはQualcommに確認を求めたが、公開された記事には同社からの回答は掲載されていない。Geekerwanの動画説明欄から直接確認できるのは、使用した端末と初期検証の概要までであり、関係者の発言については複数の報道で一致している範囲に基づいている。

Qualcommが9月22日に正式発表したのは、「Snapdragon 8 Elite Extreme Gen 6」と「Snapdragon 8 Elite Gen 6」という二つのスマートフォン向けSoCだ。

発表資料では、新しい描画技術「Adreno Neural Fusion」などが紹介されている一方、Android上でWindowsゲームを動かすための専用ドライバーについては触れられていない。上位モデルの製品ページに記載されたグラフィックスAPIも、Vulkan 1.4、OpenGL ES 3.2、OpenCL 3.0 FPとなっている。

現在公表されている情報だけから、DirectX 12向けの新しいドライバーが提供されることや、その仕様まで確定したと判断することはできない。

「DirectX 12モードで動く」と「AndroidがDirectX 12に対応する」は別

Windows向けゲームが「DirectX 12モード」で動作したとしても、AndroidのGPUドライバーがDirectX 12の命令を直接受け取っているとは限らない。ゲームからGPUで実際に描画されるまでの間には、複数の変換処理が入るためだ。

たとえばAndroid向けのWinlatorは、WineとBox86/Box64などを組み合わせ、Windows向けのx86_64アプリケーションをAndroid端末上で動かす。x86_64向けのCPU命令をArm環境で実行できる形へ変換し、さらにWineがWindows向けAPIとの互換性を担う。その先で、ゲームが出すグラフィックス命令もAndroid側で利用できる形へ変換する必要がある。

Direct3D 12の描画命令をVulkanへ変換する仕組みとしては、オープンソースの「vkd3d-proton」がある。同プロジェクトは、実用的に動作させるにはGPUドライバー側がVulkan 1.3や関連機能に対応している必要があると説明している。

そしてMesaの「Turnip」は、QualcommのAdreno GPU向けに開発されているオープンソースのVulkanドライバーだ。

つまり、ゲーム側からはDirectX 12で動いているように見えても、その下ではDirect3D 12の命令をVulkanへ変換し、Android上のGPUドライバーを通じて実行している場合がある。

ただし、Geekerwanが今回使用したアプリケーションや変換レイヤー、そのバージョンは明らかにされていない。そのため、こうした一般的な仕組みが今回のデモでもそのまま使われたと断定することはできない。

Qualcommが公式GPUドライバーのVulkan対応を強化すれば、こうした変換レイヤーとの互換性が改善したり、描画上の不具合が減ったりする可能性はある。

一方、報道にある「DirectX 12をより直接扱う」という表現が、現在使われている変換レイヤーを置き換える新しい仕組みを意味するのか、それとも既存のVulkan経由の実行を最適化することを指すのかは明らかになっていない。この二つを同じものとして扱うと、Qualcommが実際に開発している機能を誤って理解する可能性がある。

AD

Qualcomm公式ドライバーとTurnipは何が違うのか

Qualcommには、すでにゲーム向けGPUドライバーを更新する仕組みがある。ただし、その対象を見ると、今回報じられた取り組みを既存機能の単純な延長と考えることはできない。

Qualcommの公表済み施策 対象 配布・更新方法 資料で説明されている用途
Game Ready Drivers Snapdragon 8 Elite Gen 5搭載Android端末 Google Playから提供 主にモバイルゲーム向けの端末別最適化
更新可能なAdrenoドライバー Snapdragon Xシリーズ搭載Windows PC Snapdragon Control Panelなどから更新 PCゲームの不具合修正や安定性向上

Qualcommがこれまで公表してきた施策は、Android上のモバイルゲーム向けGame Ready Driversと、Windows搭載Snapdragon X PC向けの更新可能なAdrenoドライバーに分かれている。

前者はAndroid向けだが、Qualcommの資料で対象としているのはAndroid用のモバイルゲームだ。後者はPCゲームを対象としているものの、動作するOSはWindowsである。

この表は用途を整理したものであり、両者の性能や提供時期を比較したものではない。また、いずれの資料にも、Android上でWindows向けPCゲームを互換動作させるための提供条件は示されていない。

これに対してTurnipは、Qualcommが公式に提供するドライバーとは別に、Mesaコミュニティが開発しているAdreno向けのVulkanドライバーだ。Winlatorの公開資料でも、Turnipは構成要素の一つとして挙げられている。

Qualcommの公式ドライバーが幅広いWindowsゲームとの互換性を高められれば、利用者がゲームに応じてTurnipのバージョンを入れ替える手間が減る可能性はある。

ただし、現時点では公式ドライバーとTurnipを比較した試験結果も、Qualcommの新ドライバーの配布方法も明らかになっていない。「Turnipが不要になる」と判断できる段階ではない。

「ゲームが起動した」から一般向け機能になるまでには距離がある

GPUドライバーを改善しただけで、Windows向けPCゲームをAndroid上で動かす仕組み全体が置き換わるわけではない。

x86_64向けのCPU命令をArm端末で動かす処理、Wineが担うWindows APIとの互換処理、Direct3DからVulkanへの変換などは、それぞれ別の技術として必要になる可能性がある。

さらに、ゲームごとのDRM、不正行為対策システム、端末のメモリ容量、冷却性能なども実際に動くかどうかを左右する。

そのため、Qualcommの公式ドライバーによって特定タイトルの描画不具合が改善されたとしても、それだけですべてのWindows向けPCゲームが起動したり、快適な速度で遊べたりするわけではない。

今回動作が報告された2作品を正確に評価するには、端末とOSだけでなく、使用した実行環境、変換レイヤー、GPUドライバーのバージョンを明らかにする必要がある。

そのうえで、同じ場面と画質設定を使い、平均フレームレートだけでなく、フレーム時間や発熱による性能低下まで確認したい。

また、異なるゲームや旧世代のSnapdragon端末でも同様の改善が得られるかどうかは、別に検証する必要がある。新しいSoCを搭載した開発用端末でゲームが起動したからといって、既存のスマートフォンにも同じドライバーが提供されるとは限らない。

Qualcommが対応端末、配布方法、対応ゲームを正式に公表し、同じ条件でTurnipなどと比較した結果を示せば、利用者にとって公式ドライバーを選ぶメリットも判断しやすくなる。

現時点で分かっているのは、Android上でWindows向けPCゲームを動かす技術にQualcommが関心を持っているという関係者の証言と、新しいSnapdragonの開発用端末で2作品が動作したという報告までだ。

実際の価値を判断するうえで重要なのは、今後正式に配布されるドライバーがどの端末を対象とし、どのゲームで互換性や性能をどこまで改善できるかである。