ZorinOS and linux-image-generic-hwe-20.04


I have an issue after re-installing Zorin with a computer on which I frequently use in a dual screen setup.

After reinstall and some updates, I shut the computer down for hours while I was busy. I booted back up tonight and after selecting the default Zorin menu option in the GRUB menu, I get the logo screen and it just hangs forever. I rebooted 2 more times to reproduce this successfully.

  • After booting again into the GRUB menu to choose the alternate kernel, I was able to load the OS finally.

What is the cause of a fresh Zorin install to hang on the logo screen and never load the DE? I saw no errors, just the endless spinning screen with "ZORIN" text across the bottom.

Once the alternate kernel was loaded and I got into the OS finally, I went about trying to make sure everything was upgraded and updated, to include a sudo update-grub command. I did this initially to passively easter-egg a fix for PROBLEM 1 above. While doing this, I plugged in my HDMI cable to put the screen on a bigger display.

  • The external display and the OS would not talk to each other and I can't display anything from the computer onto the bigger screen. There is no issue with the larger screen and/or its software/hardware.
  • I also went about looking at the current NVIDIA driver in-use and it was there in the Additional Drivers section of the Software & Updates window. To throw in another easter-egg check, I switched the NVIDIA driver to an earlier version and I would still not have the HDMI external display show anything from the OS.
    -One screen is fed through HDMI port of the computer. Prior to reinstalling, the display was working and showing what I wanted as a secondary display for the OS.
  • The external display I want is also not shown in the Settings / gnome-control-center application.

What would be causing PROBLEM 2 above? Am I missing something blatantly obvious?

Can someone explain in a comprehensive way how to go about showing the linux-image-generic-hwe-20.04 kernel as an option and setting it to be loaded upon passing the GRUB checks/menu? I have looked everywhere it seems and even still, I can't seem to find a way to get my computer to load the HWE kernel which is indeed available in the repositories after running the command: dpkg --list | grep linux-image .

Please help.

What's uname -a showing?

Generally, I just sudo apt install the kernel, it pulls in dependencies, I reboot, select the kernel I want to use, and that kernel is used thereafter (until I change to a different kernel).

Then do:
sudo apt install --install-recommends linux-generic-hwe-20.04

dpkg --list | grep linux-image

ii  linux-image-5.15.0-58-generic                5.15.0-58.64~20.04.1                        amd64        Signed kernel image generic
ii  linux-image-5.15.0-58-lowlatency             5.15.0-58.64~20.04.1                        amd64        Signed kernel image lowlatency
ii  linux-image-5.15.0-70-lowlatency             5.15.0-70.77~20.04.1                        amd64        Signed kernel image lowlatency

I just installed 5.15.0-70... it boots alright, but the cpu doesn't go all the way down to 400 MHz at idle... I'll play with it and see if I can get it to work. I suspect the CPU governor isn't set correctly.

You can search for the linux-images:
sudo apt search linux-image

Linux omenZ 5.15.0-56-generic #62~20.04.1-Ubuntu SMP Tue Nov 22 21:24:20 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

It's already installed. I had already run dpkg --list | grep linux-image and this is the output:

  • ii linux-image-5.15.0-56-generic 5.15.0-56.62~20.04.1 amd64 Signed kernel image generic
  • ii linux-image-5.15.0-70-generic 5.15.0-70.77~20.04.1 amd64 Signed kernel image generic
  • ii linux-image-generic-hwe-20.04 amd64 Generic Linux kernel image

As seen above, HWE kernel is already installed.

The problem is that I cannot get it to be used/loaded by GRUB on OS start. It always loads the default latest kernel, or if I choose it, the alternate earlier version. Never shows the HWE kernel option to select.

My issue was that I cannot get the HWE kernel to load. The other (earlier) alternate kernel option loads fine. The default latest kernel, however, results in a hanging ZORIN logo screen and never achieves display of DE/Login Screen.

If I'm not mistaken, linux-image-generic-hwe-20.04 is 5.15.0-70:

linux-image-generic-hwe-20.04/focal-updates,focal-security amd64
  Generic Linux kernel image

...so I'd just install that kernel.

sudo apt install linux-image-5.15.0-70-generic

linux-image-5.15.0-70-generic/focal-updates,focal-security,now 5.15.0-70.77~20.04.1 amd64
  Signed kernel image generic

or the low-latency kernel:
sudo apt install linux-image-5.15.0-70-lowlatency

linux-image-5.15.0-70-lowlatency/focal-updates,focal-security,now 5.15.0-70.77~20.04.1 amd64
  Signed kernel image lowlatency

From where does this info originate? And why does my system show a difference between the two kernels linux-image-5.15.0-70-generic 5.15.0-70.77~20.04.1 amd64 Signed kernel image generic and linux-image-generic-hwe-20.04 amd64 Generic Linux kernel image?
If both are installed, logically, should one not be able to use one or the other? Isn't that the purpose of uniquely identifying the kernels with either ...-hwe... and not ...-hwe...? To use one or the other?
If the 5.15.0-70-generic doesn't show ...-hwe... in its name, logic dictates that it is not the kernel with Hardware Enablement...

Desktop installations of 20.04 default to tracking the HWE stack. Server installations will default to the GA kernel and provide the enablement kernel as optional.

If you don't have bleeding-edge hardware (and you're not constantly upgrading your hardware), the two kernels should be functionally identical. HWE just attempts to keep up with the newest hardware releases.

Note that certain desktop machines may be on a separate “OEM” track. To determine if the machine is eligible for this, run the command ubuntu-drivers list-oem from a terminal. If this is non-empty, the machine is running the OEM cadence instead of HWE.

The reason I was asking how to enable the hwe kernel is because my laptop does require some modules that I did not find in the current module loadout. For instance, cooling functions for this specific HP laptop are subpar at best and with no kernel modules/drivers supporting the hardware currently in this particular machine. I was hoping to have found the modules I needed for hp-wmi to effectively cool my machine.