Home

DKMS

Dynamic Kernel Module Support (DKMS) is a framework and set of tools that automates the building and installation of kernel modules for multiple kernel versions. It enables out-of-tree modules to be compiled against new kernels without requiring manual intervention, and is widely used for drivers and other kernel extensions that are not part of the main kernel.

A module’s source is placed in /usr/src/<name>-<version> with a dkms.conf file describing the module, its version,

In practice, DKMS is used by many Linux distributions and by third-party installers to support drivers such

Requirements and limitations include having the kernel headers and development tools installed, and some modules may

supported
kernels,
and
build
steps.
The
dkms
utility
can
add,
build,
and
install
the
module
for
a
given
kernel
(for
example:
dkms
add
-m
name
-v
version,
dkms
build
-v
version
-k
kernel,
dkms
install
-m
name
-v
version
-k
kernel).
When
a
new
kernel
is
installed,
the
system
can
automatically
rebuild
affected
modules
so
they
load
under
the
new
kernel.
Built
modules
are
installed
into
the
appropriate
kernel
module
directory
and
loaded
with
modprobe.
as
NVIDIA,
VirtualBox,
VMware,
and
several
wireless
devices.
It
helps
maintain
module
compatibility
after
kernel
upgrades
and
across
multiple
installed
kernels,
reducing
the
need
for
manual
rebuilds
and
reinstallation.
not
be
provided
in
DKMS
form.
Closed-source
drivers
may
impose
redistribution
constraints.
DKMS
remains
a
widely
supported
component
in
Linux
distributions
and
is
compatible
with
major
kernel
versions,
contributing
to
smoother
kernel
module
maintenance
across
updates.