Linux – debian 10 – hybrid graphics – how to use nvidia drivers instead of nouveau

debiandriversgraphics cardlinuxnvidia-graphics-card

I'm scratching my head on a nvidia drivers problem in debian 10. I did a fresh install of debian 10 on a new laptop.
This laptop have an Intel GPU and a Nvidia GTX 1650.

I followed some explanation here or here to install the drivers and to blacklist nouveau to use only the Nvidia GPU (as explained in the first link).
It means the following :

  1. vim /etc/modprobe.d/blacklist.conf :
    blacklist nouveau
    blacklist lbm-nouveau
    options nouveau modeset=0
    alias nouveau off
    alias lbm-nouveau off
  1. vim /etc/default/grub and add the nouveau.modeset=0 part :
    GRUB_CMDLINE_LINUX_DEFAULT="nouveau.modeset=0 quiet"
  1. vim /etc/modprobe.d/nouveau-kms.conf :
   options nouveau modeset=0
   GRUB_CMDLINE_LINUX_DEFAULT="nouveau.modeset=0 quiet"
  1. sudo update-initramfs -u
  2. reboot
  3. sudo apt install nvidia-driver nvidia-settings nvidia-detect

After this, I'm still booting with nouveau.

But I just understood (thanks to this post) that even with the blacklist of nouveau, nvidia drivers are installed but not in use.

Here is my lspci -nnk | grep -iEA2 'vga|3d' :

00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 630 (Mobile) [8086:3e9b]
    Subsystem: Dell UHD Graphics 630 (Mobile) [1028:0924]
    Kernel driver in use: i915

01:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1f91] (rev a1)
    Subsystem: Dell Device [1028:0924]
    Kernel driver in use: nvidia

So it looks that the nvidia drivers are correctly installed but not in use.

Also, the nvidia-settings command or the gui launcher for nvidia configuration does not work. In cli, I have the following error which makes me very sad :

ERROR : Unable to load info from any available system

How can I switch to nvidia drivers and never use anymore nouveau ?

Also, I tried the proprietary drivers for GTX1650 but when I install it, I boot on a freezed login screen (not able to do anything). At this point I was not able to rollback and reinstalled buster

For the moment, if I watch an hd video, the video seems laggy and I'm sure it would not be a problem with the proper driver.

Thanks for your help!!

Best Answer

Well, I did not found the solution to always be on the nvidia GPU. But after some research I find a good way to jump between the two, using bumblebee which is the recommended package to efficiently manage multiple gpus. I did the following on a fresh install :

echo "blacklist nouveau" > /etc/modprobe.d/blacklist-nvidia-nouveau.conf 
echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf 
sudo systemctl set-default multi-user.target

Reboot (sudo systemctl reboot), you should so be in cli and not in gui mode. This is the moment where you install specific nvidia-driver and bumblebee which will manage the two graphic cards :

sudo apt install bumblebee-nvidia nvidia-driver-libs-nonglvnd nvidia-driver bumblebee primus
sudo systemctl set-default graphical.target
sudo systemctl reboot

You should be in graphical mode then. Not sure if the nouveau blacklisting is necessary but it seems to work fine this way...

Also, on a Dell laptop, you can frequently have problems with the fans which are rotating way too fast even if the laptop is doing nothing (which can give you the impression that nothing is working fine). This is an other problem for whoch you can maybe find help using google. Personnally, I have not been able to find a ogod fan configuration yet on my vostro 7590...

Related Question