Getting QGIS to use dedicated graphics card (GPU) over integrated?

I am a GIS developer and geospatial analyst. I use QGIS professionally. QGIS does make limited use of parallelized GPU acceleration, but only for raster rendering, namely:

  • slope
  • aspect
  • hillshade
  • ruggedness

The option is baked in since the QGIS 3 (Shout out to Alessandro Pasotti). In order to activate this capability, you need to do the following on Ubuntu 18.04:

  • Install mesa-opencl-icd (to enable GPU C++ acceleration)
  • Install ocl-icd-opencl-dev (to enable CPU multi-threaded parallelism)
  • Install clinfo to check Opencl status on your machine

Go to QGIS Settings -> Acceleration -> then tick the case "Enable OpenCL Acceleration" your device must appear in the list.

Some GPU accelerated tasks like Blender Rendering requires AMD distributed drivers (proprietary). Despite a common circulating myth, you do not have to sacrifice the awesomeness of the libre amdgpu driver for the finicky amdgpu-pro to get those working. Simply download the right driver from AMD website then install the non pro version with this command: amdgpu-install -y --headless --opencl=pal,legacy

I am not aware that GPU acceleration is used other than that within QGIS. Otherwise why not use multithreading and multiprocessing capabilities In PyQGIS and unleash all python3 power to any kind of parallelized algorithm?

PS: I do not have advice Nvidia wise, since I do not own an Nvidia card and I believe (subjectively maybe) that AMD is way more suited to Linux Systems with their awesome free amdgpu driver.


QGIS doesn't make use of the GPU for any work it does, render or otherwise.