Ubuntu 20.04 LTSでメタルギアソリッドVをやりたい

Ubuntu Desktop環境構築: Steam編 1/N

公開日: 2022-01-27

  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によって開発/運営がされているゲーム配信サービス.

利用方法

  1. Steamアカウント登録(無料)
  2. SteamクライアントをローカルPCにインストール
  3. SteamのアカウントとローカルPCを紐付ける
  4. Steam経由でローカルPCへゲームソフトをダウンロード
  5. 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つあります:

  1. Ubuntu package repositoryからapt経由でインストール
  2. マニュアルで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



Share Buttons
Share on:

Feature Tags
Leave a Comment
(注意:GitHub Accountが必要となります)