Openai/695cbbc2-66fc-800b-a35b-453e9bf11ccb
This conversation was exported from ChatGPT[1]
gpt-5-2 edit
User: in pop! edit
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
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
Check which kernel is actually running edit
uname -r
You should see:
6.8.12-xxxxCheck which kernels are installed edit
ls /lib/modules
Make sure 6.8.12-... exists here.
Check if headers exist edit
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
Pop!_OS does not automatically install headers for custom kernels.
If your kernel came from Ubuntu mainline: edit
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
You must also download & install the headers .deb from the same source.
Example:
linux-headers-6.8.12-060812-generic_*.debThen:
sudo dpkg -i linux-headers-6.8.12-*.deb
3️⃣ Install build prerequisites (DKMS needs these) edit
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
Now that headers exist, tell DKMS to rebuild.
See current DKMS state edit
dkms status
You’ll probably see something like:
nvidia/550.67, 6.8.12-xxxx, x86_64: added (not built)Force rebuild edit
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
sudo update-initramfs -u -k $(uname -r)
This ensures the newly built modules are actually loaded at boot.
6️⃣ Reboot edit
sudo reboot
7️⃣ Post-flight verification edit
After reboot:
Check kernel edit
uname -r
Check DKMS edit
dkms status
Should now say:
installedCheck driver loaded (example: NVIDIA) edit
nvidia-smi
or for any module:
lsmod | grep <module>
Why this happens (the physics under the hood) edit
DKMS is basically a robot that:
- Finds /lib/modules/<kernel>/build
- Uses headers from /usr/src/linux-headers-<kernel>
- 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
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
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
- ↑ "Pop!_OS DKMS Kernel Update". ChatGPT. Retrieved 2026-01-07.