Table of Contents
やりたいこと
- WindowsじゃなくてUbuntu 20.04 LTSでMGSVをやりたい
- Steamを導入したい
Dependency
実行環境
項目 | |
---|---|
マシン | HP ENVY TE01-0xxx |
OS | ubuntu 20.04 LTS Focal Fossa |
CPU | Intel Core i7-9700 CPU 3.00 GHz |
RAM | 32.0 GB |
GPU | NVIDIA GeForce RTX 2060 SUPER |
1
2
3
4
5
6
7
8
% lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
% uname -srvmpio
Linux 5.13.0-27-generic #29~20.04.1-Ubuntu SMP Fri Jan 14 00:32:30 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
ハードウェア
項目 | 製品 | 説明 |
---|---|---|
コントローラー | Xbox ワイヤレス コントローラー - カーボン ブラック | Xinput対応コントローラーがほしかったため |
有線ケーブル | Type-Cケーブル USB3.1 Gen2 YouZippper | コントローラーとPCを接続用 |
その他
そもそもSteamってなに?
Steamは、アメリカのValve Corporationによって開発/運営がされているゲーム配信サービス.
利用方法
- Steamアカウント登録(無料)
- SteamクライアントをローカルPCにインストール
- SteamのアカウントとローカルPCを紐付ける
- Steam経由でローカルPCへゲームソフトをダウンロード
- Steamクライアント経由でダウンロードしたゲームソフトをプレイ
Steamの特徴
- Windows/Mac/Linux問わずクライアント自体はどの環境でもインストールすることができる
- ただしSteamクライアント自体がLinuxに対応しているとはいえ, ゲーム自体がLinuxに対応しているとは限らない
- PCが利用条件を満たしているならば、インターネット環境のあるどのPCからでもゲームのインストールやプレイを行うことができる
- Windows専用ソフトも「Proton」というSteamに組み込まれたソフトを使うことでLinux環境でもプレイできる
すべてのWindowsゲームがプレイできるのか?
- この答えは残念ながらNo
- なにがUbuntuでプレイできるかは「ProtonDB」へアクセスしてプレイしたいゲームソフトがプレイ可能化否かチェックすることが必要
- もしゲームソフト自体がLinuxへ対応していた場合は、ProtonDBの確認は不要
- Ubuntuで動作しなかった場合でもSteamは返金に応じてくれます(→ see サポートページ)
Protonとは?
- Steam上で動作することを目的に作られたValveによるWine魔改造ソフト(完全にWineから独立しているわけではない)
- Wine自体は, Windowsアプリが動作に必要とするWindows APIをLinux上でも使えるようにする互換レイヤーのこと
- Wineを使うことでWindows専用アプリが動作したとしても, Windowsそのものを動作させるのではない
- Direct X, Direct3DというMicrosoft御用達グラフィックスAPIをVulkan APIへ翻訳しているソフトみたいな感じ
- Vulkan APIは3DグラフィックスAPIでGPUなどを制御している
Dockerコンテナとかでコンテナ管理すべきでは?
仰るとおりです… ただ、コンテナ内部からGPU, サウンド, カメラ, ゲームコントローラーを認識させる設定がめんどくさいので今回は割愛しました.(see docker-steam)
ゲーム環境構築
Steamのインストール
SteamのUbuntuへのインストール方法は2つあります:
- Ubuntu package repositoryから
apt
経由でインストール - マニュアルでOfficial steam packageをダウンロード&インストール
どちらの手法が良いかは個人の好みに依存しますが、メリット/デメリットとしては以下のようなものがある:
メリット | デメリット | |
---|---|---|
apt経由インストール | package依存関係やversionコントロールが楽 パッケージ情報確認も show コマンドで楽 |
利用できるversionが必ずしも最新版ではない |
マニュアルインストール | 公式サイトが出している最新&信頼できるインストーラーを使える | 依存関係管理がめんどくさい インストールのときのCLI経由での入力が少し多い CPUに合わせたインストールがめんどくさそう |
FYI: 僕は手法1「apt経由インストール」でゲーム環境を構築しました.
手法1: apt経由インストール
STEP 1: multiverse
Ubuntu repositoryを追加します
1
2
% sudo add-apt-repository multiverse
% sudo apt update
STEP 2: Steamをインストール
1
% sudo apt install steam
パッケージ情報の確認をしたい場合は
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
% apt show steam
Package: steam:i386
Version: 1:1.0.0.61-2ubuntu3
Priority: extra
Section: multiverse/games
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 4,504 kB
Pre-Depends: debconf
Depends: libgl1-mesa-dri (>= 17.3) | libtxc-dxtn0, libgl1-mesa-glx, libgpg-error0 (>= 1.10), libudev1, libxcb-dri3-0 (>= 1.11.1), libxinerama1 (>= 2:1.1.1), xz-utils, debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.15), libstdc++6 (>= 4.8), libx11-6
Recommends: steam-devices, ca-certificates, fontconfig, fonts-liberation, libxss1, mesa-vulkan-drivers, xterm | x-terminal-emulator
Suggests: libnvidia-gl-390 | libnvidia-gl-435 | libnvidia-gl-440
Conflicts: steam-launcher
Replaces: steam-launcher
Homepage: https://steamcommunity.com/linux
Download-Size: 1,451 kB
APT-Manual-Installed: yes
APT-Sources: http://jp.archive.ubuntu.com/ubuntu focal/multiverse i386 Packages
Description: Valve's Steam digital software delivery system
STEP 3: Steamの起動
1
% steam
手法2: マニュアルでOfficial Steam packageをダウンロード&インストール
STEP 1: i386
architectureの追加
普通なら64 bit環境のOSを使っていると思いますが、Steamパッケージは32 bitライブラリーに依存しているのでまず、i386アーキテクチャを利用できるように設定
1
2
% sudo dpkg --add-architecture i386
% sudo apt update
STEP 2: 依存関係のあるライブラリをインストール
1
% sudo apt install wget gdebi-core libgl1-mesa-glx:i386
wget
: ファイルダウンローダーgdebi-core
: deb packagesインストール時の依存関係解消ツールlibgl1-mesa-glx
: グラフィック関係パッケージ
STEP 3: インストーラーのダウンロード
1
% wget -O ~/steam.deb http://media.steampowered.com/client/installer/steam.deb
STEP 4: Steamをインストール
1
% sudo gdebi ~/steam.deb
STEP 5: Steamを起動
1
% steam
Steamの初期設定
Protonの有効化
LinuxでWindowsゲームをプレイするためには、Protonなどのソフトを利用しなくてはならず、そのソフトの多くがベータ版機能でないと利用できません. そのため、Steam -> Settings -> Account
でBeta Participationを「Steam Beta Update」(ベータ版への参加)へ変更.
その後、Steam -> Settings -> Steam Play
へ移動し、「Enable Steam Play for supported titles and Enable Steam Play for all other titles」をクリックします. これをクリックすることで、WindowsゲームをUbuntuでプレイできるようになります. そして、最後にProton versionを選択します. 自分はExperimentalを選択していますが、Windowsゲームが動作しなかった場合は、ProtonDBの内容を参考にversion設定を変更することが初手として推奨されてる.
コントローラーの接続と設定
UbnuntuでSteamを利用する場合、ソフトが対応しているコントローラーの種類を確認することが推奨されます. コントローラーにはDirectInput形式とXinput形式の2つがあります. なお、今回のMGSVはXinput形式のコントローラーが推奨されてる.
DirectInput形式
- 従来からあるゲームパッドの規格
- 標準状態ではNintendo Switch用コントローラー及びPS4コントローラーはDirectInputで動作します
はじめはNintendo Switch用コントローラーでのプレイを試みましたが、設定に挫折しました. MGSVを起動しても上手く認識してくれず、キーマップを頑張って設定しようとしましたが挫折.
Xinput形式
- 最新のオンラインゲームやGames for Windows®タイトル、Xbox360®とPCのクロスプラットフォームのゲームなどで採用されている新規格
- Nintendo Switch用コントローラー及びPS4コントローラーをXinput形式で利用するためには別途ドライバーを導入する必要があります
Xbox ワイヤレス コントローラー - カーボン ブラックはXinput形式に対応しており、利用はBluetoothなり有線で接続するだけで完了しました.
References
(注意:GitHub Accountが必要となります)