Introducing Kernel 6.8 for the 24.04 Noble Numbat Release

The current tentative target kernel for the upcoming Ubuntu release 24.04 (Noble Numbat) is 6.8.

Deadlines (Noble Numbat Release Schedule):

  • 2024-03-28T00:00:00Z: kernel feature freeze

  • 2024-04-01T00:00:00Z: beta freeze

  • 2024-04-11T00:00:00Z: kernel freeze

  • 2024-04-18T00:00:00Z: final freeze

  • 2024-04-25T00:00:00Z: final release

An experimental build of the latest Ubuntu Noble kernel based on the latest 6.8-rc* is available in ppa:canonical-kernel-team/unstable (Unstable Kernel Builds : “Canonical Kernel Team” team), this kernel will be updated weekly, until it will replace the main kernel in 24.04.

Warning: this kernel is still experimental for now, use at your own risk!

What’s new in 6.8 (most noticeable changes)

NOTE: the following sections will be periodically updated as new features are merged or issues are resolved.

Upstream changes (WIP):

Ubuntu-specific changes (WIP):

Open issues (WIP):

  • Fix the build of all the supported nvidia drivers (dkms)

Additional non-upstream features that we may consider for inclusion (WIP):

14 Likes

Upgraded my Noble to Kernel: 6.8.0-060800rc1-generic
but firefox snap does not start, rebooting with old kernel firefox works again.

corrado@corrado-n9-nn-1210:~$ snap run firefox
snap-update-ns killed by signal 11
corrado@corrado-n9-nn-1210:~$ sudo snap refresh
[sudo] password for corrado: 
All snaps up to date.
corrado@corrado-n9-nn-1210:~$ snap run snap-store
snap-update-ns killed by signal 11
corrado@corrado-n9-nn-1210:~$ inxi -SCMxc
System:
  Host: corrado-n9-nn-1210 Kernel: 6.8.0-060800rc1-generic arch: x86_64
    bits: 64 compiler: N/A Desktop: GNOME v: 45.3 Distro: Ubuntu 24.04 (Noble
    Numbat)
Machine:
  Type: Desktop System: Gigabyte product: H510M H v: -CF
    serial: <superuser required>
  Mobo: Gigabyte model: H510M H v: x.x serial: <superuser required>
    UEFI: American Megatrends LLC. v: F14 date: 03/25/2022
CPU:
  Info: 6-core model: 11th Gen Intel Core i5-11400 bits: 64 type: MT MCP
    arch: Rocket Lake rev: 1 cache: L1: 480 KiB L2: 3 MiB L3: 12 MiB
  Speed (MHz): avg: 800 min/max: 800/4400 cores: 1: 800 2: 800 3: 800 4: 800
    5: 800 6: 800 7: 800 8: 800 9: 800 10: 800 11: 800 12: 800 bogomips: 62208
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
corrado@corrado-n9-nn-1210:~$ sudo snap refresh firefox
[sudo] password for corrado: 
snap "firefox" has no updates available
corrado@corrado-n9-nn-1210:~$ 
1 Like

Have you tried the 6.8 from ppa:canonical-kernel-team/unstable? We don’t officially support/test the mainline kernel builds (they are provided just for debugging purposes).

Kernels from the unstable ppa (as the name suggests) are also not completely stable, but usually they provide better support for Ubuntu-specific features, such as snap.

I know those kernels are not stable but I thought I was doing a useful thing by reporting the problem.

2 Likes

It’s not on your list -

Is Bug #1965303 “Migrate from fbdev drivers to simpledrm and DRM fb...” : Bugs : linux package : Ubuntu going to happen?

1 Like

Thanks for pointing that out. The tracking bug doesn’t explicitly target Noble, but it looks like it should. I’ll double check to make sure that we can include this in the Noble kernel.

4 Likes

Mainline is missing some apparmor patches that break snaps (another reason why we do not recommend using mainline builds) this is known and only fixed once these patches have been accepted upstream eventually

2 Likes

Hi,

The 6.8.0-4.4 ppa unstable build is working fine on most of my test machines.
I did notice a few wireless devices were not working due to missing kernel modules. I then found all the realtek modules are missing.

Could you please check why the realtek modules did not build ?
/lib/modules/kernel/net/wireless/realtek in linux-modules-extra 6.8.0-4.4 deb

Note same path above has all the realtek modules with the 6.6.0-14.14 stable linux-modules-extra deb.

Thanks!

Hi @thetick thanks for testing it! Weird… I see the realtek modules in modules-extra, for example:

# dpkg -S /lib/modules/6.8.0-4-generic/kernel/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko.zst 
linux-modules-extra-6.8.0-4-generic: /lib/modules/6.8.0-4-generic/kernel/drivers/net/wireless/realtek/rtlwifi/rtlwifi.ko.zst

Can you double check if modules-extra is installed?

1 Like

Yes the kernel modules exists as I was looking at the wrong path. Oh very sorry I did not investigate the problem throughly. So my wifi driver problem appears to be symbol mismatch between kernel system map and rtlwifi module in the extra deb package :

[   25.971486] rtlwifi: disagrees about version of symbol ieee80211_connection_loss
[   25.971513] rtlwifi: Unknown symbol ieee80211_connection_loss (err -22)
[   25.971573] rtlwifi: disagrees about version of symbol ieee80211_start_tx_ba_session
[   25.971579] rtlwifi: Unknown symbol ieee80211_start_tx_ba_session (err -22)
[   25.971612] rtlwifi: disagrees about version of symbol ieee80211_rate_control_unregister
[   25.971618] rtlwifi: Unknown symbol ieee80211_rate_control_unregister (err -22)
[   25.971645] rtlwifi: disagrees about version of symbol ieee80211_get_hdrlen_from_skb
[   25.971651] rtlwifi: Unknown symbol ieee80211_get_hdrlen_from_skb (err -22)
[   25.971679] rtlwifi: disagrees about version of symbol ieee80211_find_sta
[   25.971685] rtlwifi: Unknown symbol ieee80211_find_sta (err -22)
[   25.971696] rtlwifi: disagrees about version of symbol ieee80211_handle_wake_tx_queue
[   25.971702] rtlwifi: Unknown symbol ieee80211_handle_wake_tx_queue (err -22)
[   25.971717] rtlwifi: disagrees about version of symbol ieee80211_tx_status_irqsafe
[   25.971723] rtlwifi: Unknown symbol ieee80211_tx_status_irqsafe (err -22)
[   25.971754] rtlwifi: disagrees about version of symbol cfg80211_put_bss
[   25.971759] rtlwifi: Unknown symbol cfg80211_put_bss (err -22)
[   25.971782] rtlwifi: disagrees about version of symbol ieee80211_stop_tx_ba_cb_irqsafe
[   25.971787] rtlwifi: Unknown symbol ieee80211_stop_tx_ba_cb_irqsafe (err -22)
[   25.971810] rtlwifi: disagrees about version of symbol wiphy_to_ieee80211_hw
[   25.971815] rtlwifi: Unknown symbol wiphy_to_ieee80211_hw (err -22)
[   25.971851] rtlwifi: disagrees about version of symbol wiphy_apply_custom_regulatory
[   25.971856] rtlwifi: Unknown symbol wiphy_apply_custom_regulatory (err -22)
[   25.971877] rtlwifi: disagrees about version of symbol ieee80211_rate_control_register
[   25.971882] rtlwifi: Unknown symbol ieee80211_rate_control_register (err -22)
[   25.971947] rtlwifi: disagrees about version of symbol wiphy_rfkill_set_hw_state_reason
[   25.971953] rtlwifi: Unknown symbol wiphy_rfkill_set_hw_state_reason (err -22)
[   25.971969] rtlwifi: disagrees about version of symbol wiphy_rfkill_start_polling
[   25.971974] rtlwifi: Unknown symbol wiphy_rfkill_start_polling (err -22)
[   25.971995] rtlwifi: disagrees about version of symbol freq_reg_info
[   25.972000] rtlwifi: Unknown symbol freq_reg_info (err -22)
[   25.972035] rtlwifi: disagrees about version of symbol ieee80211_resume_disconnect
[   25.972041] rtlwifi: Unknown symbol ieee80211_resume_disconnect (err -22)
[   25.972061] rtlwifi: disagrees about version of symbol ieee80211_beacon_get_tim
[   25.972066] rtlwifi: Unknown symbol ieee80211_beacon_get_tim (err -22)
[   25.972119] rtlwifi: disagrees about version of symbol __cfg80211_get_bss
[   25.972125] rtlwifi: Unknown symbol __cfg80211_get_bss (err -22)
[   25.972142] rtlwifi: disagrees about version of symbol cfg80211_unlink_bss
[   25.972147] rtlwifi: Unknown symbol cfg80211_unlink_bss (err -22)
[   25.972174] rtlwifi: disagrees about version of symbol ieee80211_rx_irqsafe
[   25.972179] rtlwifi: Unknown symbol ieee80211_rx_irqsafe (err -22)

1 Like

Sorry about my ignorance about installing kernels from ppa, but do you need to regenerate the extra modules and or the kernel depends as the debs are out of sync? I usually use mainline or build from source.

1 Like

Yes, all the out-of-tree kernel modules (such as dkms) need to be re-installed / re-built when you move to a new kernel, because the kernel ABI is different. Keep in mind that with linux-unstable 6.8 at the moment most of the dkms are potentially broken, we still need to test and fix all of them.

1 Like

For the Ubuntu mainline kernels, at least for the 6.8-rc series, would you consider to make the kernel configuration the same as what is being proposed for 24.04 kernels?

It doesn’t really matter for me, because I compile my own kernels, but many testers/debuggers don’t.
The mainline kernel compile for amd64 broke again for kernel 6.8-rc2, but for 6.8-rc1 I think the kernel configuration differences would be (edited to remove some that make it work for me):

doug@s19:/media/nvme/home/doug/kernel/linux$ scripts/diffconfig .config-6.8.0-060800rc1-generic .config
 HZ 250 -> 1000
 HZ_1000 n -> y
 HZ_250 y -> n
 LATENCYTOP n -> y
 NO_HZ_FULL n -> y
 NO_HZ_IDLE y -> n
 PREEMPT n -> y
 PREEMPT_VOLUNTARY y -> n
 TICK_CPU_ACCOUNTING y -> n
 VIRT_CPU_ACCOUNTING_GEN n -> y
+CONTEXT_TRACKING_USER y
+CONTEXT_TRACKING_USER_FORCE n
+RCU_LAZY y
+RCU_NOCB_CPU y
+RCU_NOCB_CPU_DEFAULT_ALL y
+VIRT_CPU_ACCOUNTING y

The mainline builds inherit the config from the latest linux-unstable kernel, so if we decide to apply that “lowlatency” change the mainline builds will also have it.

With the mainline kernel 6.8.0-060800rc3-generic Firefox and snap-store start and work normally.

1 Like