Steam ProtonでWindowsなアプリを起動する方法

さて、つい先日ついにUbuntu 19.04のaptが死亡した。色々あって先延ばしにしていたのだが諦めて19.10に上げざるを得なくなった。

 

上げていなかった問題はPython2に依存したアプリを愛用していたからで、案の定19.10にしたら使えなくなりました。めでたしめでたし(いや目出度くないよorz

 

代替ソフトを探すとこれがやはりなく、どうしてもWindowsのアプリぐらいしか見当たらない。しかも見つけたのも機能不足だがまあ最低限使えはする。

自分で開発というのも考えたが無職な現状であっても色々やることがありもはや時間を確保するのも難しい状態だし開発時間考えるととてもじゃあないが無理がある。

 

ということで一先ずWindowsアプリを起動することを考えるが、VirtalBox等は大げさすぎるのでじゃあWineかなぁと思うがこれが環境構築が結構めんどくさい。

別PCではテスト的には動作しているが、もう一度やりたいかと言われるとこれが辛い。年を取ると体力も気力も落ちるよね...。

 

そしてふと思いついたのがProton。これはSteamが開発しているものでwineをforkして改良しWindowsのゲームをLinuxで動かそうというプロジェクト。実際すでに自分の実機では購入済みのいくつかのゲームを普通に遊ぶことが出来ている。起動しないのもあるけどそれでも大分良い。昔はLinuxでゲームはかなり厳しかったがProtonから状況は大分変わって来ている。

この記事によると50.4%が問題なく遊べるようだ。

 

gigazine.net

 

 

SteamのProtonを使う方法

ということはSteamにインストールされているProtonを使うとゲーム以外でもWindowsのアプリを使えるのではないかと思い、挑戦してみると使えたのでここに使い方をメモしておきます

 

ProtonはGitHubで公開されていますが、色々設定がめんどくさそうなのでSteamをインストールするのが早いでしょうし自分はすでにSteamユーザなのでこれを使いたいと思います。

 

まずはProtonがアプリごとにデータを保存するらしく、そのディレクトリを作ります

どこでもよいのですが、とりあえず`~/.proton`を作ります

 

$ mkdir ~/.proton

 

次に使用するアプリ名で~/.proton以下にディレクトリを作ります。

 

$ mkdir ~/.proton/<app name>

 

SteamのProtonはデフォルトインストールではここにあります。

/home/<user>/.local/share/Steam/steamapps/common/Proton <version>/proton

 

起動方法は以下の通り

STEAM_COMPAT_DATA_PATH=~/.proton/<app name> ~/.local/share/Steam/steamapps/common/Proton\ <version>/proton waitforexitandrun <app path>

 

これで起動できるはずです。

Wineよりも楽に起動ができるはずです。Wineだとfontやドライバーが等設定が多いので...

これで1つ楽が出来るようになりました。

 

しかしまだ面倒なのでなんかスクリプト書いてこのあたり自動化しようかな...