-
Notifications
You must be signed in to change notification settings - Fork 2
Common Terms
Optimus is a term used by nVidia to describe Laptops with switchable graphics. This means there are two GPUs present in the system. One integrated into the CPU (also called APU in this case) called iGPU and a dedicated nVidia GPU also called the dGPU.
PRIME Render Offload is a term used by nVidia to dynamically run a certain application on the dGPU by setting a few environment variables.
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia <app_goes_here>
Some distributions offer a script called prime-run
to ease up the process. Note: prime-run is not to be confused with prime-select, optirun or primus-run. These are entirely different things.
Note: You can make use of prime-run or the above environment variables using OptimusUI only if the system runs in Offload
mode. Also this requires at least nVidia driver version 435 or newer.
bbswitch short for bumblebee switch is a Linux Kernel module to dynamically power down or power up a nVidia GPU which does not support this on it's own.
Note: nVidia GPUs of the Turing micro architecture and newer do have build-in support for advanced power management and are capable of power down entirely if not used. This is due to an additional hardware module called the GSP co-processor.
GSP is a micro controller inside a modern nvidia GPU which serves as a communication platform between the nVidia GPU and the driver on the host system.
This allows open source drivers to be developed and make use of advanced GPU features otherwise locked away for signed driver firmware. Also this GPS chip is the part of a nVidia GPU which in fact does power down or power up the nvidia chip on the GPU. This also means the GSP co-processor will not power down itself.
Bumblebee is a legacy way of offloading OpenGL applications to the dedicated nVidia GPU with dynamic power management enabled using bbswitch. However bumblebee is no longer maintained and works with OpenGL only. Which renders applications making use of the Vulkan API unusable using this method.
Note: bumblebee is not to be confused with bbswitch they are different things
Optirun and Primus run are legacy ways of running certain applications on the dedicated nVidia GPU. However as they make use of bumblebee they do only work with OpenGL applications and are no longer maintained as well.