ValveがWindowsゲームをLinuxで動かす互換レイヤー「Proton」を発表

Linux
この記事は約6分で読めます。

※当サイトは広告収入で運営されているため、広告が表示される場合があります。

初稿:2018年8月23日
更新:2018年9月24日

PC ゲームプラットフォーム「Steam」でおなじみの Valve 社が8月21日、Codeweavers 社と共同開発した Windows 専用ゲームを動かせる互換レイヤーを発表した。この互換レイヤー 「Proton (プロトン)」は Linux ユーザなら誰もが知っているWine を改造したもののようだ。

概要

Proton は Wine を改造した互換レイヤーであり、いろんなところからかき集めたプログラムや技術が詰め込まれている。DirectX API コールをリアルタイムで Vulkan のそれに変換するレイヤー(DXVK)が組み込まれているため、 DirectX API で作られたゲームでも割と軽快に動作する。

もともと Vulkan と DirectX には機能的にそこまで大きな違いがないためだろう。相互に移植するのも難しくはないと言われている。

Proton 動作プロセス

また OpenVR への対応や ゲームのフルスクリーンモードの取り回しを改善、 Steam 対応のコントローラのサポートも改善している。

Proton はオープンソースとして GitHub に公開されているので誰でも中身を見ることが出来る。ベータの段階でこんなにいろんなプログラムを Steam に統合できたことに驚いたが、2年の開発期間を要したそうだ。

GitHub – ValveSoftware/Proton

まだ公開初期のテスト段階ではあるが下のリンクからテストに通ったゲームのリストが載っている。

Steam for Linux – Introducing a new version of Steam Play

使い方

使い方はごくごく簡単で左上のメニューから「設定」>>「Steam Play」で設定を行う。

「サポートされたタイトルでSteam Playを有効化」と「その他のすべてのタイトルでSteam Playを有効化」にチェックを入れ「他のタイトルに使用するツール:」で使いたい Proton のバージョンを選ぶ。

Steam Proton 設定画面

注意すべきは最新のグラフィックドライバをインストールしておく必要があることだ。ドライバが古いとあまり良い結果は得られないだろう。 Ubuntu などが標準のリポジトリに置いているドライバは6ヶ月〜1年くらい古いため、 PPA を利用する必要がある。

あとは各ゲームのページにアクセスしてダウンロードするだけだ。このようにダウンロードした場合でも Linux を使用しているとしてカウントされるのでゲーム開発者の目にも止まるだろう。

ちゃんとサポートできるのか?

Wine 自体が永久にベータ版みたいなところがあり、昨日動いていたゲームが今日突然動かなくなるということがある。これはゲーム側のアップデートによって起こることもあるし、Wineのアップデートで起こることもある。そしていつ修正されるかわからない。数カ月後かもしれないし数年後かもしれない。

Codeweavers である程度このビジネスモデルは成功しているかもしれないが、安易に動作可能リストに突っ込んでサポートしきれるのかが不安だ。

Gaijin エンターテイメント社みたいに Linux に対応してます〜っと言いつつパフォーマンスがプレイに影響するほどひどくなっても放置したまま何ヶ月も無言を貫き通したりしないだろうか。 War Thunder の Linux コミュニティはもともと小規模ではあったがそこそこ活発だった。

しかし、この公式からの徹底した無視でフォーラムへの書き込みは減少しだいぶ疲弊し感が否めない。(後に Vulkan 版がこっそりと実装され少しづつ人は戻ってきた)冷やし中華はじめましたみたいなノリでやられても困るのだ。

このように一つのゲームさえまともに Linux に対応し続けられない企業もある。結果的に Linux コミュニティから人が離れることになってしまわないだろうか、やっぱり Linux デスクトップはゴミじゃねぇか!と不満を撒き散らして去っていく人が増えないか、という不安がある。

また複雑な DRM やチート対策を施されたゲームは動作しない可能性が高いため、どれだけのメジャータイトルをサポートできるのかがわからないのが非常に気がかりだ。フォートナイトの運営のように Linux ユーザに対して厳しいゲームスタジオもたまにある。 Wine を使っていたユーザのアカウントが警告もなしにいきなり停止される事件も起こった。ゲーム制作スタジオとの連帯も不可欠だろう。

macOS版はリリースされるのか

これは望みが薄いと思う。 Apple は Metal という誰も使いたくない独自の API の普及に拘っていて本気で Vulkan API をサポートする気はサラサラないようだ。 OpenGL もバージョン3で早々とサポートを打ち切ってしまい、ユーザや開発者が不便だろうが見てみぬふりをして放置している。 Proton にとって Vulkan API は最も重要なコンポーネントだ。 Apple がこれに対応しない限り macOS で Proton を使える日は来ないだろう。

追記:コメントしてくださった方の情報、 macOS でも Wine 経由で Vulkan を動かす方法があるようだ。おそらく Codeweavers が開発している MoltenVK のことだろうと思うが、自分で試したことがないのでここでは割愛させていただく。

Vulkan API普及までのつなぎか

ネガティブなことを書いてしまったが Valve は Wine の開発チームと協力し、 DXVK の開発者を雇ったりしている。なので Proton で培った技術は Wine にもバックポートされている。こうやって開発元のプロジェクトにきちんとフィードバックしていくことはなかなか難しく、あまり多くの企業がやっていないことだ。オープンソース・ソフトウェアをただの無料で使える道具だと思っている企業も多い。

Valve は Linux や OSS コミュニティに深い理解がある。そしてそれが行動にあらわれている。彼らがリーダーシップをとって開発を推し進めているのは素晴らしいことだと思う。

Wine コミュニティも非常に活動が活発で多い時では月に3回もマイナーリリースをするときもあり、VirtualBox や一部のオンラインゲームにも組み込まれていたりする。もっと光を当てられるべきプロジェクトだ。 こういうことをやってしまうと、互換レイヤー任せになってしまい Linux へ対応するタイトルが減るんじゃないかと心配している人もチラホラいるがその心配は最もだと思う。

しかし現状のゲーム開発情勢だと Linux に移植するのは大変な労力だ。少し前までは Windows 以外の開発は OpenGL 一択でよかったが Apple が OpenGL のサポートを事実上やめたことにより、古い OpenGL 3を使っている作品もある。 そして Linux よりも macOS への対応を優先するゲーム会社も多い。このため非常に低品質な移植が多い。 Unity で作られたものや一部の優秀なポート専門会社でつくられたもの意外は Wine で動かしたほうがマシ、という有様。

Valve はマルチプラットフォーム API である Vulkan を積極的に支援しているがまだ発展途上である。しかも低レベルAPIでの開発自体高い技術を要する。しかし協賛企業を見ればわかるが業界スタンダードなAPIになるのではないかと予想できる。そうなったら Windows でしかゲームが動かないという問題は7〜8割方消える。

Khronos Members

Valve は今はとにかく Linux でゲームをやるユーザを増やしたいのだろう。ユーザが増えることでゲームデベロッパーは Linux を無視できなくなってくるし Vulkan API の普及の推進にもつながる。

Valve がどこまで力を入れてくれるかわからないがこのプロジェクトは非常に魅力的なので当ブログは応援しています。

Photo by L E on Unsplash

― 了 ―

MSI
¥67,813 (2024/04/18 16:52時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天市場

コメント

  1. 匿名 より:

    一応MacのwineでもVulkan動かす方法はあるらしい

  2. 匿名 より:

    Steam OSで動くタイトルを増やしたいってことなんだろうな

タイトルとURLをコピーしました