[meta-freescale] [PATCH 2/2] xf86-video-armada: add

Trevor Woerner twoerner at gmail.com
Fri May 26 22:11:08 PDT 2017


If the user enables "use-mainline-bsp" in MACHINEOVERRIDES, assume they want
to use the open-source, reverse-engineered etnaviv drm x11 driver.

Signed-off-by: Trevor Woerner <twoerner at gmail.com>
---
 conf/machine/include/imx-base.inc                  |  1 +
 .../xorg-driver/xf86-video-armada_git.bb           | 46 ++++++++++++++++++++++
 .../xserver-xf86-config/use-mainline-bsp/xorg.conf | 28 +++++++++++++
 3 files changed, 75 insertions(+)
 create mode 100644 recipes-graphics/xorg-driver/xf86-video-armada_git.bb
 create mode 100644 recipes-graphics/xorg-xserver/xserver-xf86-config/use-mainline-bsp/xorg.conf

diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 6f3b39c2..b876b500 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -30,6 +30,7 @@ PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
 XSERVER_DRIVER = "xf86-video-fbdev"
 XSERVER_DRIVER_imxgpu2d = "xf86-video-imxfb-vivante"
 XSERVER_DRIVER_vf = "xf86-video-modesetting"
+XSERVER_DRIVER_use-mainline-bsp = "xf86-video-armada"
 XSERVER = "xserver-xorg \
            xf86-input-evdev \
            ${XSERVER_DRIVER}"
diff --git a/recipes-graphics/xorg-driver/xf86-video-armada_git.bb b/recipes-graphics/xorg-driver/xf86-video-armada_git.bb
new file mode 100644
index 00000000..4caebb11
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xf86-video-armada_git.bb
@@ -0,0 +1,46 @@
+SUMMARY = "X.org graphics driver for KMS based systems with pluggable GPU backend"
+DESCRIPTION = "The xf86-video-armada module is a 2D graphics driver for the X Window \
+System as implemented by X.org, supporting these DRM KMS drivers: \
+\
+	Freescale i.MX \
+	Marvell Armada 510 (Dove) \
+\
+and GPU drivers: \
+	Vivante libGAL (Armada only) \
+	Etnaviv (Armada and i.MX) with galcore kernel driver \
+	Etnaviv (Armada and i.MX) with etnaviv DRM kernel driver \
+"
+LICENSE = "BSD"
+
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+DEPENDS += "libdrm-armada"
+
+LIC_FILES_CHKSUM = " \
+    file://README;md5=d5271074fb6ad959b7b6cfa68b4adaf0 \
+    file://../etna_viv/LICENSE;md5=9d4853905d85f044ed013e75def30a76 \
+    "
+
+SRCREV_armada = "a4306d971717a2d3ea855d08c5667e02403b84fe"
+SRCREV_etna = "f64d77abbb54433bd5de955c20afddc6eb4f4cb1"
+SRCREV_FORMAT = "armada_etna"
+
+PV = "0.1+git${SRCPV}"
+
+SRC_URI = " \
+    git://git.arm.linux.org.uk/cgit/xf86-video-armada.git;branch=unstable-devel;protocol=http;name=armada \
+    git://github.com/laanwj/etna_viv.git;protocol=https;name=etna;destsuffix=etna_viv \
+    "
+
+S = "${WORKDIR}/git"
+
+RDEPENDS_${PN} = "xserver-xorg-module-exa \
+                  xserver-xorg-extension-dri \
+                  xserver-xorg-extension-dri2 \
+                  xserver-xorg-extension-glx \
+                  "
+
+EXTRA_OECONF = "--disable-etnaviv \
+                --disable-vivante \
+                --with-etnaviv-source=${WORKDIR}/etna_viv \
+                "
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/use-mainline-bsp/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/use-mainline-bsp/xorg.conf
new file mode 100644
index 00000000..b6f83469
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/use-mainline-bsp/xorg.conf
@@ -0,0 +1,28 @@
+Section "Device"
+	Identifier	"Driver0"
+	Screen		0
+	Driver		"armada"
+
+# Support hotplugging displays?
+	Option		"Hotplug"	"TRUE"
+
+# Support hardware cursor if available?
+	Option		"HWCursor"	"TRUE"
+
+# Use GPU acceleration?
+	Option		"UseGPU"	"TRUE"
+
+# Provide Xv interfaces?
+	Option		"XvAccel"	"TRUE"
+
+# Prefer overlay for Xv (TRUE for armada-drm, FALSE for imx-drm)
+	Option		"XvPreferOverlay" "TRUE"
+
+# Which accelerator module to load (automatically found if commented out)
+	Option		"AccelModule"	"etnadrm_gpu"
+	Option		"AccelModule"	"etnaviv_gpu"
+
+# Support DRI2 interfaces?
+	Option		"DRI"		"TRUE"
+EndSection
+
-- 
2.13.0



More information about the meta-freescale mailing list