From the project github page:
Kmscon is a simple terminal emulator based on linux kernel mode setting (KMS). It is an attempt to replace the in-kernel VT implementation with a userspace console.
Despite its name, KMS is not a hard requirement for kmscon. Kmscon supports the following video backends: fbdev (Linux fbdev video backend), drm2d (Linux DRM software-rendering backend), drm3d (Linux DRM hardware-rendering backend). Make sure one of them is available on your system.
Kmscon can function as a drop-in replacement for the in-kernel linux-console. Features include:
- Full vt220 to vt510 implementation.
- Full internationalization support:
- Kmscon supports printing full Unicode glyphs, including the CJK ones.
- Kmscon provides internationalized keyboard handling through libxkbcommon, thus allowing it to use the full range of keyboard layouts supported in X keyboard.
- Hardware accelerated rendering.
- Multi-seat capability.
NB: KMSCON supports user logins only. If you need to login as root you will either need agetty or log into root using the su command.
As root, issue:
# ln -s /usr/lib/systemd/system/kmsconvt\@.service /etc/systemd/system/autovt\@.service # systemctl enable kmsconvt\@.service
This will makestart kmscon instead of agetty on each VT. If for whatever reason kmscon failed to start, then agetty would be started instead.
Kmscon supports rendering CJK characters through the default font engine. However, has to be globally configured to map the monospace font alias to proper CJK fonts. For Chinese users, the following template is provided and proved to result in satisfactory Chinese characters rendering:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match> <test name="family"><string>monospace</string></test> <edit name="family" mode="prepend" binding="strong"> <string>DejaVu Sans Mono</string> <string>WenQuanYi Micro Hei Mono</string> </edit> </match> </fontconfig>
You need to have official repositories, installed.and , both available from the
- You may want to add '--hwaccel --drm' to ExecStart if you have problems with switching between Xorg and kmscon.
ExecStart=/usr/bin/kmscon "--vt=%I" --seats=seat0 --no-switchvt --font-name Terminus --font-size 12 --hwaccel --drm