Install Steam Archlinux
This post will walk you through the configuration of Steam to use your discrete GPU when running games. First, I will give the detail of the libraries to install if you have an Nvidia video card. We will eventually run a game on Steam and check that it runs on your discrete GPU.
Start by installing bumblebee
. This package includes optirun
. If you prefix any program with optirun, it will use your discrete GPU if necessary.
Install the drivers for your GPU. Also install 32-bit drivers since most Steam games are 32-bit.
If you have an Nvidia video card, the proprietary Nvidia drivers nvidia
and lib32-nvidia-utils
work well.
Install
Install steam
and ttf-liberation
packages.
ttf-liberation is the font used by Steam.
If you are running Arch Linux, you may have to enable the multilib repository by appending those lines to /etc/pacman.conf
.
[multilib]
Include = /etc/pacman.d/mirrorlist
Configure
Reboot your system.
Install the game you want to play. Find it in the left drawer: Right click → Properties → Set Launch Options. Fill the field with this command.
LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 optirun %command%
Play!
Run nvidia-smi
command to monitor your GPU activity.
$ watch -n 1 nvidia-smi
Then run your game through Steam.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.57 Driver Version: 410.57 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce MX150 On | 00000000:01:00.0 Off | N/A |
| N/A 49C P0 N/A / N/A | 196MiB / 2002MiB | 88% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 12734 G /usr/lib/Xorg 35MiB |
| 0 12736 G ...ocketleague/Binaries/Linux/RocketLeague 159MiB |
+-----------------------------------------------------------------------------+
The game pop up in the process list, confirming the use of the discrete GPU.