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

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 に移植するのは大変な労力だ。 macOS への対応が優先されて古い OpenGL を使っている作品も多い。 非常に低質な移植が多いのだ。Unity で作られたものや一部の優秀なポート専門会社でつくられたもの意外は Wine で動かしたほうがマシ、という有様。

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

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

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

ー 了 ー


 


 

こちらの記事もどうぞ

Linux の CCCoC(行動規範)導入について... 初稿:2018/09/29 改稿:2018/10/05 Linux に今までの Code of Conflict に取って代わって、新たな CCCoC(Code of Conduct、行動規範) が設けられた。 The Linux Kernel - Contributor Covenant...
Linux では AMD と NVIDIA どっちが良いのか 2018... 改稿 2018年10月3日 Radeon と GeForce 、Linux ではどっちが良いかという論争が度々起こる。今回は自分なりの感想を載せながらどちらが良いか比較しようと思う。ベンチマークなどは他の海外サイトがいくらでも載せてくれているので、そのリンクのみにとどめおこうと思う。 ゲーム...
LinuxとWindowsをデュアルブートするのは止めたほうが良い... Photo by Edgar Castrejon on Unsplash デスクトップパソコンを持っていて Windows OS が入っているけど Linux も使ってみたいという人も結構いると思う。 Windows を仕事や大学で使わざる得ないけど、LinuxをメインOSにしたいとか、当方みたい...
Linux で War Thunder Vulkan 版を試す 現在の War Thunder の Linux クライアントはひどい有様だ。Gaijin からはいつ改善するのか相変わらず何も告知はない。 私は諦めて Windows でプレイしてしまっているが、水面下で Vulkan API での開発がゆっくりではあるが進められており、試すことができるようだ...

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

コメントを残す

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