Choosing and installing kernels

Are you running the best kernel for your hardware?

The kernel can be seen as the engine of the Linux OS - it contains nearly all of the drivers for your hardware. KXStudio 12.04.3 runs the 3.8.0-32-lowlatency kernel by default. This kernel will be fine for most people but, most significantly for users of an audio-centric distro, you may not be able to run JACK with optimal settings if you are using USB audio devices such as the Focusrite Scarlett family of USB devices, for example.

Both during and before Linux 3.5 as well as since kernel 3.11, JACK runs happily with a buffer size of 64 @ 3 periods/buffer @ 48Khz on the Scarlett USB devices, giving a low JACK latency but under the 3.8 kernels you're likely to find you cannot start JACK at a buffer size less than 1024 with such USB hardware. Users of PCI, integrated and FireWire audio devices need not concern themselves with this and it also seems that not all USB audio devices have issues with 3.8 so in many cases you won't know which kernel you need until you have tested your USB audio devices.

Another notable difference between the kernels currently available from the KXStudio repositories is the greatly improved performance of the open source AMD/ATI Radeon drivers within 3.11 and later kernels due to the kernel and the FLOSS Radeon drivers gaining support for re-clocking the AMD GPUs so they can run at full speed. I have not personally verified this myself yet and I suspect it may also involve updating Xorg and Mesa using PPA's that are not included with or supported by KXStudio or Canonical.

Intel graphics users need not worry about installing the 3.11 kernel but at the time of writing the Nvidia drivers available in the Ubuntu Precise repos do not support kernel 3.11. This may also be the case for some ATi/AMD Catalyst users. Nvidia 3.11 users must use at least driver version 331.20+ so it is recommended that Nvidia and ATi users who want to fully utilise their hardware wait for newer, 3.11 compatible graphics drivers to make it into the Ubuntu repositories before upgrading. The updated drivers are expected to be available from the repos by March 2014.

Installing a kernel and its headers

When you install alternate kernels, it is important to also install the matching headers package. The kernel headers enable you to compile the kernel modules when installing the non-free Nvidia or AMD graphics drivers and these kernel modules are required to use the non-free graphics drivers. You can search for, install and remove kernels the same as any other package - with Muon, Synaptic or from the command line but its the latter we'll demonstrate here because its the easiest to document.

This command will install the KXStudio 3.5.0-42-lowlatency Linux kernel and its headers:

sudo apt-get install linux-image-3.5.0-42-lowlatency linux-headers-3.5.0-42-lowlatency

Testing kernels

After installing a new kernel you must reboot and in many cases you will want to manually select the new kernel to boot into. Your GRUB boot menu settings are usually updated when you install a new kernel but GRUB doesn't always correctly pick the kernel you want to boot by default.

To temporarily boot into a kernel that is not set as GRUB's default you have to hold the left SHIFT key when KXStudio starts booting. This should interrupt the usual boot procedure to display the GRUB menu which lets you use the arrow keys to select a the kernel or OS to boot.

You can verify the currently running kernel by looking at the System Checks within Cadence's main window or by running:

uname -a

In a terminal such as Konsole.

Changing GRUB's default kernel

We've already recommended Grub Customizer within this manual and, if you ignore the requirement of having to add its PPA to install it, GC is arguably the easiest way to modify your GRUB settings but there is no need to install it if all you want to do is change the kernel or OS that you want GRUB to boot by default.

To adjust GRUB so that it boots the 3.5.0-42-lowlatency kernel instead of the default 3.8.0-32-lowlatency, you'd run:

kdesudo kate /etc/default/grub

Change 'GRUB_DEFAULT=' from 0 to 2. Changing it to 2 means GRUB will boot the third option listed in the GRUB menu, which is normally the first kernel listed in GRUB's 'Previous Linux versions' sub-menu. After saving the change you will need to run:

sudo update-grub
sudo grub-install /dev/sda

Then reboot to test your new GRUB settings!

wiki/choosing_and_installing_kernels.txt ยท Last modified: 2013/11/18 20:46 by danboid