Instead of generating C source files, we now use our binary-linker make target which can link in any arbitrary binary file. This way, we can delete genshader and instead link the files directly. This speeds up compilation and makes the code more consistent. We also strip the shaders from useless comments and whitespaces to reduce memory consumption. Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
= 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. See kmscon(1) man-page for usage information. Website: http://www.freedesktop.org/wiki/Software/kmscon == Requirements == Kmscon requires the following software: - 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: For video output at least one of the following is required: - fbdev: For framebuffer video output the kernel headers must be installed and located in the default include path. - DRM: For unaccelerated drm output the "libdrm" library must be installed and accessible via pkg-config. - OpenGLES2: For accelerated video output via OpenGLESv2 the following must be installed: libdrm, libgbm, egl, glesv2 (i.e., mesa) For font handling the following is required: - 8x16: The 8x16 font is a static built-in font which does not require external dependencies. - 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: $ test -f ./configure || NOCONFIGURE=1 ./autogen.sh $ ./configure $ make $ 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 --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 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 == To get usage information, run: $ ./kmscon --help You can then run kmscon with: $ ./kmscon [options] 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 an MIT-like license. Please see ./COPYING for further information. == FAQ == Please see: http://www.freedesktop.org/wiki/Software/kmscon == Contact == This software is maintained by: David Herrmann <dh.herrmann@gmail.com> If you have any questions, do not hesitate to contact one of the maintainers.
Description
Languages
C
93.4%
M4
2.9%
Makefile
1.6%
GLSL
1.3%
C++
0.7%
Other
0.1%