The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and perform operations such as configuring the mode setting of the display. DRM was first developed as the kernel-space component of the X Server Direct Rendering Infrastructure, but since then it has been used by other graphic stack alternatives such as Wayland.
User-space programs can use the DRM API to command the GPU to do hardware-accelerated 3D rendering and video decoding, as well as GPGPU computing.
Mode setting is a software operation that activates a display mode (screen resolution, color depth, and refresh rate) for a computer’s display controller by using VESA BIOS Extensions or UEFI Graphics extensions (on more modern computers).
The display mode is set by the kernel. In user-space mode-setting (UMS), the display mode is set by a user-space process.
Kernel mode-setting is more flexible and allows displaying of an error in the case of a fatal system error in the kernel, even when using a user-space display server.
User-space mode setting would require superuser privileges for direct hardware access, so kernel-based mode setting shuns such requirement for the user-space graphics server.
I’ve just tried it out and I was amazed by how nice it works (in comparison to the built-in kernel VT).
The few features I found compelling to me were:
dvorak
;)JetBrains Mono NL
everywhere;)I found only two problems:
kmscon
to exit itself; (it just restarts that process in a loop;)If one wants to quickly try it, here is how I did it (it requires
root
I’m afraid, else you couldchown
the TTY to the intended user):Too bad it hasn’t been updated in 8 years. I had a lot of high hopes for this back in the day. Are there any active forks?
This fork, https://github.com/Aetf/kmscon, seems fairly active, also chromeos forked it for its own use, https://chromium.googlesource.com/chromiumos/platform/frecon/
What is kernel mode setting and DRM?
By the way of Wikipedia leading paragraphs
DRM is Direct Rendering Manager:
KMS is Kernel Mode Setting: