Coder Social home page Coder Social logo

zcwang / kmscon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dvdhrm/kmscon

0.0 1.0 0.0 7.37 MB

Linux KMS/DRM based virtual Console Emulator

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

License: Other

Shell 0.12% C 98.25% C++ 0.31% GLSL 1.32%

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.

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 <[email protected]>
  If you have any questions, do not hesitate to contact one of the maintainers.

kmscon's People

Contributors

bluetech avatar mslusarz avatar winspool avatar mmonaco avatar keszybz avatar tedkotz avatar cl91 avatar falconindy avatar jwilk avatar lkundrak avatar soreau avatar thierryreding avatar pwnissan avatar ysangkok avatar

Watchers

Gary Wang avatar

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.