The Canonical Kernel, what does it contribute?
When we install Ubuntu from scratch, it comes with a modified kernel and optimized with Canonical. It is the company itself that is responsible for maintaining it, applying patches when a bug or vulnerability appears and launching the different updates during the life cycle of the distro.
By default, the kernel that installs us is the «generic«, A version of it intended for general use. However, if we have special needs, Canonical has different versions of its own kernel so that we can easily install them with one command. The main ones are:
- lowlatency: a kernel with very low latencies specially designed for processing audio.
- kvm– Intended for virtualized instances with this hypervisor.
- raspi2: kernel designed for the Raspberry Pi 2.
- snapdragon: kernel designed for devices that use this type of ARM CPUs.
- OEM: version specially designed for certain projects.
- xx-hwe: “Hardware Enablement” kernel to work with the latest hardware. We can find this version for both the «generic» and the «lowlatency».
Among others, the main advantages that we obtain when using this type of cores are, on the one hand, a series of optimizations and settings applied by Canonical in the kernel to improve its operation, and on the other the peace of mind of forgetting to update to new versions, since these will arrive through APT, like the rest of the system patches.
However, the main drawback is that we will never be up to date. When Canonical releases a new version of Ubuntu, it comes with a kernel one or two versions behind the last one. Which prevents us from enjoying the latest kernel improvements for at least 6 months.
Why switch to an original kernel?
Although Ubuntu comes with its own kernel, that does not prevent us from installing the version of the original kernel that we want ourselves. We can download the code and compile it directly on our PC, or use a program like Mainline to download and install the latest kernel on our PC.
The advantages of this are varied. For example, it allows us to be up to date, enjoy the latest improvements implemented in the kernel, and even continue using a specific version of Ubuntu despite being without support without taking risks. By manually updating the kernel, and packages, we can turn our Canonical distro into a kind of “Rolling Release”.
However, we may also run into some problems. For example, as these versions are not checked by Canonical, it is possible that we run into an error. And, in addition, we will not have the improvements and optimizations that come standard in the Canonical «generic» version. It also forces us to be a little more aware of the updates, which we must install by hand.
Which is better?
The truth is that the safest thing is that we will not notice any change, neither for better nor for worse. Canonical’s generic core is enough so most people can use Ubuntu without any problem. And, if we are one of those who have the latest hardware, and it is not yet supported by this generic, we can install the generic-hwe to have support for the latest drivers. If we do not have special needs, and we do not want to complicate ourselves, this is the best we can use.
On the contrary, if we want have the latest features kernel (like, for example, the new improved driver for NTFS) and we do not want to wait 6 months for the next version of Ubuntu, so the best we can do is install the original version of the Linux kernel by hand. Of course, knowing what we are doing and taking care, from then on, of all related maintenance tasks.