Brussels / 2 & 3 February 2013


Replacing CONFIG_VT/Linux-Console

How software projects around kmscon try to provide multi-seat support, hardware-accelerated rendering, full internationalization support and more to the linux-console by moving CONFIG_VT into user-space.

CONFIG_VT is the kernel configuration option that enables virtual terminals in the kernel. Initially written by Linus himself, it has been around since 1991. However, it hasn't been updated much recently and thus lacks a big amount of functionality, namely multi-seat support, full Unicode font rendering, XKB-like keyboard handling, hardware-accelerated rendering, vt220-vt510 compatibility and much more.

This talk will be split into two parts. In the first half I will be talking about the terminal emulator in the kernel, its limitations and how kmscon provides a modern replacement that moves terminal-emulation out of the kernel into user-space where it belongs to.

The second half will be about the ancient POSIX VT API. I will explain why it was needed in the first place and discuss why current linux system still depend on it. We tried several replacements, including system-compositors, dbus-VTs and CUSE-based VTs and I will compare them to the classic POSIX VT API to show how the issues of VTs can actually be solved by dropping CONFIG_VT entirely.


David Herrmann