b7610f8ed0d7985f338b5b7a80e49d84402eae3d
[platform/upstream/kmscon.git] / README
1 = KMSCON =
2
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.
6
7 Website:
8   http://www.freedesktop.org/wiki/Software/kmscon
9
10 == Requirements ==
11
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
16     - libdrm: graphics access to DRM/KMS subsystem
17     - linux-headers: linux kernel headers for ABI definitions
18
19   Everything else is optional:
20
21     For video output at least one of the following is required:
22       - fbdev: For framebuffer video output the kernel headers must be installed
23                and located in the default include path.
24       - DRM: For unaccelerated drm output the "libdrm" library must be installed
25              and accessible via pkg-config.
26       - OpenGLES2: For accelerated video output via OpenGLESv2 the following must
27                    be installed: libdrm, libgbm, egl, glesv2 (i.e., mesa)
28
29     For font handling the following is required:
30       - 8x16: The 8x16 font is a static built-in font which does not require
31               external dependencies.
32       - unifont: Static font without external dependencies.
33       - pango: drawing text with pango
34                Pango requires: glib, pango, fontconfig, freetype2 and more
35
36     For multi-seat support you need the following packages:
37       - systemd: Actually only the systemd-logind daemon and library is required.
38
39 == Download ==
40
41 Released tarballs can be found at:
42   http://www.freedesktop.org/software/kmscon/releases
43
44 == Install ==
45
46   To compile the kmscon binary, run the standard autotools commands:
47     $ test -f ./configure || NOCONFIGURE=1 ./autogen.sh
48     $ ./configure
49     $ make
50     $ make install
51   To compile the test applications, run:
52     $ make check
53
54   If you want only a very basic kmscon program without any major dependencies,
55   use:
56     $ ./configure --with-video=fbdev,drm2d --with-renderers= --with-fonts=unifont --disable-multi-seat --with-sessions=dummy,terminal
57   However, you will loose a lot of functionality by dropping all dependencies.
58
59   The following configure options are available. If build-time dependencies
60   cannot be satisfied, an option is automatically turned off, except if you
61   explicitly enable it via command line:
62     --enable-multi-seat: This requires the systemd-logind library to provide
63                          multi-seat support for kmscon. [default: on]
64     --enable-debug: Enable debug mode/messages [default: on]
65     --enable-optimizations: Enable code optimizations [default: on]
66
67   Backends for several subsystems in kmscon can be selected with the following
68   options (all of them take a comma-separated list of backend names):
69     --with-video: Video backens. Available backends are:
70        - fbdev: Linux fbdev video backend
71        - drm2d: Linux DRM software-rendering backend
72        - drm3d: Linux DRM hardware-rendering backend
73        Default is: fbdev,drm2d,drm3d
74     --with-fonts: Font renderers. Available backends are:
75        - unifont: Static built-in non-scalable font (Unicode Unifont)
76        - pango: Pango based scalable font renderer
77        Default is: unifont,pango
78        The 8x16 backend is always built-in.
79     --with-renderers: Console rendering backends. Available are:
80        - bbulk: Simple 2D software-renderer (bulk-mode)
81        - gltex: OpenGLESv2 accelerated renderer
82        - pixman: pixman based renderer
83        Default is: bbulk,gltex
84        The bblit backend is always built-in.
85     --with-sessions: Built in sessions. Available sessions are:
86        - dummy: Dummy fallback session
87        - terminal: Terminal-emulator sessions
88
89 == Running ==
90
91   To get usage information, run:
92     $ ./kmscon --help
93   You can then run kmscon with:
94     $ ./kmscon [options]
95
96   For debug output use "--debug". For verbose output use "--verbose".
97   With "--xkb-layout=<lang>" you can switch the keyboard layout.
98   See "man kmscon" / kmscon(1) for more information.
99
100 == License ==
101
102   This software is licensed under the terms of an MIT-like license. Please see
103   ./COPYING for further information.
104
105 == FAQ ==
106
107   Please see: http://www.freedesktop.org/wiki/Software/kmscon
108
109 == Contact ==
110
111   This software is maintained by:
112     David Herrmann <dh.herrmann@gmail.com>
113   If you have any questions, do not hesitate to contact one of the maintainers.