There was one major change in nvidia driver that prevents bumblebee from working - glvnd (https://github.com/NVIDIA/libglvnd). In short, bumblebee is running a separate instance of xorg on a separate display, which glvnd cannot handle. This behaviour should be disabled for bumblebee. Put the following line to
In order to make glvnd work, nvidia also changed directories where related files/drivers are located. Bumblebee should be reconfigured accordingly (
Last issue that prevents bumblebee from unloading nvidia drivers is caused by
nvidia-drm which is not supposed to be loaded in the bumblebee enviroment. This is easy to disable by aliasing it to
#alias nvidia off
alias nvidia-drm off
#alias nvidia-modeset off
nvidia-modeset is not needed as well, but loading it doesn't hurt and you may want to disable it as well.
I would also disable gpu manager (What does gpu-manager do?), as it's not needed in this case (
nogpumanager to the
I also had some issues with
nvidia-persistenced service in the past (https://docs.nvidia.com/deploy/driver-persistence/index.html#persistence-daemon), you may want to disable it as well by issuing
sudo systemctl disable nvidia-persistenced.
NOTE: I'm using nVidia 390 from https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa