chiark / gitweb /
terminal: add grdev DRM backend
authorDavid Herrmann <dh.herrmann@gmail.com>
Fri, 19 Sep 2014 12:13:06 +0000 (14:13 +0200)
committerDavid Herrmann <dh.herrmann@gmail.com>
Fri, 19 Sep 2014 12:13:06 +0000 (14:13 +0200)
commitf22e0bce3732c1fd005b7a886042394e036bc1b3
tree2ec712b9298fc3d6a6abdd05083a8c95f31a61b9
parent650c5444273993f969b9cd7df9add6ab2df0414e
terminal: add grdev DRM backend

The grdev-drm backend manages DRM cards for grdev. Any DRM card with
DUMB_BUFFER support can be used. So far, our policy is to configure all
available connectors, but keep pipes inactive as long as users don't
enable the displays on top.

We hard-code double-buffering so far, but can easily support
single-buffering or n-buffering. We also require XRGB8888 as format as
this is required to be supported by all DRM drivers and it is what VTs
use. This allows us to switch from VTs to grdev via page-flips instead of
deep modesets.

There is still a lot room for improvements in this backend, but it works
smoothly so far so more enhanced features can be added later.
Makefile.am
src/libsystemd-terminal/grdev-drm.c [new file with mode: 0644]
src/libsystemd-terminal/grdev-internal.h
src/libsystemd-terminal/grdev.c
src/libsystemd-terminal/grdev.h