Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 08/10 v7] package/nvidia-tegra23-binaries: new package
Date: Sat, 21 Feb 2015 23:46:36 +0100	[thread overview]
Message-ID: <20150221234636.50616706@free-electrons.com> (raw)
In-Reply-To: <af61ad6f5736862b334002ce47727c9ce3bb2ab3.1423597914.git.yann.morin.1998@free.fr>

Yann, Nicolas,

On Tue, 10 Feb 2015 21:01:15 +0100, Yann E. MORIN wrote:

> diff --git a/package/nvidia-tegra23/Config.in b/package/nvidia-tegra23/Config.in
> new file mode 100644
> index 0000000..950f2f8
> --- /dev/null
> +++ b/package/nvidia-tegra23/Config.in
> @@ -0,0 +1,36 @@
> +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

Why is X.org required? Those NVidia drivers provide an EGL
implementation, so I would expect them to be usable without X.org, for
example if you want to do Qt5 over eglfs. Isn't it the case?

> +choice
> +	prompt "X11 ABI version"
> +	default BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V11
> +	help
> +	  Select Tegra X11 ABI version.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V5
> +	bool "X11 ABI 5"
> +	help
> +	  Tegra X11 ABI 5.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V6
> +	bool "X11 ABI 6"
> +	help
> +	  Tegra X11 ABI 6.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V7
> +	bool "X11 ABI 7"
> +	help
> +	  Tegra X11 ABI 7.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V8
> +	bool "X11 ABI 8"
> +	help
> +	  Tegra X11 ABI 8.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V10
> +	bool "X11 ABI 10"
> +	help
> +	  Tegra X11 ABI 10.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V11
> +	bool "X11 ABI 11"
> +	help
> +	  Tegra X11 ABI 11.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V12
> +	bool "X11 ABI 12"
> +	help
> +	  Tegra X11 ABI 12.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V13
> +	bool "X11 ABI 13"
> +	help
> +	  Tegra X11 ABI 13.
> +
> +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V14
> +	bool "X11 ABI 14"
> +	help
> +	  Tegra X11 ABI 14.

Is this choice really useful? In Buildroot, we only support one version
of the X.org server at a time, so only one ABI version.

And currently, we have X.org server 1.17.1, which implementation the
video driver ABI version 19. How can this work with the Tegra drivers
if they only support up to ABI version 14 ?

> +NVIDIA_TEGRA23_BINARIES_VERSION	= $(NVIDIA_TEGRA23_VERSION)

Spacing issue here.

> +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

Last line not needed, it's the default.

> +NVIDIA_TEGRA23_BINARIES_DEPENDENCIES = mesa3d-headers \
> +	xlib_libX11 xlib_libXext xlib_libXv

A comment above this explaining why even though those are not build
dependencies of nvidia-tegra23-binaries they should still be listed in
the DEPENDENCIES would be useful.

> +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); \
> +	)

Don't we need a $(sep) here in the foreach loop?

> +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); \
> +	)

Ditto.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  parent reply	other threads:[~2015-02-21 22:46 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-10 20:01 [Buildroot] [PATCH 0/10 v7] NVidia GPU binary blobs for x86 and ARM (branch yem/gfx2) Yann E. MORIN
2015-02-10 20:01 ` [Buildroot] [PATCH 01/10 v7] package/python-lxml: new host package Yann E. MORIN
2015-02-10 20:01 ` [Buildroot] [PATCH 02/10 v7] package/python-lxml: add target variant Yann E. MORIN
2015-02-10 20:01 ` [Buildroot] [PATCH 03/10 v7] package/mesa3d-headers: new package Yann E. MORIN
2015-02-11 14:06   ` Nicolas Serafini
2015-02-11 18:02     ` Yann E. MORIN
2015-02-12 17:25       ` Nicolas Serafini
2015-02-20 12:39       ` Jérôme Pouiller
2015-02-14  9:09   ` Thomas Petazzoni
2015-02-14  9:12     ` Yann E. MORIN
2015-02-21 16:43   ` Thomas Petazzoni
2015-02-10 20:01 ` [Buildroot] [PATCH 04/10 v7] package/mesa3d-headers: also install dri header and .pc file Yann E. MORIN
2015-02-21 16:45   ` Thomas Petazzoni
2015-02-10 20:01 ` [Buildroot] [PATCH 05/10 v7] package/nvidia-driver: add NVidia's OpenGL binary blob Yann E. MORIN
2015-02-10 20:01 ` [Buildroot] [PATCH 06/10 v7] package/nvidia-driver: Add gl.pc Yann E. MORIN
2015-04-24 20:16   ` Bernd Kuhls
2015-04-24 20:53     ` Yann E. MORIN
2015-02-10 20:01 ` [Buildroot] [PATCH 07/10 v7] package/nvidia-driver: build the kernel module Yann E. MORIN
2015-02-21 22:30   ` Thomas Petazzoni
2015-02-10 20:01 ` [Buildroot] [PATCH 08/10 v7] package/nvidia-tegra23-binaries: new package Yann E. MORIN
2015-02-11 13:42   ` Nicolas Serafini
2015-02-11 17:52     ` Yann E. MORIN
2015-02-21 22:46   ` Thomas Petazzoni [this message]
2015-02-21 22:58     ` Yann E. MORIN
2015-02-23 11:41       ` Nicolas Serafini
2015-03-04 22:39         ` Laurent Colloud
2015-03-06 23:15           ` Yann E. MORIN
2015-03-07  8:03             ` Thomas Petazzoni
2015-03-07  9:53               ` Bernd Kuhls
2015-03-07 13:01               ` Yann E. MORIN
2015-03-07 13:19                 ` Thomas Petazzoni
2015-03-07 15:04                   ` Yann E. MORIN
2015-03-09 19:25                     ` Laurent Colloud
2015-03-09 21:27                       ` Yann E. MORIN
2015-03-10 10:07                         ` Nicolas Serafini
2015-03-07  8:05             ` Thomas Petazzoni
2015-03-07  8:06         ` Thomas Petazzoni
2015-02-10 20:01 ` [Buildroot] [PATCH 09/10 v7] package.nvidia-tegra23-binaries: add gstreamer plugins Yann E. MORIN
2015-02-10 20:01 ` [Buildroot] [PATCH 10/10 v7] package/nvidia-tegra23-codecs: new package Yann E. MORIN
2015-02-10 20:10 ` [Buildroot] [PATCH 0/10 v7] NVidia GPU binary blobs for x86 and ARM (branch yem/gfx2) Yann E. MORIN
2015-02-14  8:59 ` Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150221234636.50616706@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox