mdlh / kmscon Goto Github PK
View Code? Open in Web Editor NEWThis project forked from dvdhrm/kmscon
Linux KMS/DRM based virtual Console Emulator
Home Page: http://github.com/dvdhrm/kmscon/wiki
License: Other
This project forked from dvdhrm/kmscon
Linux KMS/DRM based virtual Console Emulator
Home Page: http://github.com/dvdhrm/kmscon/wiki
License: Other
= 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. == Requirements == Kmscon requires the following software: - libdrm: accessing the kernel graphics layer - mesa: providing an OpenGL implementation (must be compiled with EGL, gbm and GL libraries) - udev: providing input, video, etc. hotplug support - xproto (build time dependency): definition of keysymbols (TODO: remove it) - libxkbcommon: keyboard handling (optional but strongly recommended) Without libxkbcommon, basic US-ASCII input is provided. - glib: only for Unicode handling (TODO: remove it) - One of: - freetype2: drawing generic text - pango: drawing text with pango (use --enable-pango) Pango requires: glib, cairo, pangocairo, pango and freetype2 == Install == To compile the kmscon binary, run the standard autotools commands: $ ./configure [--enable-debug] [--enable-pango] $ make $ make install (TODO: this is currently not supported) To compile the test applications, run: $ make check == Running == To get usage information, run: $ ./kmscon --help You can then run kmscon with: $ ./kmscon [options] --switchvt The --switchvt option will make your machine switch the active VT directly to kmscon after starting it. == License == This software is licensed under the terms of the MIT license. Please see ./COPYING for further information. == FAQ == === Why didn't you use libvte or similar terminal emulators? === All existing terminal emulators I found highly depend on X. Also, their code base often is a horrible mess. I haven't had the time to convert them to use other drawing functions than Xlib, yet. If you feel like doing this work, please notify me. I would be glad to adjust my code to work with other terminal emulators. == Contact == This software is maintained by: David Herrmann <[email protected]> If you have any questions, do not hesitate to contact one of the maintainers. == Code Base == The kmscon code is split into several independent subsystems: - uterm: This code manages the KMS/DRI output and provides OpenGL framebuffers. - console: This draws the text on the screen and provides an API for any terminal emulator to visualize its contents. - eloop: Main loop implementation. - log: Log file handling. - unicode: Provides basic Unicode handling. - font: Font loading, caching and drawing operations. - input: All linux input events are captured here and converted to Unicode characters for input handling. - vt: The linux VT subsystem integration. This allows to run the application in a classic linux VT like X does. - vte: The terminal emulator library. - terminal: Connects the console, output, input and vte handling into a real terminal. - main: This connects all subsystems into a usable console application.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.