summaryrefslogtreecommitdiff
path: root/README
blob: db3d99067c3ef955d4ace09132d24adf51bc2e98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
= KMSCON =
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.

== Requirements ==
  Kmscon requires the following software:
    - mesa with:
      - EGL library
      - gbm library
      - GL library
    - pango with:
      - glib
      - cairo
      - pango

== Install ==
  To compile the kmscon binary, run the standard autotools commands:
    $ ./configure [--enable-debug]
    $ make
    $ make install
  To compile the test applications, run:
    $ make check

== License ==
  This software is licensed under the terms of the MIT license. Please see
  ./COPYING for further information.

== FAQ ==
  === Why didn't you use libvte or similar terminal emulators? ===
  All existing terminal emulators I found highly depend on X. Also, their code
  base often is a horrible mess. I haven't had the time to convert them to use
  other drawing functions than Xlib, yet.
  If you feel like doing this work, please notify me. I would be glad to adjust
  my code to work with other terminal emulators.

== Contact ==
  This software was written by:
    David Herrmann <dh.herrmann@googlemail.com>
  If you have any questions, do not hesitate to contact one of the developers.

== Code Base ==
  The kmscon code is split into several independent subsystems:
    - output:
      This code manages the KMS/DRI output and provides OpenGL framebuffers.
    - console:
      This draws the text on the screen and provides an API for any terminal
      emulator to visualize its contents.
    - evdev:
      All linux input events are captured here and converted to Unicode
      characters for input handling.
    - vte:
      The terminal emulator library.
    - main:
      This connects all subsystems into a usable console application.