3 Kmscon is a simple terminal emulator based on linux kernel mode setting (KMS).
4 It is an attempt to replace the in-kernel VT implementation with a userspace
5 console. See kmscon(1) man-page for usage information.
8 http://www.freedesktop.org/wiki/Software/kmscon
12 Kmscon requires the following software:
13 - libtsm: terminal emulator state machine
14 - libudev: providing input, video, etc. device hotplug support (>=v172)
15 - libxkbcommon: providing internationalized keyboard handling
17 Everything else is optional:
19 For video output at least one of the following is required:
20 - fbdev: For framebuffer video output the kernel headers must be installed
21 and located in the default include path.
22 - DRM: For unaccelerated drm output the "libdrm" library must be installed
23 and accessible via pkg-config.
24 - OpenGLES2: For accelerated video output via OpenGLESv2 the following must
25 be installed: libdrm, libgbm, egl, glesv2 (i.e., mesa)
27 For font handling the following is required:
28 - 8x16: The 8x16 font is a static built-in font which does not require
29 external dependencies.
30 - unifont: Static font without external dependencies.
31 - pango: drawing text with pango
32 Pango requires: glib, pango, fontconfig, freetype2 and more
34 For multi-seat support you need the following packages:
35 - systemd: Actually only the systemd-logind daemon and library is required.
39 Released tarballs can be found at:
40 http://www.freedesktop.org/software/kmscon/releases
44 To compile the kmscon binary, run the standard autotools commands:
45 $ test -f ./configure || NOCONFIGURE=1 ./autogen.sh
49 To compile the test applications, run:
52 If you want only a very basic kmscon program without any major dependencies,
54 $ ./configure --with-video=fbdev,drm2d --with-renderers= --with-fonts=unifont --disable-multi-seat --with-sessions=dummy,terminal
55 However, you will loose a lot of functionality by dropping all dependencies.
57 The following configure options are available. If build-time dependencies
58 cannot be satisfied, an option is automatically turned off, except if you
59 explicitly enable it via command line:
60 --enable-multi-seat: This requires the systemd-logind library to provide
61 multi-seat support for kmscon. [default: on]
62 --enable-hotplug: This requires libudev for hotplugging support. This is
63 currently mandatory and cannot be disabled. [default: on]
64 --enable-debug: Enable debug mode/messages [default: on]
65 --enable-optimizations: Enable code optimizations [default: on]
66 --enable-eloop-dbus: Build dbus extension for eloop library [default: off]
68 Backends for several subsystems in kmscon can be selected with the following
69 options (all of them take a comma-separated list of backend names):
70 --with-video: Video backens. Available backends are:
71 - fbdev: Linux fbdev video backend
72 - drm2d: Linux DRM software-rendering backend
73 - drm3d: Linux DRM hardware-rendering backend
74 Default is: fbdev,drm2d,drm3d
75 --with-fonts: Font renderers. Available backends are:
76 - unifont: Static built-in non-scalable font (Unicode Unifont)
77 - pango: Pango based scalable font renderer
78 Default is: unifont,pango
79 The 8x16 backend is always built-in.
80 --with-renderers: Console rendering backends. Available are:
81 - bbulk: Simple 2D software-renderer (bulk-mode)
82 - gltex: OpenGLESv2 accelerated renderer
83 - pixman: pixman based renderer
84 Default is: bbulk,gltex
85 The bblit backend is always built-in.
86 --with-sessions: Built in sessions. Available sessions are:
87 - dummy: Dummy fallback session
88 - terminal: Terminal-emulator sessions
90 The following options select which applications are built. If
91 dependency-checks fail, they are disabled by default unless explicitly enabled
93 --enable-kmscon: Build kmscon application [default: on]
94 --enable-eloop: Build eloop event loop library [default: off]
95 --enable-uterm: Build uterm library [default: off]
99 To get usage information, run:
101 You can then run kmscon with:
104 For debug output use "--debug". For verbose output use "--verbose".
105 With "--xkb-layout=<lang>" you can switch the keyboard layout.
106 See "man kmscon" / kmscon(1) for more information.
110 This software is licensed under the terms of an MIT-like license. Please see
111 ./COPYING for further information.
115 Please see: http://www.freedesktop.org/wiki/Software/kmscon
119 This software is maintained by:
120 David Herrmann <dh.herrmann@gmail.com>
121 If you have any questions, do not hesitate to contact one of the maintainers.