Chapter 33. Direct Rendering Manager Kernel Modesetting (DRM KMS)

Table of Contents Known Issues

The NVIDIA GPU driver package provides a kernel module, nvidia-drm.ko, which registers a DRM driver with the DRM subsystem of the Linux kernel. The capabilities advertised by this DRM driver depend on the Linux kernel version and configuration:

PRIME: This is needed to support graphics display offload in RandR 1.4. Linux kernel version 3.13 or higher is required, with CONFIG_DRM enabled.

Atomic Modeset: This is used for display of non-X11 based desktop environments, such as Wayland and Mir. Linux kernel version 4.1 or higher is required, with CONFIG_DRM and CONFIG_DRM_KMS_HELPER enabled.

NVIDIA's DRM KMS support is still considered experimental. It is disabled by default, but can be enabled on suitable kernels with the 'modeset' kernel module parameter. E.g.,

modprobe -r nvidia-drm ; modprobe nvidia-drm modeset=1

Applications can present through NVIDIA's DRM KMS implementation using any of the following:

The DRM KMS "dumb buffer" mechanism to create and map CPU-accessible buffers: DRM_IOCTL_MODE_CREATE_DUMB, DRM_IOCTL_MODE_MAP_DUMB, and DRM_IOCTL_MODE_DESTROY_DUMB.

Using the EGL_EXT_device_drm, EGL_EXT_output_drm, and EGL_EXT_stream_consumer_egloutput EGL extensions to associate EGLStream producers with specific DRM KMS planes.