Skip to content

Instantly share code, notes, and snippets.

@tomreyn
Last active August 10, 2021 23:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tomreyn/8d7675840d7bc7389b32e4d8887ca449 to your computer and use it in GitHub Desktop.
Save tomreyn/8d7675840d7bc7389b32e4d8887ca449 to your computer and use it in GitHub Desktop.
Ubuntu HWE and GA stacks

Ubuntu HWE and GA stacks

Table of contents

What is Ubuntu LTS?

Ubuntu LTS stands for Long Term Support (release). These Ubuntu versions are released every two (even) years in April (the latest is 20.04 by the time of writing).

What is the HWE stack?

HWE stands for Hardware Enablement. It is a set of updated software versions which enable Ubuntu LTS releases to run on newer hardware - which may need drivers only released after this Ubuntu LTS release was originally made available. The LTS 'stack' primarily consists of the Linux kernel - and thus a lot of Kernel modules (drivers) - but may also contain other components.

Other than the original Ubuntu 20.04.0 released in April 2020, all later ('refreshed') Ubuntu 20.04.x desktop installers (which you would download nowadays) use the HWE stack by default. The idea here is to support newer hardware during the lifetime of a long term support release, by occasionally upgrading the kernel (and possibly other software) to newer releases. This rule applies to Ubuntu Desktop only - server installers would actually ask whether or not you want to run HWE.

(Only) the latest HWE stack has full security support during the lifetime of an Ubuntu release (or until a newer stack version is released - which Ubuntu would install with other software updates). At the time of writing, the Ubuntu 20.04 LTS HWE stack provides a 5.11 Linux kernel.

The HWE stack is sometimes also referred to as LTSE, meaning Long Term Support Enablement.

What is the GA stack?

GA stands for General Availability. It is a set of software versions which were provided when an Ubuntu LTS release was originally made available. It may not support the latest hardware, or any hardware released after the original release date of this Ubuntu LTS release (April 2020 in case of Ubuntu 20.04 LTS).

The GA stack will be supported during the full lifetime of the Ubuntu release. The Ubuntu 20.04 LTS GA stack provides a 5.4 Linux kernel - and always will. It does get security patches backported to this Linux version, though, so there is no need to worry about running an seemingly outdated kernel here.

Which one should I be using, GA or HWE?

It depends. Most of the time, you will do fine with HWE, especially if you have just hardware components whose manufacturers are providing good Linux drivers for, which are part of the Linux kernel. Especially if you have newly released hardware, you will often want HWE.

If, however, you (also) have hardware components which depend on "out of tree" drivers (those built with "dkms") such as the nvidia proprietary graphics driver or some Wireless, Ethernet and Bluetooth components, or if you have really old (10+ years) hardware, you may prefer the GA stack. (Where possible, support for such 'tricky' hardware will also be added to HWE stack, but there can periods where it does not work well with HWE.)

How do I check what I have now?

This lists which Linux meta packages you have installed:

apt list --installed linux-image-generic linux-image-generic-hwe-*

If there is a package installed whose name starts with linux-image-generic-hwe- then you are tracking the HWE stack (and are most likely running a HWE kernel already). Otherwise, if you have only the linux-image-generic package installed, you are tracking the GA stack. If neither is installed, then something went wrong on your system, and you should actually install one of these packages to either track the GA or HWE stack:

  apt list linux-image-generic linux-image-generic-hwe-$(lsb_release -sr)

(This command does not install these packages, it just lists which ones are available.)

How do I switch from the HWE to the GA stack?

sudo apt update && sudo apt install --install-recommends --autoremove --purge linux-image-generic-hwe-*- linux-image-generic

Note: If your Ubuntu releases' HWE stack includes packages other than just the kernel, these will need to be replaced as well - get support with this on IRC!

How do I switch from the GA to the HWE stack?

sudo apt update && sudo apt install --install-recommends --autoremove --purge linux-image-generic- linux-image-generic-hwe-$(lsb_release -sr)

Note: If your Ubuntu releases' HWE stack includes packages other than just the kernel, these will need to be replaced as well - get support with this on IRC!

Where can I get more, and official, information on this?

Where can I get support with this and other Ubuntu topics?

Commercial support is available at https://ubuntu.com/support.

Volunteers provide free community support via IRC and other support channels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment