Proton,Vagrant のインストール(Ubuntu 上)

Ubuntu 24.04 LTS 環境で Proton をソースからビルドする.必須の Vulkan ドライバーを導入し,VirtualBox と Vagrant は公式リポジトリから最新版を導入する.Vagrant と Docker で構築した環境内で Proton をコンパイルし,生成物は Steam の compatibilitytools.d へ配置して利用する.

前準備

Ubuntu のシステム更新

まず,Ubuntu のシステムを最新の状態に更新する.次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# 変更をシステム全体に確実に反映させるために再起動
sudo shutdown -r now

Vulkan ドライバーのインストール

Proton の動作には Vulkan ドライバーが必須である.使用しているグラフィックカードに応じて適切なドライバーをインストールする.

Ubuntu で VirtualBox のインストール

標準の Ubuntu リポジトリから VirtualBox をインストールするには,次のコマンドを実行する.

実行中にエラーメッセージが表示されないことを確認する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install virtualbox

Oracle 公式リポジトリから提供される VirtualBox の最新版を利用する場合は,次の手順でインストールする.Ubuntu 24.04 LTS (noble) 向けのパッケージが提供されている.

まず,GPG キーをダウンロードし,apt が認識できるように配置する.

sudo apt install gpg wget # 必要なツールがなければインストール
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes -o /usr/share/keyrings/oracle-virtualbox-2016.gpg

次に,VirtualBox の APT リポジトリを追加する.

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list

リポジトリ情報を更新し,VirtualBox をインストールする.パッケージ名にはバージョン番号が含まれる(例: virtualbox-7.1).利用可能なバージョンは apt search virtualbox-7 で確認する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install virtualbox-7.1 # バージョン番号は確認して指定

VirtualBox インストール後,現在のユーザーを vboxusers グループに追加する.

sudo usermod -aG vboxusers $USER

変更を有効にするために,システムを再起動するか,一度ログアウトして再ログインする.

補足: USB 3.0 サポートやリモートデスクトップなどの追加機能を利用するには,VirtualBox と完全に同じバージョンの VirtualBox Extension Pack を別途インストールする.バージョンは vboxmanage -v | cut -dr -f1 で確認できる.

Ubuntu で Vagrant 最新版のインストール

Ubuntu 24.04 LTS では,HashiCorp 公式リポジトリから Vagrant の最新版をインストールする.

  1. Vagrant 最新版のバージョンの確認

    次の Web ページで最新版のバージョンを確認できる.以下の手順では,リポジトリから最新版がインストールされる.

    https://releases.hashicorp.com/vagrant

  2. Vagrant 最新版のインストール (公式リポジトリ経由)

    まず,HashiCorp の GPG キーをダウンロードし,apt が認識できるように配置する.

    sudo apt install gpg wget # 必要なツールがなければインストール
    wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
    

    次に,HashiCorp の APT リポジトリを追加する.

    echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
    

    リポジトリ情報を更新し,Vagrant をインストールする.

    sudo apt update
    sudo apt install vagrant
    

    実行中にエラーメッセージが表示されないことを確認する.

Proton のインストール(ソースからのビルド)

Proton のインストールは,公式リポジトリの指示に従う. https://github.com/ValveSoftware/Proton

Steam ユーザーは,Steam クライアントを通じて Valve が提供するビルド済みの Proton を利用できる.ソースからのビルドは,開発やカスタマイズを行う場合の手順である.最新の互換性修正が含まれたバージョンを利用する場合は,Proton GE(GloriousEggroll)を protonup-qt ツール(Flatpak 版: flatpak install net.davidotek.pupgui2)でインストールする方法もある.

Proton のソースコードのダウンロード

次のコマンドを実行し,Proton のソースコードとサブモジュールを取得する.

git clone --recurse-submodules https://github.com/ValveSoftware/Proton.git proton

Vagrant 仮想マシンの作成と Proton のビルド

次の手順でビルド環境を構築し,ビルドを実行する.ビルドにはコンテナシステム(Docker または Podman)が必要であり,以下の Vagrant 設定は Docker を利用する.

  1. Vagrant を用いて仮想マシンの作成とセットアップ

    ダウンロードした Proton ディレクトリに移動し,vagrant up コマンドで仮想マシンを起動・セットアップする.

    cd proton
    vagrant up
    

    vagrant up 実行中に確認を求められた場合は,指示に従い応答する.場合によっては再度 vagrant up の実行が必要になる.

  2. 仮想マシンに接続

    セットアップが完了したら,vagrant ssh で仮想マシンにログインする.

    vagrant ssh
    
  3. Proton のビルド

    仮想マシン内でパッケージリストとシステムを最新の状態にするため,次のコマンドを実行する.

    # パッケージリストの情報を更新
    sudo apt update
    sudo apt -y upgrade
    

    次に,ビルド用ディレクトリを作成し,configure.sh スクリプトを実行してビルド環境を設定後,make dist でビルドを開始する.--enable-ccache オプションを付けると,再ビルド時の所要時間を短縮できる.

    mkdir build
    cd build
    ../proton/configure.sh --enable-ccache --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime=$HOME/steam-runtime/runtime/
    make dist
    

    configure.sh のオプションやビルドに必要な依存関係は,Proton のバージョンやビルド環境により変わる.Proton の公式ドキュメントで手順を確認する.

    デバッグ: ビルドした Proton でゲームを実行する際に問題が発生した場合,環境変数 PROTON_LOG=1 を設定してゲームを起動すると,ログが $HOME/steam-$APPID.log に出力される.

ビルドした Proton の利用

ビルドが成功すると,proton/build/dist/ ディレクトリ内(または configure.shmake の出力で示される場所)に Proton の配布用ファイル群(例: proton_mybuild のような名前のディレクトリ)が生成される.これを Steam クライアントで利用するためには,生成された配布用ディレクトリ全体を Steam の互換性ツールディレクトリに配置する.

Ubuntu 24.04 での配置先は次の通りである.ディレクトリが存在しない場合は作成する.

例: mv proton/build/dist/proton_mybuild ~/.steam/root/compatibilitytools.d/

配置後,Steam クライアントを再起動すると,ゲームごとのプロパティ設定の「互換性」タブで,ビルドした Proton(例: proton_mybuild)を選択できるようになる.