How to play Cyberpunk 2077 on Linux/Ubuntu 20.04 using AMD GPU

cyberpunk-5837064_1280.jpg

Introduction

Hello media of streampack team. 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© Copyleft illustration: cyberpunk-city-girl-window-view-5837064

Disclaimer

This article is only relevant for ** AMD GPU **.

Purpose

Learn a simple example of running a modern Windows game on Linux. For that, we use Proton. Proton was developed by Valve. Proton is a compatibility layer for Microsoft Windows games running on Linux. This example uses Cyberpunk 2077 as an example. I bought it on Steam.

About hardware

The minimum requirements are listed here (https://support.cdprojektred.com/en/cyberpunk/pc/sp-technical/issue/1556/cyberpunk-2077-system-requirements).

New hardware!

After installing a new GPU (Radeon RX 5500 XT), I got a black screen at startup. After some research, we found that the motherboard needs to get a firmware update.

Flashing the motherboard with the new firmware is a dangerous procedure. Please proceed carefully.

After flashing the motherboard, I installed a new GPU and everything worked fine.

XORG or Wayland

When you log in to ** Ubuntu **, you can select the display server (bottom right of the screen). I am currently using the default display server ** XORG **. In the future, we may switch to ** Wayland ** when ** HDR ** is supported.

According to this study, the current difference between the two servers is very small.

Step 1: Video driver

The latest AMD GPUs on Linux have two drivers.

Unique driver: AMD GPU-PRO Open source driver: AMD GPU

To use Proton, you must use ** AMD GPU **.

Shows the current video driver.

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

Line to see:

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

Step 2: Mesa

Mesa is an open source software implementation of OpenGL, Vulkan, and other graphic API specifications.

For ** CyberPunk 2077 ** ©, the minimum version required is ** v21 **.

To install the latest version, do the following:

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

If you want to check the installed version, you need to use mesa-utils.

sudo apt-get install mesa-utils
glxinfo | grep "OpenGL version"

Step 3: CPU governor and GPU power management

On Linux, the governor determines the CPU frequency. By default, the governor uses on-demand mode. On-demand mode is not suitable for games.

This utility also disables the GPU's power saving mode.

I am using the game mode utility to easily optimize the CPU and GPU settings.

Gamemode dependencies

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

Installation

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

Please see Official Homepage for details.

Step 4: Steam

Install Steam

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

For clarity, I'm using ** Steam ** in ** Big Picture Mode **.

Enable Steam Play and Proton Experimental

Screenshot from 2021-01-14 18-20-03.png

Custom launcher options

Screenshot from 2021-01-14 18-20-43.png

To enable the game mode, I use the following options.

gamemoderun %command%

If you want to skip the launcher page, you can use:

gamemoderun %command% --launcher-skip

I'm using a ** Xbox One ** wired controller. The settings are as follows: Screenshot from 2021-01-14 18-20-57.png

sample

In the following configuration, the game runs at 1080p at 60 fps and the graphical options are set between LOW and Medium.

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

I have attached a screenshot.

mpv-shot0001.jpg mpv-shot0002.jpg mpv-shot0003.jpg

Other games

See the Proton Database (https://www.protondb.com/) for a complete list of supported games.

Information source

https://github.com/FeralInteractive/gamemode https://www.protondb.com/app/1091500

Recommended Posts

How to play Cyberpunk 2077 on Linux/Ubuntu 20.04 using AMD GPU
How to set layer on Lambda using AWS SAM
How to register on pypi
Process on GPU using chainer.cuda.elementwise
How to install mysql-connector-python on mac
How to use Dataiku on Windows
Notes on how to use pywinauto
How to install graph-tool on macOS
How to install VMware-Tools on Linux
How to install pycrypto on Windows
How to deploy django-compressor on Windows
How to install OpenCV on Mac
How to run matplotlib on heroku
How to install PyPy on CentOS
How to build a Python environment using Virtualenv on Ubuntu 18.04 LTS
How to use homebrew on Debian
How to install TensorFlow on CentOS 7
How to play music (wav / mp3) files on Raspberry Pi python
Notes on how to use doctest
How to install Maven on CentOS
Notes on how to write requirements.txt
How to install Go on Ubuntu
How to install music 21 on windows
How to install Theano on Mac OS X 10.10 (using pyenv, anaconda)
How to install aws-session-manager-plugin on Manajro Linux
How to read pydoc on python interpreter
How to install drobertadams / toggl-cli on Mac
How to draw a graph using Matplotlib
How to use mecab, neologd-ipadic on colab
How to set up SVM using Optuna
How to update php on Amazon linux 2
How to install a package using a repository
How to set xg boost using Optuna
How to use Google Assistant on Windows 10
How to erase Python 2.x on Mac.
How to display emoji on Manjaro Linux
Memorandum on how to use gremlin python
How to install Anisble on Amazon Linux 2
How to switch mouse operations on CentOS
How to install richzhang / colorization on Windows 10
How to update security on CentOS Linux 8
How to install Apache (httpd) on CentOS7
How to install Eclipse GlassFish 5.1.0 on CentOS 7
How to download youtube videos using pytube3
How to install Apache (httpd) on CentOS8
How to test on a Django-authenticated page
How to run Cython on OSX Memo
How to find large files on Linux
How to install NumPy on Raspberry Pi
How to install cx_Oracle on macOS Sierra
How to quickly create a morphological analysis environment using Elasticsearch on macOS Sierra
How to build an environment for using multiple versions of Python on Mac
How to install Fast.ai on Alibaba Cloud GPU and run it on Jupyter notebook
How to display Map using Google Map API (Android)
How to write urlfetch unittest on GAE / P
How to reduce GPU memory usage with Keras
[REAPER] How to play with Reascript in Python
How to code a drone using image recognition
[2020 version] How to install Python3 on AWS EC2
Strategy on how to monetize with Python Java
How to install OpenCV on Jetson Nano Python