Nouveau.modeset:0

Solution 1:

If you require noveau.modeset=0 in order to boot properly, you could add an extra kernel boot parameter in the /etc/default/grub file so that you don't have to type it in (and can continue to use the open source nouveau drivers).

Boot up using your 'safe mode' solution and then open a terminal and use

sudo nano /etc/default/grub

to change

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to be

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nouveau.modeset=0"

(press Ctrl + x to exit, y to confirm saving the changes and Enter to accept the filename)

If you then run sudo update-grub to update your changes, when you reboot it should work as if you'd typed that line in yourself each time.

Solution 2:

It seems you're using open source Nvidia Nouveau drivers. Try to install proprietary Nvidia driver instead. First of all check which version proprietary driver is suitable for you, run in terminal:

ubuntu-drivers devices

You'll see something like this:

== /sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0 ==
modalias : pci:v000010DEd00000A65sv00001043sd00008354bc03sc00i00
vendor   : NVIDIA Corporation
model    : GT218 [GeForce 210]
driver   : nvidia-340 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

Pay your attention to the line with distro non-free recommended - there is exact name of package you may install - in the example above it's nvidia-340. Install the detected driver (change driver version 3XX in the command below to your detected version):

sudo apt install nvidia-3XX

Reboot computer:

sudo reboot

Check Nvidia proprietary driver in use, run in terminal:

nvidia-smi