Upgrade to Linux Kernel 4.12 on Ubuntu / Linux Mint Derivatives


Linux kernel is the essential part of any Linux operating system. It is responsible for resource allocation, low-level hardware interfaces, security, simple communications, basic file system management, and more. Written from scratch by Linus Torvalds (with help from various developers), Linux is a clone of the UNIX operating system. It is geared towards POSIX and Single UNIX Specification compliances.

Includes powerful features

Linux provides users with powerful features, such as true multitasking, multistack networking, shared copy-on-write executables, shared libraries, demand loading, virtual memory, and proper memory management.

Initially designed only for 386/486-based computers, now Linux supports a wide range of architectures, including 64-bit (IA64, AMD64), ARM, ARM64, DEC Alpha, MIPS, SUN Sparc, PowerPC, as well as Amiga and Atari machines.

What’s New in Linux 4.12

Among some of the many (many) new features, tweaks, changes and improvements in Linux 4.12:


  • Improvements to the F2FS (flash-friendly file system)
  • Initial support for GeForce GTX 1000 w/ Nouveau
  • Initial Radeon RX Vega support
  • Support for Intel RealSense SR300 camera, Razer Sabertooth & Mad Catz Brawlstick
  • USB Type-C port manager
  • Improved keyboard backlight support in Dell laptop driver
  • Support for the Intel volume button (intel-vbtn) driver
  • New ThinkPad T470 hotkey mappings
  • Sound driver fixes for Skylake, Atom SoCs
  • New sound drivers for various soundcards/chips

Among the additional ARM devices supported by Linux Kernel 4.2 is the Orange Pi PC2, the Rockchip RK3399 and RK3288, and some work on the NVIDIA Tegra X2.

BFQ — Better, Faster, Quicker
Reader Fran G., has his own highlight in this release: BFQ (Budget Fair Queue).

The name sounds fairly oblique, but as Fran explains in an e-mail to us (thanks Fran!), it could have a big impact on your desktop’s performance:

“The BFQ (Budget Fair Queue) has been developed in the last few years and only recently included in the mainline kernel. Some distributions already included this by manually patching the kernel, and there was a PPA available for Ubuntu as well. However, we now get this available to all!

In a nutshell: this is a I/O scheduler that balances how the system accesses data on a drive (HDD, SSD, etc.). BFQ targets desktop users by ensuring that at no point a single application is using all of the bandwidth. Sometimes when copying large files in Linux a user sees the system slow down down or freeze completely – this will now be a thing of the past!

I know your website doesn’t feature articles with low-level kernel functionality, but this is one with a big impact in usability IMHO.”

For more details on what is new this release you refer to this page or review the full Linux kernel 4.12 commit log.


How to Upgrade to Linux Kernel 4.12 on Ubuntu / Linux Mint / Elementary OS

To Install/Update and upgrade Linux Kernel 4.12 on Ubuntu 17.04 Zesty Zelus, Ubuntu 16.10 Yakkety Yak, Ubuntu 16.04 Xenial Xerus, Ubuntu 15.10 Wily Werewolf, Ubuntu 15.04 vivid Vervet, ubuntu 14.10 Utopic Unicorn, Ubuntu 14.04 Trusty Tahr (LTS), Ubuntu 13.10/13.04/12.04, Linux Mint 17.1 Rebecca, Linux Mint 17 Qiana, Linux Mint 13 Maya, Pinguy OS 14.04, Elementary OS 0.3 Freya, Elementary OS 0.2 Luna, Peppermint Five, Deepin 2014, LXLE 14.04, Linux Lite 2.0, Linux Lite 2.2 and other Ubuntu derivative systems , open a new Terminal window and bash (get it?) in the following commands:

How to install Kernel 4.12 on 32 bit Ubuntu and derivative systems:

Download the needed packages:
$ cd /tmp
$ wget \
kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-headers-4.12.0-041200_4.12.0-041200.201707022031_all.deb \
kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-headers-4.12.0-041200-generic_4.12.0-041200.201707022031_i386.deb \
kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-image-4.12.0-041200-generic_4.12.0-041200.201707022031_i386.deb

Install the Kernel:
$ sudo dpkg -i linux-headers-4.12*.deb linux-image-4.12*.deb

Optional, remove the kernel:
$ sudo apt-get remove linux-headers-4.12* linux-image-4.12*


How to install Kernel 4.12.x on 64 bit Ubuntu and derivative systems:

Download the needed packages:

$ cd /tmp
$ wget \
kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-headers-4.12.0-041200_4.12.0-041200.201707022031_all.deb \
kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-headers-4.12.0-041200-generic_4.12.0-041200.201707022031_amd64.deb \
kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-image-4.12.0-041200-generic_4.12.0-041200.201707022031_amd64.deb

Install the Kernel:
$ sudo dpkg -i linux-headers-4.12*.deb linux-image-4.12*.deb

Optional, remove the kernel:
$ sudo apt-get remove linux-headers-4.12* linux-image-4.12*