The 4.12 Linux Kernel was finally released earlier today. Linus Torvalds announced in lkml.org:
Things were quite calm this week, so I really didn’t have any real reason to delay the 4.12 release.
As mentioned over the various rc announcements, 4.12 is one of the bigger releases historically, and I think only 4.9 ends up having had more commits. And 4.9 was big at least partly because Greg announced it was an LTS kernel. But 4.12 is just plain big.
There’s also nothing particularly odd going on in the tree – it’s all just normal development, just more of it that usual. The shortlog below is obviously just the minor changes since rc7 – the whole 4.12 shortlog is much too large to post.
In the diff department, 4.12 is also very big, although the reason there isn’t just that there’s a lot of development, we have the added bulk of a lot of new header files for the AMD Vega support. That’s almost exactly half the bulk of the patch, in fact, and partly as a result of that the driver side dominates everything else at 85+% of the release patch (it’s not all the AMD Vega headers – the Intel IPU driver in staging is big too, for example).
But aside from just being large, and a blip in size around rc5, the rc’s stabilized pretty nicely, so I think we’re all good to go.
Go out and use it.
Kernel 4.12 top features:
- initial GeForce GTX 1000 series 3D accelerated support on Nouveau driver stack
- Intel’s DRM driver has turned on atomic mode-setting by default
- Initial Radeon RX Vega support on AMDGPU DRM driver
- A USB Type-C port manager
- KASLR enabled by default for x86 systems.
- BFQ and Kyber now mainline as two new I/O schedulers.
- Continued power management tuning.
How to Install Kernel 4.12 in Ubuntu / Linux Mint:
The mainline kernel PPA has made the binaries for the new kernel release, available for download at the link below:
Depends on your OS type, download and install the packages in turns:
generic for common system, and
lowlatency for a low latency system (e.g. for recording audio),
amd64 for 64bit system,
i386 for 32bit system, or armhf, arm64, etc for other OS types.
To get the Kernel 4.12 from the command console, run the commands below one by one:
For 64-bit OS:
cd /tmp/ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-headers-4.12.0-041200_4.12.0-041200.201707022031_all.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-headers-4.12.0-041200-generic_4.12.0-041200.201707022031_amd64.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-image-4.12.0-041200-generic_4.12.0-041200.201707022031_amd64.deb sudo dpkg -i *.deb
for 32-bit OS:
cd /tmp/ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-headers-4.12.0-041200_4.12.0-041200.201707022031_all.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-headers-4.12.0-041200-generic_4.12.0-041200.201707022031_i386.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12/linux-image-4.12.0-041200-generic_4.12.0-041200.201707022031_i386.deb sudo dpkg -i *.deb
After installed these .debs, restart and enjoy!
Uninstall Linux Kernel 4.12:
Start/restart your machine and select boot with the previous kernel in Grub2 -> Advanced menu. Then use Ubuntu Tweak, or other system tool to remove the Kernel 4.12, or you may see this how to remove old kernels tutorial.