blog.anqou.net
rss
author
tags

NixOS で Proton を使って Windows 向けゲームを起動する

Windows 向けに開発されたゲームを Linux で遊びたい場合、Proton を使うと比較的まともに遊べることが多い気がします。NixOS だと steam-run というコマンドを使うことで Proton が動く環境を用意できます。

#事前準備

Steam をインストールして、Proton をダウンロードしておきます。適当なゲームの設定画面を開き “Compatibility” → “Force the use of a specific Steam Play compatibility tool” にチェックを入れて、適当なバージョンの Proton を選ぶとダウンロードされます。ダウンロードすると、特に設定を変更していなければ $HOME/.steam/steam/steamapps/common 配下に設置されるはずです。例えば Proton 6.3 をインストールすると

$HOME/.steam/steam/steamapps/common/Proton 6.3/proton

が Proton の実行バイナリになります。

#実行する

Proton を実行するためにはいくつか環境変数を指定する必要があります。また、Proton が必要なファイルを見つけられるように steam-run コマンドを使います。 NixOS であれば steam-run は Steam を入れると一緒に入っているはずです。

export STEAM_COMPAT_DATA_PATH="$HOME/.steam/steam/steamapps/compatdata"
export STEAM_COMPAT_CLIENT_INSTALL_PATH="$HOME/.steam/steam/steamapps"
export PROTON_LOG=1
export PROTON_USE_WINED3D=1

# Proton のパス
PROTON="$HOME/.steam/root/steamapps/common/Proton 6.3/proton"
# 動かしたいゲームのパス
EXE="..."

steam-run "$PROTON" run "$EXE"

これで起動するはず。

#動かないときは

諦めましょう。

なお、Proton のバージョンは、あまり新しすぎないものを選ぶほうが動く確率が高い気がします。特に根拠はないので気のせいかもしれません。ゲームが思ったとおりに動かないときは複数のバージョンを試すといいかもしれません。