Modify it to adjust Tizen IVI enviroment
[platform/upstream/kmscon.git] / README
diff --git a/README b/README
index 437d54e..da1290f 100644 (file)
--- a/README
+++ b/README
@@ -2,12 +2,22 @@
 
 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.
+console. See kmscon(1) man-page for usage information.
+
+Website:
+  http://www.freedesktop.org/wiki/Software/kmscon
 
 == Requirements ==
 
   Kmscon requires the following software:
-    - libudev: providing input, video, etc. device hotplug support
+    - libtsm: terminal emulator state machine
+        http://www.freedesktop.org/wiki/Software/kmscon/libtsm/
+    - libudev: providing input, video, etc. device hotplug support (>=v172)
+        http://www.freedesktop.org/wiki/Software/systemd/
+    - libxkbcommon: providing internationalized keyboard handling
+        http://xkbcommon.org/
+    - libdrm: graphics access to DRM/KMS subsystem
+    - linux-headers: linux kernel headers for ABI definitions
 
   Everything else is optional:
 
@@ -19,69 +29,65 @@ console.
       - OpenGLES2: For accelerated video output via OpenGLESv2 the following must
                    be installed: libdrm, libgbm, egl, glesv2 (i.e., mesa)
 
-    By default a very limited built-in keyboard handling is used. To get other
-    keyboard layouts working, the following is required:
-      - libxkbcommon: keyboard handling (optional but strongly recommended)
-                      Without libxkbcommon, basic US-ASCII input is provided.
-    libxkbcommon has no public release, yet, but is available on freedesktop.org.
-    Use "--disable-xkbcommon" if you have problems due to compile-errors.
-
-    Building libxkbcommon from Git without root:
-
-      - You can fetch it from Git using: git clone git://anongit.freedesktop.org/xorg/lib/libxkbcommon
-      - You can then ``./autogen.sh && make`` in its directory
-      - You configure kmscon using:
-          PKG_CONFIG_PATH="libxkbcommon/" ./configure --enable-debug --enable-xkbcommon
-        assuming you cloned it into a subfolder of kmscon.
-
     For font handling the following is required:
       - 8x16: The 8x16 font is a static built-in font which does not require
               external dependencies.
-      - freetype2: The freetype2 font uses libfreetype2 and libfontconfig to
-                   provide a very basic font backend.
+      - unifont: Static font without external dependencies.
       - pango: drawing text with pango
                Pango requires: glib, pango, fontconfig, freetype2 and more
 
     For multi-seat support you need the following packages:
       - systemd: Actually only the systemd-logind daemon and library is required.
 
+== Download ==
+
+Released tarballs can be found at:
+  http://www.freedesktop.org/software/kmscon/releases
+
 == Install ==
 
   To compile the kmscon binary, run the standard autotools commands:
-    $ ./autogen.sh (you need this only when building from git directly)
-    $ ./configure [--enable-debug] (debug-mode is strongly recommended)
+    $ test -f ./configure || NOCONFIGURE=1 ./autogen.sh
+    $ ./configure
     $ make
-    $ make install (TODO: this is currently not supported)
+    $ make install
   To compile the test applications, run:
     $ make check
 
   If you want only a very basic kmscon program without any major dependencies,
   use:
-    $ ./configure --disable-debug --disable-drm --disable-xkbcommon --disable-systemd --disable-pango --disable-freetype2
+    $ ./configure --with-video=fbdev,drm2d --with-renderers= --with-fonts=unifont --disable-multi-seat --with-sessions=dummy,terminal
   However, you will loose a lot of functionality by dropping all dependencies.
 
   The following configure options are available. If build-time dependencies
   cannot be satisfied, an option is automatically turned off, except if you
-  explicitely enable it via command line:
-    --enable-systemd: This requires the systemd-logind library to provide
-                      multi-seat support for kmscon. [default: on]
-    --enable-udev: This requires libudev for hotplugging support. This is
-                   currently mandatory and cannot be disabled. [default: on]
-    --enable-fbdev: This adds fbdev video output support. [default: on]
-    --enable-drm: This adds DRM video output support. [default: on]
-    --enable-gles2: This adds OpenGL hardware accelerated font rendering
-                    [default: on]
-    --enable-xkbcommon: Use xkbcommon for internationalized keyboard handling.
-                        [default: on]
-    --enable-f8x16: The 8x16 font is a static built-in fallback font
-                    [default: on]
-    --enable-freetype2: Uses freetype2 and fontconfig as font-backend.
-                        [default: on]
-    --enable-pango: Uses pango as font-backend. [default: on]
-    --enable-bblit: Use simply 2D bit-blitting as renderering fallback
-                    [default: on]
-    --enable-debug: Enable debug mode [default: off]
-    --enable-optimizations: Use GCC code optimizations [default: on]
+  explicitly enable it via command line:
+    --enable-multi-seat: This requires the systemd-logind library to provide
+                         multi-seat support for kmscon. [default: on]
+    --enable-debug: Enable debug mode/messages [default: on]
+    --enable-optimizations: Enable code optimizations [default: on]
+
+  Backends for several subsystems in kmscon can be selected with the following
+  options (all of them take a comma-separated list of backend names):
+    --with-video: Video backens. Available backends are:
+       - fbdev: Linux fbdev video backend
+       - drm2d: Linux DRM software-rendering backend
+       - drm3d: Linux DRM hardware-rendering backend
+       Default is: fbdev,drm2d,drm3d
+    --with-fonts: Font renderers. Available backends are:
+       - unifont: Static built-in non-scalable font (Unicode Unifont)
+       - pango: Pango based scalable font renderer
+       Default is: unifont,pango
+       The 8x16 backend is always built-in.
+    --with-renderers: Console rendering backends. Available are:
+       - bbulk: Simple 2D software-renderer (bulk-mode)
+       - gltex: OpenGLESv2 accelerated renderer
+       - pixman: pixman based renderer
+       Default is: bbulk,gltex
+       The bblit backend is always built-in.
+    --with-sessions: Built in sessions. Available sessions are:
+       - dummy: Dummy fallback session
+       - terminal: Terminal-emulator sessions
 
 == Running ==
 
@@ -90,52 +96,21 @@ console.
   You can then run kmscon with:
     $ ./kmscon [options]
 
-  For debug output use "--debug". For verbose output use "--verbose". If you
-  didn't compile DRM support then you can use "--fbdev" to make kmscon select
-  available framebuffer devices.
-
+  For debug output use "--debug". For verbose output use "--verbose".
   With "--xkb-layout=<lang>" you can switch the keyboard layout.
+  See "man kmscon" / kmscon(1) for more information.
 
 == License ==
 
-  This software is licensed under the terms of the MIT license. Please see
+  This software is licensed under the terms of an MIT-like license. Please see
   ./COPYING for further information.
 
 == FAQ ==
 
-  Please see http://github.com/dvdhrm/kmscon/wiki
+  Please see: http://www.freedesktop.org/wiki/Software/kmscon
 
 == Contact ==
 
   This software is maintained by:
-    David Herrmann <dh.herrmann@googlemail.com>
+    David Herrmann <dh.herrmann@gmail.com>
   If you have any questions, do not hesitate to contact one of the maintainers.
-
-== Code Base ==
-
-  The kmscon code is split into several independent subsystems:
-    - uterm:
-      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.
-    - eloop:
-      Main loop implementation.
-    - log:
-      Log file handling.
-    - unicode:
-      Provides basic Unicode handling.
-    - font:
-      Font loading, caching and drawing operations.
-    - input:
-      All linux input events are captured here and converted to Unicode
-      characters for input handling.
-    - vt:
-      The linux VT subsystem integration. This allows to run the application in
-      a classic linux VT like X does.
-    - vte:
-      The terminal emulator library.
-    - terminal:
-      Connects the console, output, input and vte handling into a real terminal.
-    - main:
-      This connects all subsystems into a usable console application.