All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/8 v8] package/xserver_xorg-server: prepare for multiple supported versions
  2015-03-14 19:09 [Buildroot] [PATCH 0/8 v8] NVidia GPU binary blobs for Tegra2/3 (branch yem/gfx2) Yann E. MORIN
@ 2015-03-14 19:09 ` Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 2/8 v8] package/xserver_xorg-server: make the version a choice Yann E. MORIN
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2015-03-14 19:09 UTC (permalink / raw)
  To: buildroot

Simply move patch around...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 .../0001-backtrace.c-Fix-word-cast-to-a-pointer.patch}                    | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename package/x11r7/xserver_xorg-server/{0004-backtrace.c-Fix-word-cast-to-a-pointer.patch => 1.17.1/0001-backtrace.c-Fix-word-cast-to-a-pointer.patch} (100%)

diff --git a/package/x11r7/xserver_xorg-server/0004-backtrace.c-Fix-word-cast-to-a-pointer.patch b/package/x11r7/xserver_xorg-server/1.17.1/0001-backtrace.c-Fix-word-cast-to-a-pointer.patch
similarity index 100%
rename from package/x11r7/xserver_xorg-server/0004-backtrace.c-Fix-word-cast-to-a-pointer.patch
rename to package/x11r7/xserver_xorg-server/1.17.1/0001-backtrace.c-Fix-word-cast-to-a-pointer.patch
-- 
1.9.1

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/8 v8] package/xserver_xorg-server: make the version a choice
  2015-03-14 19:09 [Buildroot] [PATCH 0/8 v8] NVidia GPU binary blobs for Tegra2/3 (branch yem/gfx2) Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 1/8 v8] package/xserver_xorg-server: prepare for multiple supported versions Yann E. MORIN
@ 2015-03-14 19:09 ` Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 3/8 v8] package/xserver_xorg-server: add blind options to specify driver ABI Yann E. MORIN
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2015-03-14 19:09 UTC (permalink / raw)
  To: buildroot

Only a single entry for now, but we'll add one more in an upcoming
patch, to support old binary-only drivers, like the NVidia Tegra2/3
drivers.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/x11r7/xserver_xorg-server/Config.in              | 12 ++++++++++++
 package/x11r7/xserver_xorg-server/xserver_xorg-server.mk |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index db8a54d..6c48070 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -57,6 +57,18 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
 if BR2_PACKAGE_XSERVER_XORG_SERVER
 
 choice
+	bool "X Window System server version"
+
+config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17_1
+	bool "1.17.1"
+
+endchoice
+
+config BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION
+	string
+	default "1.17.1" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17_1
+
+choice
 	prompt "X Window System server type"
 	default BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE
 	help
diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
index bb5381c..6112698 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-XSERVER_XORG_SERVER_VERSION = 1.17.1
+XSERVER_XORG_SERVER_VERSION = $(call qstrip,$(BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION))
 XSERVER_XORG_SERVER_SOURCE = xorg-server-$(XSERVER_XORG_SERVER_VERSION).tar.bz2
 XSERVER_XORG_SERVER_SITE = http://xorg.freedesktop.org/releases/individual/xserver
 XSERVER_XORG_SERVER_LICENSE = MIT
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 0/8 v8] NVidia GPU binary blobs for Tegra2/3 (branch yem/gfx2)
@ 2015-03-14 19:09 Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 1/8 v8] package/xserver_xorg-server: prepare for multiple supported versions Yann E. MORIN
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Yann E. MORIN @ 2015-03-14 19:09 UTC (permalink / raw)
  To: buildroot

Hello All!

This series adds support for NVidia's binary blob, the driver to its
family of GPUs, for and Tegra2 and Tegra3, initially submitted by
Nicolas.

Since those binary blobs require the old X11 driver ABI 14, we can not
use them for now, as the version of X11 we have implements ABI 19; X11
ABIs are not backward compatible.

So, we need to introduce a choice for the version of X11, so as to
provide whatever was the latest X11 vbersion to provide ABI 14; this
would be X11 version 1.14.7.

Fortunately, Gustavo was kind enough to suggest and test that building
an old X11 server with newer X11 libs was still possible, so that we
only really need the old server, not all the old libs. Pfewww... ;-)

So, this series in split in two main parts:

  - patches 1-5 introduce the possibility to choose an old X11 version
    for the server,

  - patches 6-8 add new packages for the NVidia Tegra blobs.

Thanks go to Nicolas, Laurent and Gustavo for their input and testing!


Changes v7 -> v8:
  - introduce use of an old X11 server to provide the ABI expected by
    the NVidia blobs
  - drop the x86 drivers, applied

Changes v6 -> v7:
  - drop all Khronos Registries packages in favour of mesa3d-headers
  - adapt the NVidia driver packages to use mesa3d-headers

Changes v5 -> v6:
  - make python-lxml a target package too  (Yegor)
  - rename the packages and move one directory up  (J?r?me)
  - use mesa3d to provide additional headers, don't bundle them
  - install extra GLES platform headers  (Nicolas)
  - x86 nvidia driver installs a gl.pc file  (J?r?me)
  - drop JPEG HW acceleration for Tegra2/3, since we do not have
    the headers  (Nicolas)

Changes v4 -> v5:
  - fix env vars when building opengl-registry

Changes v3 -> v4:
  - integrate the Tegra2/3 driver from Nicolas
  - lots of cleanups in the packages for Tegra2/3
  - further fixes after Thomas comments
  - introduce more of the Khronos registry (OpenMAX, OpenKode...)

Changes v2 -> v3:
  - some rewrite after Thomas comments

Changes v1 -> v2:
  - bump opengl-registry
  - drop i915, applied  (Peter)


Regards,
Yann E. MORIN.


The following changes since commit d4f7cfe1855cefa35322891e887636c3b82a6aea:

  uclibc: double quote values of string options (2015-03-14 13:49:20 +0100)

are available in the git repository at:

  git://git.busybox.net/~ymorin/git/buildroot yem/gfx2

for you to fetch changes up to 36fab880ae7a6eb8dfd32c217307eac9db0d878e:

  package/nvidia-tegra23-codecs: new package (2015-03-14 20:01:13 +0100)

----------------------------------------------------------------
Nicolas Serafini (3):
      package/nvidia-tegra23-binaries: new package
      package.nvidia-tegra23-binaries: add gstreamer plugins
      package/nvidia-tegra23-codecs: new package

Yann E. MORIN (5):
      package/xserver_xorg-server: prepare for multiple supported versions
      package/xserver_xorg-server: make the version a choice
      package/xserver_xorg-server: add blind options to specify driver ABI
      package/xserver_xorg-server: not all versions need all dependencies
      package/xserver_xorg-server: add version 1.14.7

 package/Config.in                                  |   1 +
 package/nvidia-tegra23/Config.in                   |  38 ++++++
 .../nvidia-tegra23-binaries/Config.in              |  42 +++++++
 .../nvidia-tegra23/nvidia-tegra23-binaries/egl.pc  |  10 ++
 .../nvidia-tegra23/nvidia-tegra23-binaries/gles.pc |  10 ++
 .../nvidia-tegra23-binaries/glesv2.pc              |  10 ++
 .../nvidia-tegra23-binaries.hash                   |   3 +
 .../nvidia-tegra23-binaries.mk                     | 128 +++++++++++++++++++++
 .../nvidia-tegra23/nvidia-tegra23-codecs/Config.in |   7 ++
 .../nvidia-tegra23-codecs.hash                     |   3 +
 .../nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk |  41 +++++++
 package/nvidia-tegra23/nvidia-tegra23.mk           |  18 +++
 ...1-backtrace.c-Fix-word-cast-to-a-pointer.patch} |   0
 package/x11r7/xserver_xorg-server/Config.in        |  31 ++++-
 .../xserver_xorg-server/xserver_xorg-server.mk     |   9 +-
 15 files changed, 348 insertions(+), 3 deletions(-)
 create mode 100644 package/nvidia-tegra23/Config.in
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23.mk
 rename package/x11r7/xserver_xorg-server/{0004-backtrace.c-Fix-word-cast-to-a-pointer.patch => 1.17.1/0001-backtrace.c-Fix-word-cast-to-a-pointer.patch} (100%)

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 3/8 v8] package/xserver_xorg-server: add blind options to specify driver ABI
  2015-03-14 19:09 [Buildroot] [PATCH 0/8 v8] NVidia GPU binary blobs for Tegra2/3 (branch yem/gfx2) Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 1/8 v8] package/xserver_xorg-server: prepare for multiple supported versions Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 2/8 v8] package/xserver_xorg-server: make the version a choice Yann E. MORIN
@ 2015-03-14 19:09 ` Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 4/8 v8] package/xserver_xorg-server: not all versions need all dependencies Yann E. MORIN
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2015-03-14 19:09 UTC (permalink / raw)
  To: buildroot

The upcoming NVidia Tegra2/3 binary blobs only work with a certain
VIDEODRV ABI (namely up to 14), so we must have a way to represent that
ABI so that such packages can not be enabled with a too recent/old ABI.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/x11r7/xserver_xorg-server/Config.in | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index 6c48070..d26329d 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -56,11 +56,19 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
 
 if BR2_PACKAGE_XSERVER_XORG_SERVER
 
+config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
+	bool
+
+config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI
+	int
+	default 19 if BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
+
 choice
 	bool "X Window System server version"
 
 config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17_1
 	bool "1.17.1"
+	select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
 
 endchoice
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 4/8 v8] package/xserver_xorg-server: not all versions need all dependencies
  2015-03-14 19:09 [Buildroot] [PATCH 0/8 v8] NVidia GPU binary blobs for Tegra2/3 (branch yem/gfx2) Yann E. MORIN
                   ` (2 preceding siblings ...)
  2015-03-14 19:09 ` [Buildroot] [PATCH 3/8 v8] package/xserver_xorg-server: add blind options to specify driver ABI Yann E. MORIN
@ 2015-03-14 19:09 ` Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 5/8 v8] package/xserver_xorg-server: add version 1.14.7 Yann E. MORIN
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2015-03-14 19:09 UTC (permalink / raw)
  To: buildroot

Support for the Present protocol has been added to, and is mandatory
since version 1.15.

As we're on the verge of adding 1.14.7, we need to make Present a
version-specific dependency.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/x11r7/xserver_xorg-server/Config.in              | 2 +-
 package/x11r7/xserver_xorg-server/xserver_xorg-server.mk | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index d26329d..252ab7e 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -35,7 +35,6 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
 	select BR2_PACKAGE_XPROTO_GLPROTO
 	select BR2_PACKAGE_XPROTO_INPUTPROTO
 	select BR2_PACKAGE_XPROTO_KBPROTO
-	select BR2_PACKAGE_XPROTO_PRESENTPROTO
 	select BR2_PACKAGE_XPROTO_RANDRPROTO
 	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_RESOURCEPROTO
@@ -69,6 +68,7 @@ choice
 config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17_1
 	bool "1.17.1"
 	select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
+	select BR2_PACKAGE_XPROTO_PRESENTPROTO
 
 endchoice
 
diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
index 6112698..249f1f9 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
@@ -38,7 +38,6 @@ XSERVER_XORG_SERVER_DEPENDENCIES = 	\
 	xproto_glproto 			\
 	xproto_inputproto 		\
 	xproto_kbproto 			\
-	xproto_presentproto 		\
 	xproto_randrproto 		\
 	xproto_renderproto 		\
 	xproto_resourceproto 		\
@@ -64,6 +63,12 @@ XSERVER_XORG_SERVER_CONF_OPTS = \
 	--with-fontrootdir=/usr/share/fonts/X11/ \
 	--$(if $(BR2_PACKAGE_XSERVER_XORG_SERVER_XVFB),en,dis)able-xvfb
 
+# Present protocol only required for xserver 1.15+, but does not matter if
+# enabled for older versions as they don't use it (not even optionally).
+ifeq ($(BR2_PACKAGE_XPROTO_PRESENTPROTO),y)
+XSERVER_XORG_SERVER_DEPENDENCIES += xproto_presentproto
+endif
+
 ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR),y)
 XSERVER_XORG_SERVER_CONF_OPTS += --enable-xorg
 XSERVER_XORG_SERVER_DEPENDENCIES += libpciaccess
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 5/8 v8] package/xserver_xorg-server: add version 1.14.7
  2015-03-14 19:09 [Buildroot] [PATCH 0/8 v8] NVidia GPU binary blobs for Tegra2/3 (branch yem/gfx2) Yann E. MORIN
                   ` (3 preceding siblings ...)
  2015-03-14 19:09 ` [Buildroot] [PATCH 4/8 v8] package/xserver_xorg-server: not all versions need all dependencies Yann E. MORIN
@ 2015-03-14 19:09 ` Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 6/8 v8] package/nvidia-tegra23-binaries: new package Yann E. MORIN
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2015-03-14 19:09 UTC (permalink / raw)
  To: buildroot

Some old binary blobs drivers, like the NVidia Tegra2/3 blobs, only
implement an old VIDEODRV ABI.

Since VIDEODRV ABIs are not backward compatible [0], lets introduce an
older Xserver version that supports such an old ABI.

[0] http://www.x.org/wiki/XorgModuleABIVersions/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/x11r7/xserver_xorg-server/Config.in | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index 252ab7e..d41d7ac 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -55,11 +55,15 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER
 
 if BR2_PACKAGE_XSERVER_XORG_SERVER
 
+config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14
+	bool
+
 config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
 	bool
 
 config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI
 	int
+	default 14 if BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14
 	default 19 if BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
 
 choice
@@ -70,11 +74,16 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17_1
 	select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19
 	select BR2_PACKAGE_XPROTO_PRESENTPROTO
 
+config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14_7
+	bool "1.14.7"
+	select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14
+
 endchoice
 
 config BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION
 	string
 	default "1.17.1" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17_1
+	default "1.14.7" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14_7
 
 choice
 	prompt "X Window System server type"
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 6/8 v8] package/nvidia-tegra23-binaries: new package
  2015-03-14 19:09 [Buildroot] [PATCH 0/8 v8] NVidia GPU binary blobs for Tegra2/3 (branch yem/gfx2) Yann E. MORIN
                   ` (4 preceding siblings ...)
  2015-03-14 19:09 ` [Buildroot] [PATCH 5/8 v8] package/xserver_xorg-server: add version 1.14.7 Yann E. MORIN
@ 2015-03-14 19:09 ` Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 7/8 v8] package.nvidia-tegra23-binaries: add gstreamer plugins Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 8/8 v8] package/nvidia-tegra23-codecs: new package Yann E. MORIN
  7 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2015-03-14 19:09 UTC (permalink / raw)
  To: buildroot

From: Nicolas Serafini <nicolas.serafini@sensefly.com>

This patch adds a new package for all libraries and drivers
provided by Nvidia Linux4Tegra release 16.5.

We have intermediate .mk and Config.in, because those values will be
shared with the codecs package, to come in a follow-up patch, like we
have for the Freescale stuff.

Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>
[yann.morin.1998 at free.fr:
  - split jpeg into its own patch
  - split codecs and gstreamer plugins out into their own packages
  - do not patch for .pc files, just bundle them in $(@D)
]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Ben Ben <carmazen84@gmail.com>

---
Changes v10 -> v11:
  - add dependency on the proper VIDEODRV ABI, and drop all useless
    ABI choices, since we only have one valid (ABI 14)  (Thomas)
  - remove superfluous TAB

Changes v9 -> v10:
  - bump version  (Nicolas)

Changes v7 -> v9
  - fix typo in variable names  (Nicolas)

Changes v6 -> v7:
  - use mesa3d-headers instead of Khronos
---
 package/Config.in                                  |  1 +
 package/nvidia-tegra23/Config.in                   | 37 ++++++++
 .../nvidia-tegra23-binaries/Config.in              | 27 ++++++
 .../nvidia-tegra23/nvidia-tegra23-binaries/egl.pc  | 10 +++
 .../nvidia-tegra23/nvidia-tegra23-binaries/gles.pc | 10 +++
 .../nvidia-tegra23-binaries/glesv2.pc              | 10 +++
 .../nvidia-tegra23-binaries.hash                   |  3 +
 .../nvidia-tegra23-binaries.mk                     | 98 ++++++++++++++++++++++
 package/nvidia-tegra23/nvidia-tegra23.mk           | 18 ++++
 9 files changed, 214 insertions(+)
 create mode 100644 package/nvidia-tegra23/Config.in
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23.mk

diff --git a/package/Config.in b/package/Config.in
index 3326c9d..db8bc48 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -351,6 +351,7 @@ endif
 	source "package/nanocom/Config.in"
 	source "package/neard/Config.in"
 	source "package/nvidia-driver/Config.in"
+	source "package/nvidia-tegra23/Config.in"
 	source "package/ofono/Config.in"
 	source "package/ola/Config.in"
 	source "package/on2-8170-modules/Config.in"
diff --git a/package/nvidia-tegra23/Config.in b/package/nvidia-tegra23/Config.in
new file mode 100644
index 0000000..28c99c7
--- /dev/null
+++ b/package/nvidia-tegra23/Config.in
@@ -0,0 +1,37 @@
+menuconfig BR2_PACKAGE_NVIDIA_TEGRA23
+	bool "nvidia-tegra23"
+	depends on BR2_cortex_a9
+	depends on BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC
+	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14
+	help
+	  Install NVidia proprietary blobs to drive Tegra2 or Tegra3
+	  GPUs found in some mobile-targeted ARM SoCs.
+
+if BR2_PACKAGE_NVIDIA_TEGRA23
+
+choice
+	prompt "Tegra platform"
+	help
+	  Select the SOC platform.
+
+config BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA2
+	bool "Tegra 2"
+	help
+	  NVIDIA Tegra 2 is a dual-core Cortex-A9 without NEON.
+
+config BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA3
+	bool "Tegra 3"
+	depends on BR2_ARM_CPU_HAS_NEON
+	help
+	  NVIDIA Tegra 3 is a quad-core Cortex-A9 with NEON.
+
+endchoice
+
+source "package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in"
+endif
+
+comment "nvidia-tegra23 needs Xorg <= 1.14 and a (e)glibc toolchain w/ EABIhf"
+	depends on BR2_cortex_a9
+	depends on !BR2_ARM_EABIHF || !BR2_TOOLCHAIN_USES_GLIBC \
+		|| !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
new file mode 100644
index 0000000..8c384b8
--- /dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
@@ -0,0 +1,27 @@
+config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES
+	bool "nvidia-tegra23 binaries"
+	select BR2_PACKAGE_MESA3D_HEADERS
+	select BR2_PACKAGE_XLIB_LIBXT
+	select BR2_PACKAGE_XLIB_LIBXEXT
+	select BR2_PACKAGE_XLIB_LIBXV
+	select BR2_PACKAGE_HAS_LIBEGL
+	select BR2_PACKAGE_HAS_LIBGLES
+	select BR2_PACKAGE_HAS_LIBOPENMAX
+	help
+	  Those packages provide libraries, drivers and firmware that comes from
+	  NVIDIA Linux For Tegra.
+
+	  https://developer.nvidia.com/linux-tegra
+
+if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES
+
+config BR2_PACKAGE_PROVIDES_LIBEGL
+	default "nvidia-tegra23-binaries"
+
+config BR2_PACKAGE_PROVIDES_LIBGLES
+	default "nvidia-tegra23-binaries"
+
+config BR2_PACKAGE_PROVIDES_LIBOPENMAX
+	default "nvidia-tegra23-binaries"
+
+endif
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc b/package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc
new file mode 100644
index 0000000..3af7eec
--- /dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/egl.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/lib
+includedir=/usr/include
+
+Name: egl
+Description: EGL implementation
+Version: 1
+Cflags: -I${includedir}/EGL
+Libs: -L${libdir} -lEGL
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc b/package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc
new file mode 100644
index 0000000..91387c9
--- /dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/gles.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/lib
+includedir=/usr/include
+
+Name: glesv2
+Description: OpenGL ES 1.1 implementation
+Version: 1.1
+Cflags: -I${includedir}/GLES
+Libs: -L${libdir} -lGLESv1_CM
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc b/package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc
new file mode 100644
index 0000000..356a1cb
--- /dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/glesv2.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=/usr/lib
+includedir=/usr/include
+
+Name: glesv2
+Description: OpenGL ES 2 implementation
+Version: 2
+Cflags: -I${includedir}/GLESv2
+Libs: -L${libdir} -lGLESv2
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash
new file mode 100644
index 0000000..50c3cda
--- /dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash
@@ -0,0 +1,3 @@
+# From https://developer.nvidia.com/linux-tegra-rel-16
+sha1 295dcd63b2f122c2d99f07fcc083db9adb8ac178 Tegra20_Linux_R16.5_armhf.tbz2
+sha1 6be645c20d81d518856bc8520ef4c2472d57eaef Tegra30_Linux_R16.5_armhf.tbz2
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk
new file mode 100644
index 0000000..6e41764
--- /dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk
@@ -0,0 +1,98 @@
+################################################################################
+#
+# nvidia-tegra3-binaries
+#
+################################################################################
+
+NVIDIA_TEGRA23_BINARIES_VERSION = $(NVIDIA_TEGRA23_VERSION)
+NVIDIA_TEGRA23_BINARIES_SITE = $(NVIDIA_TEGRA23_SITE)
+NVIDIA_TEGRA23_BINARIES_SOURCE = $(NVIDIA_TEGRA23_BASE)_R$(NVIDIA_TEGRA23_BINARIES_VERSION)_armhf.tbz2
+
+NVIDIA_TEGRA23_BINARIES_LICENSE = License For Customer Use of NVIDIA Software
+NVIDIA_TEGRA23_BINARIES_LICENSE_FILES = nv_tegra/LICENSE
+
+NVIDIA_TEGRA23_BINARIES_INSTALL_STAGING = YES
+NVIDIA_TEGRA23_BINARIES_INSTALL_TARGET = YES
+
+NVIDIA_TEGRA23_BINARIES_DEPENDENCIES = mesa3d-headers \
+	xlib_libX11 xlib_libXext xlib_libXv
+
+NVIDIA_TEGRA23_BINARIES_PROVIDES = libegl libgles libopenmax
+
+ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA2),y)
+NVIDIA_TEGRA23_BINARIES_FIRMWARE = \
+	nvrm_avp.bin nvavp_vid_ucode_alt.bin nvavp_os_0ff00000.bin \
+	nvavp_os_eff00000.bin
+endif
+ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA3),y)
+NVIDIA_TEGRA23_BINARIES_FIRMWARE = \
+	nvrm_avp_0ff00000.bin nvrm_avp_8e000000.bin nvrm_avp_9e000000.bin \
+	nvrm_avp_be000000.bin nvrm_avp_eff00000.bin nvavp_vid_ucode_alt.bin \
+	nvavp_os_0ff00000.bin nvavp_os_eff00000.bin
+endif
+
+NVIDIA_TEGRA23_BINARIES_LIBRARIES = \
+	libardrv_dynamic.so libcgdrv.so libEGL.so.1 libGLESv1_CM.so.1 libGLESv2.so.2 \
+	libKD.so libnvapputil.so libnvavp.so libnvcwm.so libnvdc.so \
+	libnvddk_2d.so libnvddk_2d_v2.so libnvddk_disp.so libnvddk_kbc.so \
+	libnvddk_mipihsi.so libnvddk_nand.so libnvddk_se.so libnvddk_snor.so \
+	libnvddk_spif.so libnvddk_usbphy.so libnvdispatch_helper.so libnvglsi.so \
+	libnvmedia_audio.so libnvmm_audio.so libnvmm_camera.so libnvmm_contentpipe.so \
+	libnvmm_image.so libnvmmlite_audio.so libnvmmlite_image.so libnvmmlite.so \
+	libnvmmlite_utils.so libnvmmlite_video.so libnvmm_manager.so libnvmm_parser.so \
+	libnvmm_service.so libnvmm.so libnvmm_utils.so libnvmm_video.so libnvmm_writer.so \
+	libnvodm_disp.so libnvodm_dtvtuner.so libnvodm_imager.so libnvodm_misc.so \
+	libnvodm_query.so libnvomxilclient.so libnvomx.so libnvos.so libnvparser.so \
+	libnvrm_graphics.so libnvrm.so libnvsm.so libnvtestio.so libnvtestresults.so \
+	libnvtvmr.so libnvwinsys.so libnvwsi.so
+
+NVIDIA_TEGRA23_BINARIES_DRV = \
+	nv_tegra/nvidia_drivers/usr/lib/xorg/modules/drivers/tegra_drv.abi$(BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI).so
+
+NVIDIA_TEGRA23_BINARIES_PKGCONFIG = egl.pc gles.pc glesv2.pc
+
+define NVIDIA_TEGRA23_BINARIES_EXTRACT_FURTHER
+	$(INSTALL) -d $(@D)/nv_tegra/nvidia_drivers
+	$(call suitable-extractor,$(@D)/nv_tegra/nvidia_drivers.tbz2) \
+		$(@D)/nv_tegra/nvidia_drivers.tbz2 | \
+	$(TAR) $(TAR_STRIP_COMPONENTS)=0 -C $(@D)/nv_tegra/nvidia_drivers/ $(TAR_OPTIONS) -
+	$(INSTALL) -d $(@D)/nv_tegra/nv_sample_apps/nvgstapps
+	$(call suitable-extractor,$(@D)/nv_tegra/nv_sample_apps/nvgstapps.tbz2) \
+		$(@D)/nv_tegra/nv_sample_apps/nvgstapps.tbz2 | \
+	$(TAR) $(TAR_STRIP_COMPONENTS)=0 -C $(@D)/nv_tegra/nv_sample_apps/nvgstapps/ $(TAR_OPTIONS) -
+endef
+NVIDIA_TEGRA23_BINARIES_POST_EXTRACT_HOOKS += NVIDIA_TEGRA23_BINARIES_EXTRACT_FURTHER
+
+define NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS
+	$(foreach lib,$(NVIDIA_TEGRA23_BINARIES_LIBRARIES),
+		$(INSTALL) -D -m 0644 $(@D)/nv_tegra/nvidia_drivers/usr/lib/$(lib) \
+			$(1)/usr/lib/$(lib); \
+	)
+	(cd $(1)/usr/lib; \
+		ln -sf libGLESv2.so.2 libGLESv2.so; \
+		ln -sf libGLESv1_CM.so.1 libGLESv1_CM.so; \
+		ln -sf libEGL.so.1 libEGL.so \
+	)
+endef
+
+define NVIDIA_TEGRA23_BINARIES_INSTALL_STAGING_CMDS
+	$(call NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS,$(STAGING_DIR))
+	$(foreach pkgconfig,$(NVIDIA_TEGRA23_BINARIES_PKGCONFIG),
+		$(INSTALL) -D -m 0644 package/nvidia-tegra23/nvidia-tegra23-binaries/$(pkgconfig) \
+			$(STAGING_DIR)/usr/lib/pkgconfig/$(pkgconfig); \
+	)
+endef
+
+define NVIDIA_TEGRA23_BINARIES_INSTALL_TARGET_CMDS
+	$(call NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS,$(TARGET_DIR))
+	$(foreach firmware,$(NVIDIA_TEGRA23_BINARIES_FIRMWARE),
+		$(INSTALL) -D -m 0644 $(@D)/nv_tegra/nvidia_drivers/lib/firmware/$(firmware) \
+			$(TARGET_DIR)/lib/firmware/$(firmware); \
+	)
+	$(INSTALL) -D -m 0644 $(@D)/nv_tegra/nvidia_drivers/etc/nv_tegra_release \
+		$(TARGET_DIR)/etc/nv_tegra_release
+	$(INSTALL) -D -m 0644 $(@D)/$(NVIDIA_TEGRA23_BINARIES_DRV) \
+		$(TARGET_DIR)/usr/lib/xorg/modules/drivers/tegra_drv.so
+endef
+
+$(eval $(generic-package))
diff --git a/package/nvidia-tegra23/nvidia-tegra23.mk b/package/nvidia-tegra23/nvidia-tegra23.mk
new file mode 100644
index 0000000..b97d0cc
--- /dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23.mk
@@ -0,0 +1,18 @@
+################################################################################
+#
+# nvidia-tegra23
+#
+################################################################################
+
+NVIDIA_TEGRA23_VERSION = 16.5
+
+ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA2),y)
+NVIDIA_TEGRA23_SITE = http://developer.download.nvidia.com/mobile/tegra/l4t/r16.5.0/ventana_release_armhf
+NVIDIA_TEGRA23_BASE = Tegra20_Linux
+endif
+ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA3),y)
+NVIDIA_TEGRA23_SITE = http://developer.download.nvidia.com/mobile/tegra/l4t/r16.5.0/cardhu_release_armhf
+NVIDIA_TEGRA23_BASE = Tegra30_Linux
+endif
+
+include $(sort $(wildcard package/nvidia-tegra23/*/*.mk))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 7/8 v8] package.nvidia-tegra23-binaries: add gstreamer plugins
  2015-03-14 19:09 [Buildroot] [PATCH 0/8 v8] NVidia GPU binary blobs for Tegra2/3 (branch yem/gfx2) Yann E. MORIN
                   ` (5 preceding siblings ...)
  2015-03-14 19:09 ` [Buildroot] [PATCH 6/8 v8] package/nvidia-tegra23-binaries: new package Yann E. MORIN
@ 2015-03-14 19:09 ` Yann E. MORIN
  2015-03-14 19:09 ` [Buildroot] [PATCH 8/8 v8] package/nvidia-tegra23-codecs: new package Yann E. MORIN
  7 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2015-03-14 19:09 UTC (permalink / raw)
  To: buildroot

From: Nicolas Serafini <nicolas.serafini@sensefly.com>

Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>
[yann.morin.1998 at free.fr: split out into their own patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 .../nvidia-tegra23-binaries/Config.in              | 15 +++++++++++
 .../nvidia-tegra23-binaries.mk                     | 30 ++++++++++++++++++++++
 2 files changed, 45 insertions(+)

diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
index 8c384b8..00c35b7 100644
--- a/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
+++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in
@@ -24,4 +24,19 @@ config BR2_PACKAGE_PROVIDES_LIBGLES
 config BR2_PACKAGE_PROVIDES_LIBOPENMAX
 	default "nvidia-tegra23-binaries"
 
+config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS
+	bool "GStreamer 0.10.x plugins"
+	depends on BR2_PACKAGE_GSTREAMER # Run-time only
+	help
+	  GStreamer 0.10.x plugins
+
+config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_NV_SAMPLE_APPS
+	bool "NVIDIA multimedia sample apps"
+	depends on BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS
+	help
+	  nvgstplayer and nvgstcapture multimedia test applications.
+
+comment "GStreamer 0.10.x plugins need GStreamer 0.10"
+	depends on !BR2_PACKAGE_GSTREAMER
+
 endif
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk
index 6e41764..fb27700 100644
--- a/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk
+++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk
@@ -10,6 +10,10 @@ NVIDIA_TEGRA23_BINARIES_SOURCE = $(NVIDIA_TEGRA23_BASE)_R$(NVIDIA_TEGRA23_BINARI
 
 NVIDIA_TEGRA23_BINARIES_LICENSE = License For Customer Use of NVIDIA Software
 NVIDIA_TEGRA23_BINARIES_LICENSE_FILES = nv_tegra/LICENSE
+ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS),y)
+NVIDIA_TEGRA23_BINARIES_LICENSE += LGPLv2.1
+NVIDIA_TEGRA23_BINARIES_LICENSE_FILES += nv_tegra/nv_sample_apps/LICENSE.gst-openmax
+endif
 
 NVIDIA_TEGRA23_BINARIES_INSTALL_STAGING = YES
 NVIDIA_TEGRA23_BINARIES_INSTALL_TARGET = YES
@@ -49,6 +53,11 @@ NVIDIA_TEGRA23_BINARIES_LIBRARIES = \
 NVIDIA_TEGRA23_BINARIES_DRV = \
 	nv_tegra/nvidia_drivers/usr/lib/xorg/modules/drivers/tegra_drv.abi$(BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI).so
 
+NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS = \
+	libgstnv4l2.so libgstnvvidconv.so libgstnvxvimagesink.so libgstomx.so
+
+NVIDIA_TEGRA23_BINARIES_MULTIMEDIA_APPS = nvgstplayer nvgstcapture
+
 NVIDIA_TEGRA23_BINARIES_PKGCONFIG = egl.pc gles.pc glesv2.pc
 
 define NVIDIA_TEGRA23_BINARIES_EXTRACT_FURTHER
@@ -75,12 +84,31 @@ define NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS
 	)
 endef
 
+ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS),y)
+define NVIDIA_TEGRA23_BINARIES_INSTALL_GST_PLUGINS
+	$(foreach gst_plug,$(NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS),
+		$(INSTALL) -D -m 0644 $(@D)/nv_tegra/nv_sample_apps/nvgstapps/usr/lib/gstreamer-0.10/$(gst_plug) \
+			$(1)/usr/lib/gstreamer-0.10/$(gst_plug); \
+	)
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_NV_SAMPLE_APPS),y)
+define NVIDIA_TEGRA23_BINARIES_INSTALL_APPS
+	$(foreach apps,$(NVIDIA_TEGRA23_BINARIES_MULTIMEDIA_APPS),
+		$(INSTALL) -D -m 0755 $(@D)/nv_tegra/nv_sample_apps/nvgstapps/usr/bin/$(apps) \
+			$(TARGET_DIR)/usr/bin/$(apps); \
+	)
+endef
+endif
+
 define NVIDIA_TEGRA23_BINARIES_INSTALL_STAGING_CMDS
 	$(call NVIDIA_TEGRA23_BINARIES_INSTALL_LIBS,$(STAGING_DIR))
 	$(foreach pkgconfig,$(NVIDIA_TEGRA23_BINARIES_PKGCONFIG),
 		$(INSTALL) -D -m 0644 package/nvidia-tegra23/nvidia-tegra23-binaries/$(pkgconfig) \
 			$(STAGING_DIR)/usr/lib/pkgconfig/$(pkgconfig); \
 	)
+	$(call NVIDIA_TEGRA23_BINARIES_INSTALL_GST_PLUGINS,$(STAGING_DIR))
 endef
 
 define NVIDIA_TEGRA23_BINARIES_INSTALL_TARGET_CMDS
@@ -93,6 +121,8 @@ define NVIDIA_TEGRA23_BINARIES_INSTALL_TARGET_CMDS
 		$(TARGET_DIR)/etc/nv_tegra_release
 	$(INSTALL) -D -m 0644 $(@D)/$(NVIDIA_TEGRA23_BINARIES_DRV) \
 		$(TARGET_DIR)/usr/lib/xorg/modules/drivers/tegra_drv.so
+	$(call NVIDIA_TEGRA23_BINARIES_INSTALL_GST_PLUGINS,$(TARGET_DIR))
+	$(NVIDIA_TEGRA23_BINARIES_INSTALL_APPS)
 endef
 
 $(eval $(generic-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 8/8 v8] package/nvidia-tegra23-codecs: new package
  2015-03-14 19:09 [Buildroot] [PATCH 0/8 v8] NVidia GPU binary blobs for Tegra2/3 (branch yem/gfx2) Yann E. MORIN
                   ` (6 preceding siblings ...)
  2015-03-14 19:09 ` [Buildroot] [PATCH 7/8 v8] package.nvidia-tegra23-binaries: add gstreamer plugins Yann E. MORIN
@ 2015-03-14 19:09 ` Yann E. MORIN
  7 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2015-03-14 19:09 UTC (permalink / raw)
  To: buildroot

From: Nicolas Serafini <nicolas.serafini@sensefly.com>

nvidia-tegra23-codecs provides various HW-accelerated media codecs, such
as: AAC3, h264, jpeg, MP3...

Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>
[me:
  - split codecs from binaries into this patch
  - use our extractor helpers
]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

---
Changes v9 -> v10:
  - bump version  (Nicolas)
---
 package/nvidia-tegra23/Config.in                   |  1 +
 .../nvidia-tegra23/nvidia-tegra23-codecs/Config.in |  7 ++++
 .../nvidia-tegra23-codecs.hash                     |  3 ++
 .../nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk | 41 ++++++++++++++++++++++
 4 files changed, 52 insertions(+)
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash
 create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk

diff --git a/package/nvidia-tegra23/Config.in b/package/nvidia-tegra23/Config.in
index 28c99c7..eb33581 100644
--- a/package/nvidia-tegra23/Config.in
+++ b/package/nvidia-tegra23/Config.in
@@ -29,6 +29,7 @@ config BR2_PACKAGE_NVIDIA_TEGRA23_TEGRA3
 endchoice
 
 source "package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in"
+source "package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in"
 endif
 
 comment "nvidia-tegra23 needs Xorg <= 1.14 and a (e)glibc toolchain w/ EABIhf"
diff --git a/package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in b/package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in
new file mode 100644
index 0000000..df9de69
--- /dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_NVIDIA_TEGRA23_CODECS
+	bool "nvidia-tegra23 codecs"
+	depends on BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES
+	help
+	  NVIDIA Tegra restricted codecs from Linux For Tegra 16.5.
+
+	  https://developer.nvidia.com/linux-tegra-rel-16
diff --git a/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash b/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash
new file mode 100644
index 0000000..9b5c614
--- /dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash
@@ -0,0 +1,3 @@
+# From https://developer.nvidia.com/linux-tegra-rel-16
+sha1 540e89d5462537cd59c8a86efdb786b3b4310868 Tegra20_Linux-codecs_R16.5_armhf.tbz2
+sha1 3637efe808f25594e3cdc2756aef6e0274ab70f4 Tegra30_Linux-codecs_R16.5_armhf.tbz2
diff --git a/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk b/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk
new file mode 100644
index 0000000..d05dbb8
--- /dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk
@@ -0,0 +1,41 @@
+################################################################################
+#
+# nvidia-tegra23-codecs
+#
+################################################################################
+
+NVIDIA_TEGRA23_CODECS_VERSION = $(NVIDIA_TEGRA23_VERSION)
+NVIDIA_TEGRA23_CODECS_SOURCE = $(NVIDIA_TEGRA23_BASE)-codecs_R$(NVIDIA_TEGRA23_CODECS_VERSION)_armhf.tbz2
+NVIDIA_TEGRA23_CODECS_SITE = $(NVIDIA_TEGRA23_SITE)
+NVIDIA_TEGRA23_CODECS_LICENSE = NVIDIA(r) Tegra(r) Software License Agreement
+NVIDIA_TEGRA23_CODECS_LICENSE_FILES = Tegra_Software_License_Agreement-Tegra-Linux-codecs.txt
+NVIDIA_TEGRA23_CODECS_REDISTRIBUTE = NO
+NVIDIA_TEGRA23_CODECS_DEPENDENCIES = nvidia-tegra23-binaries
+NVIDIA_TEGRA23_CODECS_INSTALL_STAGING = NO
+NVIDIA_TEGRA23_CODECS_INSTALL_TARGET = YES
+
+NVIDIA_TEGRA23_CODECS_FIRMWARE = \
+	nvmm_aacdec.axf nvmm_adtsdec.axf nvmm_h264dec.axf nvmm_h264dec2x.axf \
+	nvmm_jpegdec.axf nvmm_jpegenc.axf nvmm_manager.axf nvmm_mp3dec.axf \
+	nvmm_mpeg4dec.axf nvmm_service.axf
+
+# The archive contains an archive with the firmware codecs
+define NVIDIA_TEGRA23_CODECS_EXTRACT_CMDS
+	$(INSTALL) -d $(@D)
+	$(call suitable-extractor,$(NVIDIA_TEGRA23_CODECS_SOURCE)) \
+		$(DL_DIR)/$(NVIDIA_TEGRA23_CODECS_SOURCE) | \
+	$(TAR) $(TAR_STRIP_COMPONENTS)=0 -C $(@D) $(TAR_OPTIONS) -
+	$(INSTALL) -d $(@D)/restricted_codecs
+	$(call suitable-extractor,$(@D)/restricted_codecs.tbz2) \
+		$(@D)/restricted_codecs.tbz2 | \
+	$(TAR) $(TAR_STRIP_COMPONENTS)=0 -C $(@D)/restricted_codecs/ $(TAR_OPTIONS) -
+endef
+
+define NVIDIA_TEGRA23_CODECS_INSTALL_TARGET_CMDS
+	$(foreach codec,$(NVIDIA_TEGRA23_CODECS_FIRMWARE),
+		$(INSTALL) -D -m 0644 $(@D)/restricted_codecs/lib/firmware/$(codec) \
+			$(TARGET_DIR)/lib/firmware/$(codec); \
+	)
+endef
+
+$(eval $(generic-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-03-14 19:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-14 19:09 [Buildroot] [PATCH 0/8 v8] NVidia GPU binary blobs for Tegra2/3 (branch yem/gfx2) Yann E. MORIN
2015-03-14 19:09 ` [Buildroot] [PATCH 1/8 v8] package/xserver_xorg-server: prepare for multiple supported versions Yann E. MORIN
2015-03-14 19:09 ` [Buildroot] [PATCH 2/8 v8] package/xserver_xorg-server: make the version a choice Yann E. MORIN
2015-03-14 19:09 ` [Buildroot] [PATCH 3/8 v8] package/xserver_xorg-server: add blind options to specify driver ABI Yann E. MORIN
2015-03-14 19:09 ` [Buildroot] [PATCH 4/8 v8] package/xserver_xorg-server: not all versions need all dependencies Yann E. MORIN
2015-03-14 19:09 ` [Buildroot] [PATCH 5/8 v8] package/xserver_xorg-server: add version 1.14.7 Yann E. MORIN
2015-03-14 19:09 ` [Buildroot] [PATCH 6/8 v8] package/nvidia-tegra23-binaries: new package Yann E. MORIN
2015-03-14 19:09 ` [Buildroot] [PATCH 7/8 v8] package.nvidia-tegra23-binaries: add gstreamer plugins Yann E. MORIN
2015-03-14 19:09 ` [Buildroot] [PATCH 8/8 v8] package/nvidia-tegra23-codecs: new package Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.