summaryrefslogtreecommitdiff
path: root/freedreno/README
diff options
context:
space:
mode:
Diffstat (limited to 'freedreno/README')
-rw-r--r--freedreno/README16
1 files changed, 16 insertions, 0 deletions
diff --git a/freedreno/README b/freedreno/README
new file mode 100644
index 00000000..ae22e013
--- /dev/null
+++ b/freedreno/README
@@ -0,0 +1,16 @@
+Note that current msm kernel driver is a bit strange. It provides a
+DRM interface for GEM, which is basically sufficient to have DRI2
+working. But it does not provide KMS. And interface to 2d and 3d
+cores is via different other devices (/dev/kgsl-*). This is not
+quite how I'd write a DRM driver, but at this stage it is useful for
+xf86-video-freedreno and fdre (and eventual gallium driver) to be
+able to work on existing kernel driver from QCOM, to allow to
+capture cmdstream dumps from the binary blob drivers without having
+to reboot. So libdrm_freedreno attempts to hide most of the crazy.
+The intention is that when there is a proper kernel driver, it will
+be mostly just changes in libdrm_freedreno to adapt the gallium
+driver and xf86-video-freedreno (ignoring the fbdev->KMS changes).
+
+So don't look at freedreno as an example of how to write a libdrm
+module or a DRM driver.. it is just an attempt to paper over a non-
+standard kernel driver architecture.