How to install NVIDIA drivers, CUDA and Bumblebee on Arch Linux / BlackArch
In this note we will consider the following topics:
- How to check active GPU in Linux
- How to switch from integrated graphics to a discrete NVidia graphics card
- How to install and use Bumblebee to automatically switch between integrated and discrete graphics cards (how to enable NVIDIA Optimus on Linux)
How to check active GPU in Linux
There are several commands that will show which video card is used:
glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)
This is the same command, but launched via optirun from the Bumblebee package:
optirun glxinfo|egrep "OpenGL vendor|OpenGL renderer"
Sample output that shows that an NVIDIA graphics card is active:
OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GTX 1050 Ti/PCIe/SSE2
More about optirun and Bumblebee will come later a bit.
Another command that displays information about the active GPU (and a cool triangle as a bonus):
Using the lspci command with certain options, you can display information about the GPU. Any controller with [VGA controller] at the end is your currently active GPU. The others are switched off. Command to filter data:
lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep '\[VGA controller\]'
00:02.0 VGA compatible controller : Intel Corporation UHD Graphics 630 (Mobile) [8086:3e9b] (prog-if 00 [VGA controller])
How to check whether an NVIDIA graphics card is active
The following command will show the processes that the NVIDIA graphics card uses (if there are no processes, then the video adapter is not used):
sudo lsof /dev/nvidia*
Another command that shows the processes that consume the resources of an NVIDIA graphics card, as well as its load level, temperature and other metrics:
How to install NVIDIA video driver on Arch Linux or BlackArch
To install the NVidia driver in Arch Linux, BlackArch and their derivatives, run the command:
sudo pacman -S nvidia cuda nvidia-settings
How to install and use Bumblebee (how to enable NVIDIA Optimus on Arch Linux)
The Bumblebee package is needed to automatically switch between integrated and discrete graphics cards. Your card must support NVidia Optimus technology, a list of supporting cards can be found on this page: https://www.geforce.com/hardware/technology/optimus/supported-gpus
If your card is there, then proceed to the following commands. You must already have the NVIDIA proprietary driver installed, as shown above.
On Arch Linux, BlackArch, and their derivatives, run:
sudo pacman -S bumblebee virtualgl bbswitch acpid mesa sudo systemctl enable bumblebeed.service sudo systemctl enable acpid.service sudo usermod -a -G bumblebee $USER
System freezes after installing Bumblebee
I ran into a problem that Bumblebee works, but when using some commands that use CUDA or access kernel modules, the system freezes. To check if you have this problem, run the lspci command, for example:
If the system freezes completely, reboot and remove the bbswitch package.
sudo pacman -R bbswitch
How to use Bumblebee / NVIDIA Optimus on Linux
Now any program that should use the NVIDIA graphics card can be launched with a command of the form:
When optirun is not used, the NVIDIA card must be in the off state, which should save electricity.
How to test Bumblebee / NVIDIA Optimus on Linux
Run the GPU performance test with the usual command:
And also with optirun:
Note that FPS has grown approximately 20 times.
Another option for a video card test:
And also with optirun:
You should see a performance boost when using optirun.
While these tests are running, run the command:
You should see processes that use a discrete graphics card.
If you have the Chromium web browser installed, then launch it in two ways:
chromium optirun chromium
In both cases, open the tab:
There you will see information about the active graphics chip:
Last Updated on
- How in Windows view the contents of a Linux disk and copy files from it (34.3%)
- How to use Android phone as GPS sensor in Linux (34.3%)
- How to install evilginx2 (and how to fix ‘urn: acme: error: unauthorized - Account creation on ACMEv1 is disabled’) (34.2%)
- testssl.sh: No cipher mapping file found and No TLS data file found (SOLVED) (33.6%)
- Alfa AWUS052NH – Kali Linux Compatible USB Adapter (31.4%)
- How to boot without a graphical interface in Kali Linux (RANDOM - 3%)