kmscon is now hosted on freedesktop.org. Please don't use the github links, anymore. I will push to github for some more weeks, but I recommend to everyone to use my freedesktop.org repository as primary upstream link. There were many reasons why github.com wasn't sufficient, anymore. But the main reason is that they no longer provide upload space for release tarballs. Hence, lets ditch github and move to freedesktop.org which kindly provides everything we need plus a really nice mailing-list. Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
127 lines
5.2 KiB
Plaintext
127 lines
5.2 KiB
Plaintext
= 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:
|
|
- libudev: providing input, video, etc. device hotplug support (>=v172)
|
|
- libxkbcommon: providing internationalized keyboard handling
|
|
|
|
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://people.freedesktop.org/~dvdhrm/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-hotplug: This requires libudev for hotplugging support. This is
|
|
currently mandatory and cannot be disabled. [default: on]
|
|
--enable-debug: Enable debug mode/messages [default: on]
|
|
--enable-optimizations: Enable code optimizations [default: on]
|
|
--enable-eloop-dbus: Build dbus extension for eloop library [default: off]
|
|
|
|
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)
|
|
- freetype2: Freetype2+fontconfig based scalable font renderer
|
|
- 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
|
|
- cairo: cairo based 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
|
|
- cdev: Fake VTs via CUSE (DEPRECATED! Don't use it!)
|
|
|
|
The following options select which applications are built. If
|
|
dependency-checks fail, they are disabled by default unless explicitly enabled
|
|
on the command line:
|
|
--enable-kmscon: Build kmscon application [default: on]
|
|
--enable-wlterm: Build wlterm Wayland terminal [default: off]
|
|
--enable-eloop: Build eloop event loop library [default: off]
|
|
--enable-tsm: Build TSM terminal state-machine library [default: off]
|
|
--enable-uterm: Build uterm library [default: off]
|
|
--enable-uvt: Build UVT library [default: off]
|
|
|
|
== 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.
|