This is a short one, just a quick referance to have your system optimized for both efficiency and performance
This laptop which has had a fresh Debian Bullseye installed has both an nVidia card alongside the intel card, to find out what cards your system is running, you could start with the command
sudo lspci
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 02)
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
Or you could simply get the relevant data with
lshw -c video
This is a 7th generation intel CPU, namely the “Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz”
Let us start by installing the nVidia drivers from nvidia, in my case, i installed the detection script followed by nvidia-drivers package from the non-free repositories
If your CPU is post 2007, Make sure you do not install “xserver-xorg-video-intel”, if it is already installed remove it ! we want xserver-xorg-core to manage the intel graphics
Install nvidia primus
apt-get install primus
Once that is setup, to figure out which card is being used as the main one, you can run
glxinfo|egrep "OpenGL vendor|OpenGL renderer"
To execute the command with the nvidia card and check if it is being used, execute it in the following way
primusrun glxinfo|egrep "OpenGL vendor|OpenGL renderer"
Now, without the primusrun you should get intel, with the primusrun, you should see nvidia
Now, you know the system is taking care of what is running which application correctly, I will follow with more information once i have the time.
To instruct the system to use your nvidia card to play a video, you can execute something like
primusrun totem
(this will force it to use your nvidia card)
Another command that will show you the utilization of your nvidia GPU (Mine is mostly 0 percent as I am not running anything with a primusrun prefix)
nvidia-smi