AMD GPUを使用してLinux/Ubuntu 20.04でCyberPunk 2077をプレイする方法


![cyberpunk-5837064_1280.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/71118ccd-6632-5be3-ef29-b51bdc5c2080.jpeg)

##はじめに

こんにちは streampack チームのメディです。
https://cloudpack.jp/service/option/streampack.html

## Copyrights 
**Cyberpunk 2077**© is a registered trademark of **CD PROJEKT Capital Group**©
**STEAM**© is a registered trademark of **Valve Corporation**©
コピーレフトのイラスト : [cyberpunk-city-girl-window-view-5837064](https://pixabay.com/illustrations/cyberpunk-city-girl-window-view-5837064/)

#免責事項
この記事は**AMD GPU**のみに関係します。

##目的
Linuxで最近のWindowsゲームを実行する簡単な例を学ぶ.
そのために、Protonを使用します。ProtonはValveによって開発されました。
Protonは、Linuxで実行するMicrosoftWindowsゲームの互換性レイヤーです。
この例では、CyberPunk2077を例として使用します。 Steamで購入しました。

##ハードウェアについて
最小要件は[ここに](https://support.cdprojektred.com/en/cyberpunk/pc/sp-technical/issue/1556/cyberpunk-2077-system-requirements)リストされています。 

# 新しいハードウェア !

新しいGPU（Radeon RX 5500 XT）をインストールした後、起動時に黒い画面が表示されました。 いくつかの調査の結果、マザーボードがファームウェアのアップデートを取得する必要があることがわかりました。

新しいファームウェアでマザーボードをフラッシュすることは危険な手順です。慎重に進めてください。

マザーボードをフラッシュした後、新しいGPUをインストールすると、すべてが正常に機能しました。

## XORGまたはWayland

**Ubuntu**にログインすると、ディスプレイサーバー（画面の右下）を選択できます。
現在、デフォルトのディスプレイサーバーである**XORG**を使用しています。
将来、**HDR**がサポートされるときに、**Wayland**に切り替える可能性があります。


[この調査によると](https://www.phoronix.com/scan.php?page=article&item=ubuntu-2004-waylandgame&num=2)、2つのサーバー間の現在の違いは非常に小さいです。


# ステップ 1 : ビデオドライバー

Linuxの最新のAMDGPUには、2つのドライバーがあります。

独自のドライバー：AMDGPU-PRO
オープンソースドライバー：AMDGPU

Protonを使用するには、**AMDGPU**を使用する必要があります。

現在のビデオドライバーを表示します。

```bash
lspci -k | grep -EA3 'VGA|3D|Display'
```

見るべきライン ：

```
...
Kernel driver in use: amdgpu
...
```

# ステップ 2 : Mesa
Mesaは、OpenGL、Vulkan、およびその他のグラフィックAPI仕様のオープンソースソフトウェア実装です。

**CyberPunk 2077**©の場合、必要な最小バージョンは**v21**です。

最新バージョンをインストールするには、次のことを行ってください。

```shell
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update
sudo apt upgrade
```

インストールされているバージョンを確認したい場合は、mesa-utilsを使用する必要があります。

```shell
sudo apt-get install mesa-utils
```

```shell
glxinfo | grep "OpenGL version"
```

## ステップ 3 : CPUガバナーとGPU電源管理

Linuxでは、ガバナーがCPUの周波数を決定します。 デフォルトでは、ガバナーはオンデマンドモードを使用しています。 オンデマンドモードはゲームには適していません。

このユーティリティは、GPUの省電力モードも無効にします。

CPUとGPUの設定を簡単に最適化するために、[gamemode](https://github.com/FeralInteractive/gamemode)ユーティリティを使用しています。

### Gamemodeの依存関係

```shell
sudo apt install meson libsystemd-dev pkg-config ninja-build git libdbus-1-dev libinih-dev
````

```
sudo apt install dbus-user-session
```

```
sudo apt install build-essential
```

```
sudo apt-get install manpages-dev
```

### インストール

```shell
git clone https://github.com/FeralInteractive/gamemode.git
cd gamemode
git checkout 1.6 
./bootstrap.sh
```

[詳しくは公式ホームページ](https://github.com/FeralInteractive/gamemode)をご覧ください。


## ステップ 4 : Steam
### Steamをインストール

```
sudo add-apt-repository multiverse
sudo apt update
sudo apt install steam
steam
```

わかりやすくするために、**Big Picture Mode**で**Steam**を使用しています。

###Steam PlayとProtonExperimentalを有効にする
![Screenshot from 2021-01-14 18-20-03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/769065ef-9a93-4fe0-e849-a9c036244e06.png)

###カスタムランチャーオプション
![Screenshot from 2021-01-14 18-20-43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/4e4433a2-beae-d841-f006-8c94be5609ca.png)

ゲームモードを有効にするために、私は次のオプションを使用します。

```
gamemoderun %command%
```

ランチャーページをスキップしたい場合は、以下を使用できます。

```
gamemoderun %command% --launcher-skip
```

**XboxOne**有線コントローラーを使用しています。設定は次のとおりです。
![Screenshot from 2021-01-14 18-20-57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/e4fccb02-df11-b6e0-adf5-d9f277a689d1.png)


## サンプル
次の構成では、ゲームは1080pで60 fpsで実行され、グラフィカルオプションはLOWとMediumの間に設定されます。

CPU : AMD RYZEN 5 2400g (2018)
GPU : AMD Radeon 5500 XT 4GB (2019)
RAM : 16 GB 

スクリーンショットを添付しました。

![mpv-shot0001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/27228a16-435b-7b96-1b19-d778e841eeb3.jpeg)
![mpv-shot0002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/612b25af-b0cc-2786-a365-c27daae1b744.jpeg)
![mpv-shot0003.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/2eb984f3-41de-aa39-80fa-02c3d59f7396.jpeg)


# 他のゲーム

サポートされているゲームの完全なリストについては、[Protonデータベース](https://www.protondb.com/)を参照してください。


# 情報元
https://github.com/FeralInteractive/gamemode
https://www.protondb.com/app/1091500