platform/upstream/kmscon.git
12 years agoAdd pango dependency
David Herrmann [Sat, 26 Nov 2011 14:29:39 +0000 (15:29 +0100)]
Add pango dependency

We use pango to draw fonts. This requires glib and cairo support, too.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd kmscon_char_dup()
David Herrmann [Sat, 26 Nov 2011 14:27:10 +0000 (15:27 +0100)]
Add kmscon_char_dup()

Add helper function to duplicate a kmscon_char object.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd gitignore file
David Herrmann [Sun, 20 Nov 2011 17:27:44 +0000 (18:27 +0100)]
Add gitignore file

Ignore swap files and binaries.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoSet default console size to 80x24
David Herrmann [Sun, 20 Nov 2011 17:25:59 +0000 (18:25 +0100)]
Set default console size to 80x24

Create for every new console a default cell-size of 80x24.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd cells to console objects
David Herrmann [Sun, 20 Nov 2011 17:21:41 +0000 (18:21 +0100)]
Add cells to console objects

A console has a fixed line and column count. Each entry is represented by a
kmscon_cell object. The console can be resized on the fly.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoCompile all sources into tests
David Herrmann [Sun, 20 Nov 2011 17:18:22 +0000 (18:18 +0100)]
Compile all sources into tests

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoUpdate TODO list with console subsystem
David Herrmann [Sun, 20 Nov 2011 17:02:28 +0000 (18:02 +0100)]
Update TODO list with console subsystem

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd console subsystem to README
David Herrmann [Sun, 20 Nov 2011 16:58:32 +0000 (17:58 +0100)]
Add console subsystem to README

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd console test
David Herrmann [Sun, 20 Nov 2011 16:55:57 +0000 (17:55 +0100)]
Add console test

This test application prints a console on all connected outputs. It does not
emulate any terminal but instead just prints the test-console.

It can be used to test the console subsystem in connection with the DRM/KMS
output subsystem.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd console drawing-logic
David Herrmann [Sun, 20 Nov 2011 16:49:21 +0000 (17:49 +0100)]
Add console drawing-logic

A console may be displayed on multiple outputs. We allow different screen
resolutions on these outputs so we need a way to map the console image onto
different outputs.

We simply render the console image into a cairo surface with a user-given
resolution. This should be set to the highest resultion of the used outputs. The
application can now map this image onto the different framebuffers. This will
scale the image if the target framebuffer is smaller than the cairo surface.

We also do not clear the framebuffer. This should be done by the user. This
allows us to draw with alpha values and blend the console on top of the current
framebuffer. We do not have to care for background images and the application
has full control of where the console is shown.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoFix kmscon_console_unref name
David Herrmann [Sun, 20 Nov 2011 14:47:23 +0000 (15:47 +0100)]
Fix kmscon_console_unref name

The name of the unref function was wrong. Fix this from kmscon_con_unref to
kmscon_console_unref.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAvoid refreshing twice in output test
David Herrmann [Sun, 20 Nov 2011 14:46:22 +0000 (15:46 +0100)]
Avoid refreshing twice in output test

Waking up the compositor automatically refreshed the output list. Therefore,
avoid refreshing it manually again.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd kmscon_char type
David Herrmann [Sun, 20 Nov 2011 13:44:39 +0000 (14:44 +0100)]
Add kmscon_char type

Every cell of the console contains one single printable character. We want to be
Unicode compatible so we must support combined characters. Hence, each cell
consists of a UTF-8 string that can be drawn by pango as a single glyph.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd console subsystem dummy
David Herrmann [Sat, 19 Nov 2011 23:41:15 +0000 (00:41 +0100)]
Add console subsystem dummy

Add dummy files for the console subsystem. This subsystem will be used to draw a
console to a framebuffer. It uses pango and cairo for text-rendering and will
provide all required modification functions that the terminal emulation will
require.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd TODO list
David Herrmann [Sat, 19 Nov 2011 23:28:53 +0000 (00:28 +0100)]
Add TODO list

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd temporary Makefile
David Herrmann [Sat, 19 Nov 2011 23:21:49 +0000 (00:21 +0100)]
Add temporary Makefile

This makefile can be used to build kmscon and the test suite. It is quite rough
and will later or sooner be replaced by a proper build-tool like autotools.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd output test-script
David Herrmann [Sat, 19 Nov 2011 23:16:27 +0000 (00:16 +0100)]
Add output test-script

The test_output application is an example how to use the output subsystem. It
lists all connected monitors/DRM-outputs and draws with OpenGL on the selected
framebuffers.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoAdd output subsystem
David Herrmann [Sat, 19 Nov 2011 23:09:39 +0000 (00:09 +0100)]
Add output subsystem

The output subsystem manages the connected monitors, provides framebuffers and
OpenGL contexts and handles all DRM/DRI/KMS related functionality.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
12 years agoNew kmscon project
David Herrmann [Sat, 19 Nov 2011 22:05:38 +0000 (23:05 +0100)]
New kmscon project

The kmscon application is a terminal emulator which runs on a native linux DRI
device. It uses linux KMS and DRI to get a working OpenGL context without the
need of an X-Server, Wayland or similar.

It is an attempt to replace the in-kernel VT emulator with a full userspace
console.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>