Jump to content

Openai/695cbbc2-66fc-800b-a35b-453e9bf11ccb

From freem


This conversation was exported from ChatGPT[1]

gpt-5-2[edit | edit source]

User: in pop![edit | edit source]

in pop! OS

how do I Hey guys. How to update driver in to new kernel? Like I install Ubuntu pop os and install new kernel. But if I update driver using new kernel 6.8.12 it's get error say dkms not configure to this kernel.

Assistant: Pop!OS + custom kernels + DKMS is one of those places where Linux stops being a pet and turns into a dragon.[edit | edit source]

Pop!_OS + custom kernels + DKMS is one of those places where Linux stops being a pet and turns into a dragon. Let’s tame it methodically. 🐉

You’re seeing:

“dkms not configured for this kernel”
after installing kernel 6.8.12 and then trying to rebuild a driver (usually NVIDIA, VirtualBox, ZFS, or some Wi-Fi module).

That error is not mystical. It means:

DKMS cannot find headers + build tools for that kernel, so it refuses to compile the module.

Let’s walk this as an engineer would: verify → fix prerequisites → rebuild → verify again.

I’ll assume Pop!_OS 22.04-based and kernel 6.8.12 is already installed.

1️⃣ Pre-flight: verify the situation[edit | edit source]

Check which kernel is actually running[edit | edit source]
uname -r

You should see:

6.8.12-xxxx
Check which kernels are installed[edit | edit source]
ls /lib/modules

Make sure 6.8.12-... exists here.

Check if headers exist[edit | edit source]
ls /usr/src | grep 6.8.12

If nothing shows up, DKMS has nothing to compile against — that’s the core problem.

2️⃣ Install the matching kernel headers[edit | edit source]

Pop!_OS does not automatically install headers for custom kernels.

If your kernel came from Ubuntu mainline:[edit | edit source]
sudo apt install linux-headers-6.8.12-*

If that fails:

sudo apt search linux-headers-6.8.12

Then install the exact package name it shows.

If you manually installed .deb files:[edit | edit source]

You must also download & install the headers .deb from the same source.

Example:

linux-headers-6.8.12-060812-generic_*.deb

Then:

sudo dpkg -i linux-headers-6.8.12-*.deb

3️⃣ Install build prerequisites (DKMS needs these)[edit | edit source]

sudo apt install build-essential dkms linux-headers-$(uname -r)

Yes, even if you installed headers manually — this ensures toolchains are present.

4️⃣ Reconfigure DKMS[edit | edit source]

Now that headers exist, tell DKMS to rebuild.

See current DKMS state[edit | edit source]
dkms status

You’ll probably see something like:

nvidia/550.67, 6.8.12-xxxx, x86_64: added (not built)
Force rebuild[edit | edit source]
sudo dkms autoinstall -k $(uname -r)

or for a specific module:

sudo dkms install -m <module> -v <version> -k $(uname -r)

Example for NVIDIA:

sudo dkms install -m nvidia -v 550.67 -k $(uname -r)

5️⃣ Rebuild initramfs (important)[edit | edit source]

sudo update-initramfs -u -k $(uname -r)

This ensures the newly built modules are actually loaded at boot.

6️⃣ Reboot[edit | edit source]

sudo reboot

7️⃣ Post-flight verification[edit | edit source]

After reboot:

Check kernel[edit | edit source]
uname -r
Check DKMS[edit | edit source]
dkms status

Should now say:

installed
Check driver loaded (example: NVIDIA)[edit | edit source]
nvidia-smi

or for any module:

lsmod | grep <module>

Why this happens (the physics under the hood)[edit | edit source]

DKMS is basically a robot that:

  1. Finds /lib/modules/<kernel>/build
  2. Uses headers from /usr/src/linux-headers-<kernel>
  3. Compiles the module against that ABI

If step 2 is missing → DKMS refuses.

Pop!_OS normally ships kernels + headers together — but custom kernels break that assumption, so DKMS sulks.

TL;DR Fix[edit | edit source]

sudo apt install linux-headers-6.8.12-* build-essential dkms
sudo dkms autoinstall -k $(uname -r)
sudo update-initramfs -u -k $(uname -r)
sudo reboot
A final philosophical note 😄[edit | edit source]

The kernel is the skeleton of the OS. DKMS is the immune system. If you transplant a new skeleton but forget to update the immune system’s reference anatomy, it panics and refuses to attach the organs.

That’s all that’s happening here.

If you tell me which driver is failing (NVIDIA, VirtualBox, ZFS, Realtek Wi-Fi, etc.), I can tune the exact module commands so it compiles cleanly the first time instead of arguing with the dragon. 🐲

References[edit | edit source]

  1. "Pop!_OS DKMS Kernel Update". ChatGPT. Retrieved 2026-01-07.