summaryrefslogtreecommitdiffstats
path: root/meta-agl-drm-lease/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-drm-lease/README.md')
-rw-r--r--meta-agl-drm-lease/README.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/meta-agl-drm-lease/README.md b/meta-agl-drm-lease/README.md
new file mode 100644
index 00000000..e397e6a3
--- /dev/null
+++ b/meta-agl-drm-lease/README.md
@@ -0,0 +1,54 @@
+# DRM lease support layer
+
+This yocto layer adds support for using DRM leases to partition display
+controller output resources between multiple processes.
+
+This layer adds a drm-lease-manager deamon (with systemd configuration)
+and a client library for receiving DRM leases from the daemon. For more details
+the DRM lease manager and client see the repository at
+(https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/drm-lease-manager.git)
+
+## Setup
+
+Enable the `agl-drm-lease` AGL feature when setting up your build environment
+with aglsetup.sh.
+
+This will add the `drm-lease-manager` package to the image, and will add DRM
+lease support to some packages.
+
+Currently, only the `kmscube` sample application has support for DRM lease.
+`kmscube` is not included in the image by default. To add the package to the
+image, add the following to your local.conf
+
+```
+IMAGE_INSTALL_append = " kmscube"
+```
+
+## Starting the DRM lease manager
+
+The drm-lease-manager must be the only process to directly open the DRM device.
+Shut down any running window systems (eg. weston or agl-compositor) and run:
+
+```
+ # systemctl start drm-lease-manager
+```
+
+This will create 1 lease for each output connection on the platform.
+The name of each lease will be in the form of `card0-<output name>`
+(eg. `card0-LVDS-1` or `card0-HDMI-A-1`)
+
+## Running kmscube sample
+
+With the `drm-lease-manager` running `kmscube` can display on any available
+lease by running with the `-L -D<lease name>` options. Eg:
+
+```
+ # kmscube -L -Dcard0-HDMI-A-1
+```
+
+Multiple kmscube instances (one per DRM lease) can be started at the same time.
+
+## Tested targets
+
+This layer has been tested on the Renesas R-Car Gen3 platform. Other platforms
+supporting the Linux DRM API may work as well.