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

Photo by L E on Unsplash

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

Valve が8月21日、Codeweavers と共同開発した Windows ゲームを動かせる互換レイヤーを発表した。この互換レイヤー 「Proton (プロトン)」は Linux ユーザならお馴染みの Wine を改造したもののようだ。

概要


Proton はかなりの改造を施されており、いろんなところからかき集めたプログラムや技術が詰め込まれている。

Proton には DirectX API コールを Vulkan に変換するレイヤー(DXVK)が組み込まれているため、DirectX API で作られたゲームでも割と軽快に動作する。しかし使ってみた感じだとやはり、OpenGL や Vulkan が組み込まれたゲームが Windows 上で動かしたときと違わぬくらい軽快に動作する。

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

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

GitHub – ValveSoftware/Proton

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

Steam for Linux – Introducing a new version of Steam Play

使い方


 

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

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

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


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

Codeweavers である程度このビジネスモデルは成功?しているかもしれないが、安易に動作可能リストに突っ込んでサポートしきれるのかが不安だ。 Ga○jin みたいに Linux に対応してますよー って言いつつパフォーマンスがプレイに影響するほどひどくなっても放置したまま何ヶ月も無言を貫き通したりしないだろうか。War Thunder の Linux コミュニティはもともと小規模ではあったが、この徹底した無視でだいぶ疲弊した感が否めない。(後に Vulkan 版がこっそりと試せるようになって少し人が戻ってきたが。)

結果的に Linux コミュニティから人が離れることになってしまわないだろうか。という一抹の不安がある。

また複雑な DRM やチート対策を施されたゲームは動作しない可能性が高いため、どれだけのメジャータイトルをサポートできるのかがわからないのが非常に気がかりだ。

更に個人的に一番気に食わないのが、 Linux をサポートしていない開発者や企業に金を払うことになることだ。

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 一択でよかったが、macOS が OpenGL のサポートを事実上やめたことにより、古い OpenGL 3 を使っている作品もある。 そして Linux よりも macOS への対応を優先するゲーム会社も多い。このため非常に低質な移植が多いのだ。Unity で作られたものや一部の優秀なポート専門会社でつくられたもの意外は Wine で動かしたほうがマシ、という有様。

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

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

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

ー 了 ー


 


 

こちらの記事もどうぞ

Linux、Spectre V2 対応パッチをデフォルトで無効化、大幅な性能低下のため... トーバルズ氏、デフォルトでは防御機能(STIBP)を無効化すると発表 先週、休暇から復帰したリーナス・トーバルズ氏は、データ漏えいの危険性を持った脆弱性「Spectre Variant 2(スペクター2)」に対応したカーネルパッチについての見解を語り、デフォルトでは防御機能を無効化する...
グラフィカルな Nvidia GPU 用オーバークロックツール「Nvidiux」... Nvidiux Nvidiux は Python で作られた Nvidia GPU 用のオーバークロック・ツールだ。 このツールは Nvidia GPU をオーバークロックするのに必要な Coolbits オプションを付加した xorg.conf ファイルを自動生成し、ユーザが設...
Linux の CCCoC(行動規範)導入について... Photo by Brian McMahon on Unsplash 初稿:2018/09/29 改稿:2018/10/05 Linux に今までの Code of Conflict に取って代わって、新たに CCCoC(Code of Conduct、行動規範) が設けられた。 The...
Linux では AMD と NVIDIA どっちが良いのか 2018... 改稿 2018年10月3日 Radeon と GeForce 、Linux ではどっちが良いかという論争が度々起こる。今回は自分なりの感想を載せながらどちらが良いか比較しようと思う。ベンチマークなどは他の海外サイトがいくらでも載せてくれているので、そのリンクのみにとどめおこうと思う。 ゲーム...

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

コメントを残す

メールアドレスが公開されることはありません。