Freezing of screen on Ubuntu 16.04

Your processor is affected by the c-state bug which causes total freezes when the CPU tries to enter an unsupported sleep state. It's a problem for many Bay Trail devices especially with newer (4.*) kernels.

There is a simple workaround for this until it gets properly fixed upstream. You just need to pass a kernel boot parameter and the random freezing stops completely.

You do this by editing the configuration file for GRUB:

Boot Ubuntu and open a terminal by pressing ctrl+alt+t then type

sudo nano /etc/default/grub

Find the line GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

This needs to be changed to include intel_idle.max_cstate=1

So after your edit it reads

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"

If you have other boot parameters already besides quiet and splash, just leave them alone.

Now save the file by pressing ctrl+o then enter and exit by pressing ctrl+x

Now type

sudo update-grub

Then reboot


To revert to an older kernel from a higher version installed manually, reboot the system and enter the GRUB menu by pressing shift. At the GRUB screen select Advanced Options For Ubuntu and select the kernel you want to boot (4.4.0-21-generic in your case)

When the system has booted, before deleting anything check uname -r to be sure you have booted the correct kernel.

The system will boot the highest kernel by default, so you need to delete the newer one yourself. All you need to do is delete the files that relate to it, so find the version string of the kernel you want to delete... if you installed by the debian method:

dpkg -l | grep linux-image

if you installed with make install do ls /boot to see installed kernel versions

Let's say the kernel you want to remove has the release string 4.7.0-040700rc3-generic. You can find all the files relating to this kernel:

sudo updatedb && locate -b -e 4.7.0-040700rc3-generic

to delete them you can use xargs (assuming you've already run sudo updatedb)

locate -b -e 4.7.0-040700rc3-generic | xargs -p sudo rm -r

-p makes xargs ask for confirmation before executing rm -r on the located files. It will throw errors for files which are not directories because you are trying to delete them recursively, but it will still work. Finally run

sudo update-grub