fblog: add kernel patches for fblog driver
[platform/upstream/kmscon.git] / README
1 = KMSCON =
2 Kmscon is a simple terminal emulator based on linux kernel mode setting (KMS).
3 It is an attempt to replace the in-kernel VT implementation with a userspace
4 console.
5
6 == Requirements ==
7   Kmscon requires the following software:
8     - libdrm: accessing the kernel graphics layer
9     - mesa: providing an OpenGL implementation (must be compiled with EGL, gbm
10             and GL libraries)
11     - udev: providing input, video, etc. hotplug support
12     - xproto (build time dependency): definition of keysymbols (TODO: remove it)
13     - libxkbcommon: keyboard handling (optional but strongly recommended)
14                     Without libxkbcommon, basic US-ASCII input is provided.
15     - glib: only for Unicode handling (TODO: remove it)
16     - One of:
17       - freetype2: drawing generic text
18       - pango: drawing text with pango (use --enable-pango)
19                Pango requires: glib, cairo, pangocairo, pango and freetype2
20
21 == Install ==
22   To compile the kmscon binary, run the standard autotools commands:
23     $ ./configure [--enable-debug] [--enable-pango]
24     $ make
25     $ make install (TODO: this is currently not supported)
26   To compile the test applications, run:
27     $ make check
28
29 == Running ==
30   To get usage information, run:
31     $ ./kmscon --help
32   You can then run kmscon with:
33     $ ./kmscon [options] --switchvt
34   The --switchvt option will make your machine switch the active VT directly to
35   kmscon after starting it.
36
37 == License ==
38   This software is licensed under the terms of the MIT license. Please see
39   ./COPYING for further information.
40
41 == FAQ ==
42   === Why didn't you use libvte or similar terminal emulators? ===
43   All existing terminal emulators I found highly depend on X. Also, their code
44   base often is a horrible mess. I haven't had the time to convert them to use
45   other drawing functions than Xlib, yet.
46   If you feel like doing this work, please notify me. I would be glad to adjust
47   my code to work with other terminal emulators.
48
49 == Contact ==
50   This software is maintained by:
51     David Herrmann <dh.herrmann@googlemail.com>
52   If you have any questions, do not hesitate to contact one of the maintainers.
53
54 == Code Base ==
55   The kmscon code is split into several independent subsystems:
56     - uterm:
57       This code manages the KMS/DRI output and provides OpenGL framebuffers.
58     - console:
59       This draws the text on the screen and provides an API for any terminal
60       emulator to visualize its contents.
61     - eloop:
62       Main loop implementation.
63     - log:
64       Log file handling.
65     - unicode:
66       Provides basic Unicode handling.
67     - font:
68       Font loading, caching and drawing operations.
69     - input:
70       All linux input events are captured here and converted to Unicode
71       characters for input handling.
72     - vt:
73       The linux VT subsystem integration. This allows to run the application in
74       a classic linux VT like X does.
75     - vte:
76       The terminal emulator library.
77     - terminal:
78       Connects the console, output, input and vte handling into a real terminal.
79     - main:
80       This connects all subsystems into a usable console application.