is turning out to be a successful and interesting project with high ambitions of being the leading terminal emulator for Linux while running from user-space.
Back in March was when I first talked about KMSCON as a DRM-based terminal emulator
when the developer, David Herrmann, was inspired by Jesse Barnes' guide to hacking with EGL and KMS
KMSCON is built upon the Linux kernel APIs for kernel mode-setting provided by the Direct Rendering Manager drivers for frame-buffer access to all displays as well as hot-plugging support with the DRM drivers through udev.
KMSCON runs from user-space and draws a VT220/VT102-compatible terminal emulator as a replacement to the kernel console or xterm. KMSCON's leveraging of the DRM/KMS APIs and udev provides full hot-plug support along with automatically detecting all displays. The open-source terminal emulator is also multi-seat capable and its only hard build dependency is on libudev -- it doesn't need an X.Org Server, Wayland, DirectFB, or anything else. For better font rendering, there is an optional Pango font renderer.
Another optional dependency to KMSCON is Mesa, which when built with DRM EGL support can provide hardware-accelerated console rendering. Acceleration is done via OpenGL ES 2.0 and EGL with KMSCON for hardware acceleration and anti-aliased fonts.
Other features of KMSCON include full internationalization support (full Unicode/UTF8 compatibility), controllable monitor/console mapping, full VT220 to VT510 support, and that this user-space program doesn't need a Linux kernel built with CONFIG_VT
While some believe strong that the console belongs within the kernel, KMSCON is a very interesting and modern project worth watching and trying out. The developer of KMSCON also wrote the frame-buffer log kernel driver
as part of his CONFIG_VT killing initiative for Linux.
KMSCON, while still under development, is being housed at GitHub
. David Herrmann wrote a new blog post
recently with more details on his interesting project.