Skip to content

Aetf/kmscon

develop
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 71 commits ahead of dvdhrm:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

Requirements

Kmscon requires the following software:

  • libtsm: terminal emulator state machine
  • libudev: providing input, video, etc. device hotplug support (>=v172)
  • libxkbcommon: providing internationalized keyboard handling
  • 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: https://github.com/Aetf/kmscon/releases

Install

To compile the kmscon binary, run the standard meson commands:

meson builddir/

By default this will install into /usr/local, you can change your prefix with --prefix=/usr (or meson configure builddir/ -Dprefix=/usr after the initial meson setup).

Then build and install. Note that this requires ninja.

meson -C builddir/ install

The following meson options are available. They can be used to select backends for several subsystems in kmscon. If build-time dependencies cannot be satisfied, an option is automatically turned off, except if you explicitly enable it via command line:

option default description
extra_debug false Additional debug outputs
multi_seat auto This requires the systemd-logind library to provide multi-seat support for kmscon
video_fbdev auto Linux fbdev video backend
video_drm2d auto Linux DRM software-rendering backend
video_drm3d auto Linux DRM hardware-rendering backend
font_unifont auto Static built-in non-scalable font (Unicode Unifont)
font_pango auto Pango based scalable font renderer
renderer_bbulk auto Simple 2D software-renderer (bulk-mode)
renderer_gltex auto OpenGLESv2 accelerated renderer
renderer_pixman auto pixman based renderer
session_dummy auto Dummy fallback session
session_terminal auto Terminal-emulator sessions

Running

To get usage information, run:

kmscon --help

You can then run kmscon with:

kmscon [options]

Locale

Kmscon queries and setups system locale settings before starting if systemd-localed is available. Otherwise, you can change locale settings via --xkb-{model,layout,variant,options} command line options. See man kmscon for more information.

Config file

The default configuration file is /etc/kmscon/kmscon.conf. Any command line option can be put in the config file in its long form without the leading -- (double dash). See man kmscon for more information.

License

This software is licensed under the terms of an MIT-like license. Please see COPYING for further information.

History

This is a personal fork from https://www.freedesktop.org/wiki/Software/kmscon, which hasn't been updated since 2014.

About

Linux KMS/DRM based virtual Console Emulator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 96.5%
  • Meson 1.5%
  • GLSL 1.2%
  • Other 0.8%