Update to meson 1.1 expectations.
Add retry logic to display activation
Add arguments to set the desired resolution.
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. See kmscon(1) man-page for usage information.
Kmscon requires the following software:
Everything else is optional:
For video output at least one of the following is required:
For font handling the following is required:
For multi-seat support you need the following packages:
Released tarballs can be found at: https://github.com/Aetf/kmscon/releases
To compile the kmscon binary, run the standard meson commands:
meson builddir/
By default this will install into /usr/local
, you can change your prefix with --prefix=/usr
(or meson configure builddir/ -Dprefix=/usr
after the initial meson setup).
Then build and install. Note that this requires ninja.
meson -C builddir/ install
The following meson options are available. They can be used to select backends for several subsystems in kmscon. If build-time dependencies cannot be satisfied, an option is automatically turned off, except if you explicitly enable it via command line:
option | default | description |
---|---|---|
extra_debug |
false |
Additional debug outputs |
multi_seat |
auto |
This requires the systemd-logind library to provide multi-seat support for kmscon |
video_fbdev |
auto |
Linux fbdev video backend |
video_drm2d |
auto |
Linux DRM software-rendering backend |
video_drm3d |
auto |
Linux DRM hardware-rendering backend |
font_unifont |
auto |
Static built-in non-scalable font (Unicode Unifont) |
font_pango |
auto |
Pango based scalable font renderer |
renderer_bbulk |
auto |
Simple 2D software-renderer (bulk-mode) |
renderer_gltex |
auto |
OpenGLESv2 accelerated renderer |
renderer_pixman |
auto |
pixman based renderer |
session_dummy |
auto |
Dummy fallback session |
session_terminal |
auto |
Terminal-emulator sessions |
To get usage information, run:
kmscon --help
You can then run kmscon with:
kmscon [options]
Kmscon queries and setups system locale settings before starting if systemd-localed is available.
Otherwise, you can change locale settings via --xkb-{model,layout,variant,options}
command line options.
See man kmscon
for more information.
The default configuration file is /etc/kmscon/kmscon.conf
. Any command line option can be put in the config file in
its long form without the leading --
(double dash). See man kmscon
for more information.
This software is licensed under the terms of an MIT-like license. Please see
COPYING
for further information.
Skyvine: This is a personal fork from Aetf's repository, which has not had any activity from the maintainer since 2022. I am using this fork for improvements that I want, and also editing it to be more compatible with Guix out-of-the-box (eg, formally replacing systemd with elogind).
Aetf: This is a personal fork from https://www.freedesktop.org/wiki/Software/kmscon, which hasn't been updated since 2014.