306

I see the linux-hwe-generic package as part of the kernels you can install in Ubuntu.

What is hardware enablement (HWE)?

Jorge Castro
  • 71,754
nelaaro
  • 10,028

2 Answers2

323

Brand new hardware devices are released to the public always more frequently. And we want such hardware to be always working on Ubuntu, even if it has been released after an Ubuntu release. Six months (the time it takes for a new Ubuntu release to be made) is a very long period in the IT field. Hardware Enablement (HWE) is about that: catching up with the newest hardware technologies.

Now, how does Ubuntu want to reach the goal of Hardware Enablement? Using rolling releases for the kernel: as soon as a new kernel is released, it is packaged for Ubuntu, tested (via the proposed pocket and special Q/A methodologies), and made available to Ubuntu users. This method has of course some disadvantages: releasing a new kernel too quickly may introduce some bugs and issues, and may not be suitable for the enterprise.

The solution? Offering different kernels for different users. Therefore Ubuntu will offer at least two kernels: the General Availability (GA) kernel, i.e. the most stable kernel, which does not get updated to point releases; and the Hardware Enablement (HWE) kernel, i.e. the most recent kernel released. This is why you are seeing both the linux-generic and the linux-generic-hwe packages.

Finally, if you are interested in developing or testing the newest kernel technologies, look at the Ubuntu Hardware Debugging web site.

References:

Melebius
  • 11,431
  • 9
  • 52
  • 78
  • 6
    Do you happen to know if there's a more current link describing the different kernel flavors? Currently a bit stumped between linux-generic, linux-current-generic, linux-generic-lts- in precise lts – Michael Renner Jun 24 '15 at 14:11
  • Did this stop before Ubuntu 18.04? Ubuntu 18.04 contains transitional package linux-generic-hwe-16.04 which just depends on linux-generic. – Stéphane Gourichon May 29 '18 at 15:34
  • How do I see or choose which kernel is actually being used in my system? uname -r simply results: 4.15.0-24-generic – w-sky Jul 21 '18 at 12:01
  • @StéphaneGourichon If you are using the 16.04 HWE stack, the kernel will keep rolling until the next LTS, which in this case is 18.04. After that, you will stay with the LTS kernel until 16.04 reaches EOL. – Anthony Wong Sep 06 '18 at 09:26
  • 1
    @w-sky You can check the BOOT_IMAGE parameter in /proc/cmdline. Run this command to find out the package name: sed 's/^BOOT_IMAGE=\([^ ]*\) .*/\1/' /proc/cmdline | sed 's/.efi.signed//' | xargs dpkg -S. – Anthony Wong Sep 06 '18 at 09:44
  • Thanks for this! I was just trying to set up a LAMP stack to install zoneminder, and have it be ran wireless. Come to find out that I couldnt setup my new server install with wireless for some reason, but following your answer did the trick! Although, I do find that the Subiquity installer is better, other than the wireless thing! Thanks again! – DPS Sep 12 '19 at 19:31
  • Does the HWE enable things like new ethernet chips, PCIe adapters and graphics cards only? Or is useful for new USB devices and peripherals as well? – Silicomancer Sep 29 '20 at 08:31
  • @Siliconmancer it can be useful for usb devices as well. In general, it can be useful for anything that is supported by the kernel – Andrea Corbellini Sep 29 '20 at 12:15
29

Ubuntu 16.04 and later

The 18.04.2 and newer point releases will ship with an updated kernel and X stack by default for the desktop. Server installations will default to the General Availability (GA) kernel and provide the Hardware Enablement (HWE) kernel as optional. If you install the Hardware Enablement kernel, you also have to remove the GA kernel packages or else you'll keep getting updates for both.

The 18.04 HWE Stacks will follow a new Rolling Update Model as documented at Ubuntu Rolling LTS Enablement Stack wiki.

Installing the HWE stack is simple.

22.04-24.04

sudo apt install linux-generic-hwe-22.04

20.04-22.10

sudo apt install linux-generic-hwe-20.04

16.04/18.04

Desktop

sudo apt install linux-generic-hwe-"`lsb_release -r -s`" xserver-xorg-hwe-"`lsb_release -r -s`" 

Server

sudo apt install linux-generic-hwe-"`lsb_release -r -s`" 

Source: revised from Ubuntu LTS Enablemen Stack wiki

karel
  • 114,770
  • What about xserver-xorg-hwe? The link you posted lists that as a recommnedation for desktops as well. – Silicomancer Sep 29 '20 at 08:28
  • 1
    Also the given link does not mention a 20.04 HWE at all, where did you get that information? – Silicomancer Sep 29 '20 at 08:35
  • 3
    The wiki that I linked to as a source is not up-to-date. I noticed that it wasn't up-to-date, so I updated it myself. That's why I did not provide an external source for the updated information because I am the source. – karel Sep 29 '20 at 08:46
  • E: Unable to locate package xserver-xorg-hwe-20.04 E: Couldn't find any package by glob 'xserver-xorg-hwe-20.04

    VERSION="20.04.2 LTS (Focal Fossa)" :(

    – nd34567s32e Aug 14 '21 at 18:53
  • 1
    @nd34567s32e Thanks for the heads up. I corrected my answer. – karel Aug 15 '21 at 01:03
  • 1
    @karel, a minor change, ubuntu version should be "20.04 and later" for linux-generic-hwe-20.04, just tested in my laptop – Diego Rodríguez Aug 30 '21 at 08:25
  • @DiegoRodríguez Right you are. – karel Aug 30 '21 at 08:27
  • 1
    In my experience, you also have to remove the GA kernel packages. Else you keep getting updates for both. See https://askubuntu.com/a/885582/243321 – Organic Marble Aug 04 '23 at 12:12
  • Is "--install-recommends" really useful? As far as I know it is the default behavior. – Étienne Feb 03 '24 at 14:12
  • @karel your latest edit does not make sense. The name of the package will change for 24.04. – Étienne Feb 03 '24 at 14:13
  • I checked the name of the package in 24.04 before editing. I also removed the --install-recommends option because it's the default behavior for the apt install command. . – karel Feb 03 '24 at 14:18