GithubHelp home page GithubHelp logo

aetf / kmscon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dvdhrm/kmscon

162.0 20.0 24.0 6.55 MB

Linux KMS/DRM based virtual Console Emulator

Home Page: http://www.freedesktop.org/wiki/Software/kmscon

License: Other

Shell 0.35% C 96.62% GLSL 1.25% Meson 1.36% Python 0.42%

kmscon's Introduction

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 setup 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 install -C builddir/

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.