kmscon: remove cdev sessions
[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     - libudev: providing input, video, etc. device hotplug support (>=v172)
14     - libxkbcommon: providing internationalized keyboard handling
15
16   Everything else is optional:
17
18     For video output at least one of the following is required:
19       - fbdev: For framebuffer video output the kernel headers must be installed
20                and located in the default include path.
21       - DRM: For unaccelerated drm output the "libdrm" library must be installed
22              and accessible via pkg-config.
23       - OpenGLES2: For accelerated video output via OpenGLESv2 the following must
24                    be installed: libdrm, libgbm, egl, glesv2 (i.e., mesa)
25
26     For font handling the following is required:
27       - 8x16: The 8x16 font is a static built-in font which does not require
28               external dependencies.
29       - unifont: Static font without external dependencies.
30       - pango: drawing text with pango
31                Pango requires: glib, pango, fontconfig, freetype2 and more
32
33     For multi-seat support you need the following packages:
34       - systemd: Actually only the systemd-logind daemon and library is required.
35
36 == Download ==
37
38 Released tarballs can be found at:
39   http://www.freedesktop.org/software/kmscon/releases
40
41 == Install ==
42
43   To compile the kmscon binary, run the standard autotools commands:
44     $ test -f ./configure || NOCONFIGURE=1 ./autogen.sh
45     $ ./configure
46     $ make
47     $ make install
48   To compile the test applications, run:
49     $ make check
50
51   If you want only a very basic kmscon program without any major dependencies,
52   use:
53     $ ./configure --with-video=fbdev,drm2d --with-renderers= --with-fonts=unifont --disable-multi-seat --with-sessions=dummy,terminal
54   However, you will loose a lot of functionality by dropping all dependencies.
55
56   The following configure options are available. If build-time dependencies
57   cannot be satisfied, an option is automatically turned off, except if you
58   explicitly enable it via command line:
59     --enable-multi-seat: This requires the systemd-logind library to provide
60                          multi-seat support for kmscon. [default: on]
61     --enable-hotplug: This requires libudev for hotplugging support. This is
62                       currently mandatory and cannot be disabled. [default: on]
63     --enable-debug: Enable debug mode/messages [default: on]
64     --enable-optimizations: Enable code optimizations [default: on]
65     --enable-eloop-dbus: Build dbus extension for eloop library [default: off]
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        - freetype2: Freetype2+fontconfig based scalable font renderer
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        - cairo: cairo based renderer
84        - pixman: pixman based renderer
85        Default is: bbulk,gltex
86        The bblit backend is always built-in.
87     --with-sessions: Built in sessions. Available sessions are:
88        - dummy: Dummy fallback session
89        - terminal: Terminal-emulator sessions
90
91   The following options select which applications are built. If
92   dependency-checks fail, they are disabled by default unless explicitly enabled
93   on the command line:
94     --enable-kmscon: Build kmscon application [default: on]
95     --enable-eloop: Build eloop event loop library [default: off]
96     --enable-tsm: Build TSM terminal state-machine library [default: off]
97     --enable-uterm: Build uterm library [default: off]
98     --enable-uvt: Build UVT library [default: off]
99
100 == Running ==
101
102   To get usage information, run:
103     $ ./kmscon --help
104   You can then run kmscon with:
105     $ ./kmscon [options]
106
107   For debug output use "--debug". For verbose output use "--verbose".
108   With "--xkb-layout=<lang>" you can switch the keyboard layout.
109   See "man kmscon" / kmscon(1) for more information.
110
111 == License ==
112
113   This software is licensed under the terms of an MIT-like license. Please see
114   ./COPYING for further information.
115
116 == FAQ ==
117
118   Please see: http://www.freedesktop.org/wiki/Software/kmscon
119
120 == Contact ==
121
122   This software is maintained by:
123     David Herrmann <dh.herrmann@gmail.com>
124   If you have any questions, do not hesitate to contact one of the maintainers.