From f22e0bce3732c1fd005b7a886042394e036bc1b3 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Fri, 19 Sep 2014 14:13:06 +0200 Subject: 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. --- src/libsystemd-terminal/grdev.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/libsystemd-terminal/grdev.h') diff --git a/src/libsystemd-terminal/grdev.h b/src/libsystemd-terminal/grdev.h index 2645b12113..9924a257b6 100644 --- a/src/libsystemd-terminal/grdev.h +++ b/src/libsystemd-terminal/grdev.h @@ -55,6 +55,7 @@ #include #include +#include #include #include #include @@ -171,6 +172,10 @@ void grdev_session_disable(grdev_session *session); void grdev_session_commit(grdev_session *session); void grdev_session_restore(grdev_session *session); +void grdev_session_add_drm(grdev_session *session, struct udev_device *ud); +void grdev_session_remove_drm(grdev_session *session, struct udev_device *ud); +void grdev_session_hotplug_drm(grdev_session *session, struct udev_device *ud); + /* * Contexts */ -- cgit v1.2.3-54-g00ecf