Xorg: enable Etnaviv support
v2 cover Xorg: enable Etnaviv support
From: Evgeniy Didin <[email protected]>
This patch series enables Etnaviv support in Xorg.
Evgeniy Didin (2):
libdrm-armada: new package
xf86-video-armada: new package
DEVELOPERS | 2 ++ package/Config.in | 1 + package/libdrm-armada/Config.in | 8 +++++ package/libdrm-armada/libdrm-armada.hash | 5 +++ package/libdrm-armada/libdrm-armada.mk | 22 +++++++++++++ package/x11r7/Config.in | 1 + package/x11r7/xdriver_xf86-video-armada/Config.in | 11 +++++++ .../xdriver_xf86-video-armada.hash | 6 ++++ .../xdriver_xf86-video-armada.mk | 37 ++++++++++++++++++++++ 9 files changed, 93 insertions(+) create mode 100644 package/libdrm-armada/Config.in create mode 100644 package/libdrm-armada/libdrm-armada.hash create mode 100644 package/libdrm-armada/libdrm-armada.mk create mode 100644 package/x11r7/xdriver_xf86-video-armada/Config.in create mode 100644 package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash create mode 100644 package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.mk
Signature · 1 line
2.11.0
PATCH v2 1/2 libdrm-armada: new package
From: Evgeniy Didin <[email protected]>
libdrm-armada is an Etnaviv libdrm buffer object management module. It is used with xf86-driver-video-armada, which is Xorg driver for Etnaviv.
---
Changes since v1:
-Add entry in DEVELOPERS
-Some clean-up was made
-Add license file
-Add dependency for threads in toolchain
-Use full Git hash
DEVELOPERS | 1 + package/Config.in | 1 + package/libdrm-armada/Config.in | 8 ++++++++ package/libdrm-armada/libdrm-armada.hash | 5 +++++ package/libdrm-armada/libdrm-armada.mk | 22 ++++++++++++++++++++++ 5 files changed, 37 insertions(+) create mode 100644 package/libdrm-armada/Config.in create mode 100644 package/libdrm-armada/libdrm-armada.hash create mode 100644 package/libdrm-armada/libdrm-armada.mk
DEVELOPERS +1 -0
@@ -153,6 +153,7 @@ F: package/wf111/ N: ARC Maintainers <[email protected]> F: arch/Config.in.arc +F: package/libdrm-armada N: Ariel D'Alessandro <[email protected]> F: package/axfsutils/
package/Config.in +1 -0
@@ -1116,6 +1116,7 @@ menu "Graphics" source "package/libdmtx/Config.in" source "package/libdri2/Config.in" source "package/libdrm/Config.in" + source "package/libdrm-armada/Config.in" source "package/libepoxy/Config.in" source "package/libexif/Config.in" source "package/libfm/Config.in"
package/libdrm-armada/Config.in new file +8 -0
@@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBDRM_ARMADA + bool "libdrm-armada" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBDRM + help + Etnaviv libdrm buffer object management module + + http://git.arm.linux.org.uk/cgit/libdrm-armada.git/
package/libdrm-armada/libdrm-armada.hash new file +5 -0
@@ -0,0 +1,5 @@ +# Locally calculated +sha256 d9a6184276aa9defe70f6eb215656096a4d3c669f2ceae98e8348a60d749c549 libdrm-armada-6b461c163b0bd02c76b65d94cc2fb3767167bda8.tar.gz + +# Hash for license file: +sha256 cf445db5adf2d878b83f7bbd60948a22303f8cf606a83b85fbaf20d9e16a3861 libdrm_lists.h
package/libdrm-armada/libdrm-armada.mk new file +22 -0
@@ -0,0 +1,22 @@ +################################################################################ +# +# libdrm-armada +# +################################################################################ + +LIBDRM_ARMADA_VERSION = 6b461c163b0bd02c76b65d94cc2fb3767167bda8 +LIBDRM_ARMADA_SITE = http://git.arm.linux.org.uk/cgit/libdrm-armada.git +LIBDRM_ARMADA_SITE_METHOD = git +LIBDRM_ARMADA_DEPENDENCIES = libdrm +LIBDRM_ARMADA_INSTALL_STAGING = YES +LIBDRM_ARMADA_AUTORECONF = YES +LIBDRM_ARMADA_LICENSE_FILES = libdrm_lists.h + +# Needed for autoreconf to work properly +define LIBDRM_ARMADA_FIXUP_M4_DIR + mkdir $(@D)/m4 +endef + +LIBDRM_ARMADA_POST_PATCH_HOOKS += LIBDRM_ARMADA_FIXUP_M4_DIR + +$(eval $(autotools-package))
Signature · 1 line
2.11.0
PATCH v2 1/2 libdrm-armada: new package
Quoted 9 lines · Evgeniy Didin
From: Evgeniy Didin <[email protected]>
libdrm-armada is an Etnaviv libdrm buffer object management module. It is used with xf86-driver-video-armada, which is Xorg driver for Etnaviv.
Signed-off-by Evgeniy Didin <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Alexey Brodkin <[email protected]>Cc arc-buildroot at synopsys.com
PATCH v2 1/2 libdrm-armada: new package
In reply to Evgeniy DidinHello,
Quoted 9 lines · Evgeniy Didin
From: Evgeniy Didin <[email protected]>
libdrm-armada is an Etnaviv libdrm buffer object management module. It is used with xf86-driver-video-armada, which is Xorg driver for Etnaviv.
Signed-off-by Evgeniy Didin <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Alexey Brodkin <[email protected]>Cc arc-buildroot at synopsys.com
Thanks for this contribution. On the first iteration, Fabio asked the question of whether this package was really needed.
Do you know why this isn't in upstream libdrm ? Will these additional features always be part of a separate libdrm-package project/package, or is it planned to have them merged in libdrm at some point ?
Indeed, the fact that libdrm already has support for etnaviv makes the thing a bit strange.
Could you comment on this ?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering http://bootlin.com
PATCH v2 2/2 xf86-video-armada: new package
In reply to Evgeniy DidinFrom: Evgeniy Didin <[email protected]>
xf86-video-armada is a Xorg driver for Etnaviv GPU.
---
Changes since v1:
-Add entry in DEVELOPERS
-Some clean-up was made
-Add license file
-Use full Git hash
DEVELOPERS | 1 + package/x11r7/Config.in | 1 + package/x11r7/xdriver_xf86-video-armada/Config.in | 11 +++++++ .../xdriver_xf86-video-armada.hash | 6 ++++ .../xdriver_xf86-video-armada.mk | 37 ++++++++++++++++++++++ 5 files changed, 56 insertions(+) create mode 100644 package/x11r7/xdriver_xf86-video-armada/Config.in create mode 100644 package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash create mode 100644 package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.mk
DEVELOPERS +1 -0
@@ -154,6 +154,7 @@ F: package/wf111/ N: ARC Maintainers <[email protected]> F: arch/Config.in.arc F: package/libdrm-armada +F: package/x11r7/xdriver_xf86-video-armada N: Ariel D'Alessandro <[email protected]> F: package/axfsutils/
package/x11r7/Config.in +1 -0
@@ -157,6 +157,7 @@ if BR2_PACKAGE_XORG7 source package/x11r7/xdriver_xf86-input-vmmouse/Config.in source package/x11r7/xdriver_xf86-video-amdgpu/Config.in source package/x11r7/xdriver_xf86-video-ark/Config.in + source package/x11r7/xdriver_xf86-video-armada/Config.in source package/x11r7/xdriver_xf86-video-ast/Config.in source package/x11r7/xdriver_xf86-video-ati/Config.in source package/x11r7/xdriver_xf86-video-cirrus/Config.in
package/x11r7/xdriver_xf86-video-armada/Config.in new file +11 -0
@@ -0,0 +1,11 @@ +config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ARMADA + bool "xf86-video-armada" + depends on BR2_PACKAGE_MESA3D + select BR2_PACKAGE_LIBDRM_ARMADA + help + Xorg driver for Etnaviv GPU. + + http://git.arm.linux.org.uk/cgit/xf86-video-armada.git + +comment "xf86-video-armada needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash new file +6 -0
@@ -0,0 +1,6 @@ +# Locally calculated +sha256 5df615507ca6579ffba6df8a2aea6f6b542aa3985598efae836f335f9752cb39 xdriver_xf86-video-armada-04748ff4fb30370086cc97b9487a32951c5600ba.tar.gz + +# Hashes for license files: +sha256 57ed74a42ee9ea913ae81c5bac498340ade4ef1e70e9007f39b2da3de952e597 README +sha256 9d8facadc083641f71b8bcf9f078bd53f27aba3545b170f100c38f07cf3a42a2 etna_viv/LICENSE
package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.mk new file +37 -0
@@ -0,0 +1,37 @@ +################################################################################ +# +# xdriver_xf86-video-armada +# +################################################################################ + +XDRIVER_XF86_VIDEO_ARMADA_VERSION = 04748ff4fb30370086cc97b9487a32951c5600ba +XDRIVER_XF86_VIDEO_ARMADA_SITE = http://git.arm.linux.org.uk/cgit/xf86-video-armada.git +XDRIVER_XF86_VIDEO_ARMADA_SITE_METHOD = git +XDRIVER_XF86_VIDEO_ARMADA_AUTORECONF = YES +XDRIVER_XF86_VIDEO_ARMADA_DEPENDENCIES = \ + libdrm-armada \ + xserver_xorg-server + +XDRIVER_XF86_VIDEO_ARMADA_LICENSE_FILES= README etna_viv/LICENSE +XDRIVER_XF86_VIDEO_ARMADA_LICENSE = BSD + +#Need etna_viv source files for driver +define XDRIVER_XF86_VIDEO_ARMADA_ETNASRC + git clone https://github.com/laanwj/etna_viv.git $(@D)/etna_viv + mkdir $(@D)/m4 +endef + +XDRIVER_XF86_VIDEO_ARMADA_POST_PATCH_HOOKS += XDRIVER_XF86_VIDEO_ARMADA_ETNASRC + +define XDRIVER_XF86_VIDEO_ARMADA_INSTALL_CONF_FILE + $(INSTALL) -m 0644 -D $(@D)/conf/xorg-sample.conf $(TARGET_DIR)/etc/X11/xorg.conf +endef + +XDRIVER_XF86_VIDEO_ARMADA_POST_INSTALL_TARGET_HOOKS += XDRIVER_XF86_VIDEO_ARMADA_INSTALL_CONF_FILE + + +XDRIVER_XF86_VIDEO_ARMADA_CONF_OPTS = \ + --prefix=/usr --disable-vivante --disable-etnaviv \ + --with-etnaviv-source=$(@D)/etna_viv + +$(eval $(autotools-package))
Signature · 1 line
2.11.0
PATCH v2 2/2 xf86-video-armada: new package
Hi Evgeniy,
package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash line 2
Quoted 4 lines · Evgeniy Didin
+++ b/package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash
package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash new file +2
-0@@ -0,0 +1,6 @@ +# Locally calculated +sha256 5df615507ca6579ffba6df8a2aea6f6b542aa3985598efae836f335f9752cb39 xdriver_xf86-video-armada-04748ff4fb30370086cc97b9487a32951c5600ba.tar.gz
I had to manually change the sha256 to 5df615507ca6579ffba6df8a2aea6f6b542aa3985598efae836f335f9752cb39 in order to fix the mismatch error.
With this fixed:
PATCH v2 2/2 xf86-video-armada: new package
Hello,
Quoted 14 lines · Fabio Estevam
Hi Evgeniy,
package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash line 2
Quoted 4 lines · Evgeniy Didin
+++ b/package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash
package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash new file +2
-0@@ -0,0 +1,6 @@ +# Locally calculated +sha256 5df615507ca6579ffba6df8a2aea6f6b542aa3985598efae836f335f9752cb39 xdriver_xf86-video-armada-04748ff4fb30370086cc97b9487a32951c5600ba.tar.gzI had to manually change the sha256 to
5df615507ca6579ffba6df8a2aea6f6b542aa3985598efae836f335f9752cb39in order to fix the mismatch error.
Quoted 3 lines
With this fixed:
Tested-by Fabio Estevam <[email protected]>
Which version of tar are you using? Which version of tar is Evgeniy using?
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering http://bootlin.com
PATCH v2 2/2 xf86-video-armada: new package
Hi Thomas,
Quoted 2 lines · Thomas Petazzoni
Which version of tar are you using? Which version of tar is Evgeniy using?
I tested this series against master, which uses tar-1.29 version.
Thanks
PATCH v2 2/2 xf86-video-armada: new package
Hi Fabio,
Quoted 7 lines · Fabio Estevam
Quoted 2 lines · Thomas Petazzoni
Which version of tar are you using? Which version of tar is Evgeniy using?
I tested this series against master, which uses tar-1.29 version.
Thomas asks about your host installed tar version. Buildroot builds its own host-tar only when the host is missing a suitable tar.
This is related to the issue discovered with tar version 1.30 that generates slightly different archives.
http://lists.busybox.net/pipermail/buildroot/2018-January/211222.html
This has also been discussed in the last developers meeting (first item):
https://annuel2.framapad.org/p/BuildrootFosdem2018
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -PATCH v2 2/2 xf86-video-armada: new package
Hi Baruch,
Quoted 2 lines · Baruch Siach
Thomas asks about your host installed tar version. Buildroot builds its own host-tar only when the host is missing a suitable tar.
Thanks for the clarification!
The host PC also uses tar 1.29 version:
~$ tar --version
tar (GNU tar) 1.29
Thanks
PATCH v2 2/2 xf86-video-armada: new package
In reply to Fabio EstevamHi Thomas,
Quoted 2 lines
Quoted 2 lines
Which version of tar are you using? Which version of tar is Evgeniy using?
The host PC I use has tar 1.26 version:
$ tar --version tar (GNU tar) 1.26
-Evgeniy
PATCH v2 2/2 xf86-video-armada: new package
In reply to Fabio EstevamQuoted 5 lines · Fabio Estevam
Hi Evgeniy,
On Fri, Feb 2, 2018 at 12:55 PM, Evgeniy Didin
<[email protected]> wrote:
Quoted 8 lines
package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash line 2
Quoted 4 lines
+++ b/package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash
package/x11r7/xdriver_xf86-video-armada/xdriver_xf86-video-armada.hash new file +2
-0@@ -0,0 +1,6 @@ +# Locally calculated +sha256 5df615507ca6579ffba6df8a2aea6f6b542aa3985598efae836f335f9752cb39 xdriver_xf86-video-armada-04748ff4fb30370086cc97b9487a32951c5600ba.tar.gzI had to manually change the sha256 to
5df615507ca6579ffba6df8a2aea6f6b542aa3985598efae836f335f9752cb39in order to fix the mismatch error.
My cmp-foo may be off, but that is what is in the hash file, no?
Regards,
Arnout
Quoted 9 lines
With this fixed:
Tested-by Fabio Estevam <[email protected]>_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 2/2 xf86-video-armada: new package
Hi Arnout,
Quoted 1 line · Arnout Vandecappelle
My cmp-foo may be off, but that is what is in the hash file, no?
Sorry, I typed the sha256 incorrectly.
What I meant to say is that I had to change it to:
# Locally calculated
sha256 6fdde0a589ae51f918a515506d425ae288116b0fc8b845e10d6fbeff75469028 xdriver_xf86-video-armada-04748ff4fb30370086cc97b9487a32951c5600ba.tar.gz
PATCH v2 2/2 xf86-video-armada: new package
In reply to Evgeniy DidinHello Evgeniy,
package/x11r7/xdriver_xf86-video-armada/Config.in line 3
Quoted 9 lines · Evgeniy Didin
package/x11r7/xdriver_xf86-video-armada/Config.in new file +3
-0@@ -0,0 +1,11 @@ +config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ARMADA + bool "xf86-video-armada" + depends on BR2_PACKAGE_MESA3D
It would be nice to add a comment about this dependency here, because your package doesn't itself depend on mesa3d. I assume it's because you need GLX support in the X.org server, but it would be nice to make this explicit.
package/x11r7/xdriver_xf86-video-armada/Config.in
Quoted 9 lines
package/x11r7/xdriver_xf86-video-armada/Config.in new file +9
-0+XDRIVER_XF86_VIDEO_ARMADA_VERSION = 04748ff4fb30370086cc97b9487a32951c5600ba +XDRIVER_XF86_VIDEO_ARMADA_SITE = http://git.arm.linux.org.uk/cgit/xf86-video-armada.git +XDRIVER_XF86_VIDEO_ARMADA_SITE_METHOD = git +XDRIVER_XF86_VIDEO_ARMADA_AUTORECONF = YES +XDRIVER_XF86_VIDEO_ARMADA_DEPENDENCIES = \ + libdrm-armada \ + xserver_xorg-server + +XDRIVER_XF86_VIDEO_ARMADA_LICENSE_FILES= README etna_viv/LICENSE
Space before =, and please put the LICENSE_FILES variable after the LICENSE variable.
Quoted 1 line
+XDRIVER_XF86_VIDEO_ARMADA_LICENSE = BSD
BSD is not a license. See https://spdx.org/licenses/ for a list of license codes.
package/x11r7/xdriver_xf86-video-armada/Config.in
Quoted 3 lines
package/x11r7/xdriver_xf86-video-armada/Config.in new file +3
-0+#Need etna_viv source files for driver +define XDRIVER_XF86_VIDEO_ARMADA_ETNASRC + git clone https://github.com/laanwj/etna_viv.git $(@D)/etna_viv
This is not acceptable, as it completely works around the Buildroot download infrastructure, preventing offline builds. Why do we need this ? Why isn't the upstream version of etnaviv sufficient ?
If it's really needed, a separate package will have to be created.
Quoted 4 lines
package/x11r7/xdriver_xf86-video-armada/Config.in new file +4
-0+ mkdir $(@D)/m4 +endef + +XDRIVER_XF86_VIDEO_ARMADA_POST_PATCH_HOOKS += XDRIVER_XF86_VIDEO_ARMADA_ETNASRC
package/x11r7/xdriver_xf86-video-armada/Config.in
Quoted 10 lines
package/x11r7/xdriver_xf86-video-armada/Config.in new file +10
-0+ +define XDRIVER_XF86_VIDEO_ARMADA_INSTALL_CONF_FILE + $(INSTALL) -m 0644 -D $(@D)/conf/xorg-sample.conf $(TARGET_DIR)/etc/X11/xorg.conf +endef + +XDRIVER_XF86_VIDEO_ARMADA_POST_INSTALL_TARGET_HOOKS += XDRIVER_XF86_VIDEO_ARMADA_INSTALL_CONF_FILE + + +XDRIVER_XF86_VIDEO_ARMADA_CONF_OPTS = \ + --prefix=/usr --disable-vivante --disable-etnaviv \
--prefix=/usr is already passed by the autotools-package infrastructure. Why do you disable vivante and etnaviv ?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering http://bootlin.com
v2 cover Xorg: enable Etnaviv support
In reply to Evgeniy DidinHi Evgeniy,
Quoted 4 lines · Evgeniy Didin
From: Evgeniy Didin <[email protected]>
This patch series enables Etnaviv support in Xorg.
Quoted 8 lines
Signed-off-by Evgeniy Didin <[email protected]>Cc Thomas Petazzoni <[email protected]>Cc Alexey Brodkin <[email protected]>Cc arc-buildroot at synopsys.comEvgeniy Didin (2):
libdrm-armada: new package
xf86-video-armada: new package
Thanks for this series.
I would be interested in testing it.
From your previous version, it looks like you also used a imx6 wandboard.
Could you please share the defconfig changes you did in wandboard and also the command lines you used to launch X11?
Thanks
Hello Fabio,
Quoted 6 lines
Thanks for this series.
I would be interested in testing it.
From your previous version, it looks like you also used a imx6 wandboard.
Exactly so.
Quoted 2 lines
Could you please share the defconfig changes you did in wandboard and also the command lines you used to launch X11?
Sure, in attachment I placed defconfig which I used to run glmark app. on Wandboard.
Commands:
$ X & $ export DISPLAY=:0 $ glmark2-es2??
-Evgeniy
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: wandboard_test_defconfig
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180206/253da0cd/attachment.ksh>
Hi Evgeniy,
Quoted 7 lines · Evgeniy Didin
Sure, in attachment I placed defconfig which I used to run glmark app. on Wandboard.
Commands:
$ X & $ export DISPLAY=:0 $ glmark2-es2
Thanks! It works fine.
I have a minor comment in one of your patches. Will reply there.
Thanks for your good work!