Commit graph

24 commits

Author SHA1 Message Date
Thomas Petazzoni 5a4d6e444c package/nvidia-driver: become an OpenCL provider
We need to install the mesa3d-headers, because the CL headers are not
provided by nvidia-driver (just like it didn't provide the OpenGL
headers).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-03 23:07:55 +01:00
Thomas Petazzoni 45004ac59a package/nvidia-driver: use += where appropriate
Within the BR2_PACKAGE_NVIDIA_DRIVER_XORG condition, some "="
assignements are used for various variables, which are also appended
in other conditions below in nvidia-driver.mk.

It works fine because those assignements appear earlier in the .mk,
but it is a bit error-prone, so let's use += when adding values to
those variables.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-03 23:07:40 +01:00
Bernd Kuhls bc864a5b55 package/nvidia-driver: bump version to 390.67
Added license hash, adjusted upstream library names.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-06-10 14:13:08 +02:00
Maxime Hadjinlian 514291f39e packages: use new $($PKG)_DL_DIR) variable
Instead of DL_DIR, the package should now use $(PKG)_DL_DIR to ease the
transition into a new directory structure for DL_DIR.

This commit has been generated with the following scripts:

for i in $(find . -iname "*.mk"); do
	if ! grep -q "\$(DL_DIR)" ${i}; then
		continue
	fi
	pkg_name="$(basename $(dirname ${i}))"
	[ "${pkg_name}" = "package" ] && continue
	raw_pkg_name=$(echo ${pkg_name} | tr [a-z] [A-Z] | tr '-' '_')
	pkg_dl_dir="${raw_pkg_name}_DL_DIR"
	sed -i "s/\$(DL_DIR)/\$($pkg_dl_dir)/" ${i}
done

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-04-02 15:53:53 +02:00
Bernd Kuhls 985fe64026 package/nvidia-driver: bump version to 384.69
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-09-24 14:38:05 +02:00
Bernd Kuhls e3dab26f2e package/nvidia-driver: depends on xlib_libX11 & xlib_libXext
Fix libglu build error

  CXXLD    libGLU.la
/home/buildroot/br4/output/host/lib/gcc/i586-buildroot-linux-gnu/6.4.0/../../../../i586-buildroot-linux-gnu/bin/ld: cannot find -lXext
/home/buildroot/br4/output/host/lib/gcc/i586-buildroot-linux-gnu/6.4.0/../../../../i586-buildroot-linux-gnu/bin/ld: cannot find -lX11
collect2: error: ld returned 1 exit status

using this defconfig

BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_NVIDIA_DRIVER=y
BR2_PACKAGE_LIBGLU=y

The nvidia binary blob is linked to libX11.so & libEext.so

$ output/host/bin/i586-buildroot-linux-gnu-readelf -a output/target/usr/lib/libGL.so | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libnvidia-tls.so.381.09]
 0x00000001 (NEEDED)                     Shared library: [libnvidia-glcore.so.381.09]
 0x00000001 (NEEDED)                     Shared library: [libX11.so.6]
 0x00000001 (NEEDED)                     Shared library: [libXext.so.6]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]

which is also reflected by Libs-section of package/nvidia-driver/gl.pc.

To allow other packages linking to libGL.so provided by this package we
need to reflect the fact that xlib_libX11 & xlib_libXext are not
runtime-only dependencies.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-09-24 14:36:48 +02:00
Yann E. MORIN 05a86bdf1f package/nvidia-driver: install an egl.pc
A lot of packages expect an egl.pc to decide that EGL is available. So,
provide one.

As suggested by Alexandre, use the one from nvidia-tegra23 as template.

Reported-by: Alexandre Maumené <alexandre@maumene.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Alexandre Maumené <alexandre@maumene.org>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-08-29 22:58:05 +02:00
Bernd Kuhls 47ef5def00 package/nvidia-driver: bump version to 381.09
libnvidia-egl-wayland.so was renamed in upstream archive.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-04 23:14:39 +02:00
Thomas Petazzoni 2068c7c6a8 nvidia-driver: use http:// instead of ftp://
Fixes the download, which currently times out on http://.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-04 23:13:12 +02:00
Ricardo Martincoski 4ef04c476c package: remove trailing backslash
Occurrences were searched using [1]:
check-package --include-only TrailingBackslash $(find * -type f)
and manually removed.

[1] http://patchwork.ozlabs.org/patch/729669/

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-06 22:41:45 +02:00
Bernd Kuhls 7ecfd5db6f package/nvidia-driver: bump version to 375.20
http://www.nvidia.com/download/driverResults.aspx/111596/en-us
"Added support for X.Org xserver ABI 23 (xorg-server 1.19)"

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-12-04 16:09:39 +01:00
Jerzy Grzegorek 0eccbcf814 package/nvidia-driver: indentation cleanup
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-26 12:23:31 +02:00
Yann E. MORIN c464f96004 package/nvidia-driver: update version
This new version brings in support for egl-wayland, the EGL extensions
aimed at making it possible to implement Wayland servers and clients. As
such, nvidia-driver becomes the second EGL implementation in Buildroot
that can act as a libegl provider with egl-wayland extensions.

In this version, it becomes possible to use our kernel-module infra,
with just a little few minor tricks: we need just specify the Linux
source and build trees (they are the same for us) and the list of
modules to build. We still need a little patch against the Kbuild files.

We also get rid of the LIBS_NO_VERSION trick and always use complete
filenames, as more libs are now packaged with different version in their
filenames, and even some with no version at all.

When installing libs, we switch from a shell loop to a make foreach
loop, which is easier to handle. It has the side-effect (and advantage)
of displaying the install commands for each library, rather than a
single biggish one, so it is easier to see what goes wrong. This also
means that an error in each phase of the install (the copy of the files
then each symlink) can be caught more easily (it was not previously):
each sequence is now its own make command; we need not use "|| exit 1"
after each command, even in a if block, because the if blocks returns
with the exit code of the last command in it; e.g. if an ln fails, the
if-block in which it is enclosed will return the exit code of ln, and
make will catch it.

Similarly for the X driver modules and each of the programs installed:
we now can catch any failure in the isntall of those.

All of this somewhat simplifies the .mk. It is a little bit longer, but
the structure is saner and more explicit.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-20 21:15:25 +02:00
Thomas Petazzoni 416fd9cd13 Replace (e)glibc by glibc
Following the removal of eglibc support, this commit replaces all
occurences of "(e)glibc" by just "glibc". Most of the occurences are in
package Config.in comments.

In addition, when the form "an (e)glibc ..." was used, it is replaced by
"a glibc ...".

[Peter: add new efi* packages, s/uclibc/uClibc as suggested by Romain,
        systemd / liquid-dsp tweaks as suggested by Yann]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-28 22:19:22 +02:00
Jerzy Grzegorek 446d56d783 nvidia-driver: indentation cleanup
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-09 23:00:14 +01:00
Yann E. MORIN e93381aac7 package/nvidia-driver: require kernel modules from Kconfig
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-12-29 23:51:44 +01:00
Bernd Kuhls 1a85673f0e package/nvidia-driver: bump version to 358.16
Needed for compatibility with X.org xserver >= 1.18:
http://www.nvidia.com/download/driverResults.aspx/95921/en-us
"Added support for X.Org xserver ABI 20 (xorg-server 1.18)."

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-19 14:09:04 +01:00
Yann E. MORIN 727bae0245 packages: ensure linux supports modules even when not using kernel-module
Some packages build kernel modules without using the kernel-module infra
(because they use custom build systems); they do not automatically get
the kernel to support modules which is ensured when using the infra.

It must be done manually for all those packages, whenever they are
enabled.

Note: the nvidia-driver case does not need the ifeq-block other packages
use, because it is already enclosed in a more stringent ifeq-block.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Noé Rubinstein <nrubinstein@aldebaran.com>
Cc: Jan Viktorin <viktorin@rehivetech.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-04 13:16:58 +02:00
Yann E. MORIN 861cc84f8c package/nvidia-driver: don't install gl.pc when not providing libgl
When nvidia-driver does not provide libgl (i.e. when it does not install
the X.org driver), it should also not install gl.pc, otherwise, packages
that depend on pkg-config will mis-detect presence of GL and fail to
build, like vlc:

    http://autobuild.buildroot.org/results/724/724fce8ce51c2c0578192b1369a1cfcea3d72638/

So, only install gl.pc when we install the X.org driver. Similarly, we
do not need to install libGL.la either.

Reported-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Reviewed-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-25 10:34:41 +02:00
Yann E. MORIN 2d3e97e033 package/nvidia-driver: add option to install CUDA MPS server
Using CUDA with NVidia requires those two programs if one wants to use
more than one program doing CUDA at the same time.

This is only available on x86_64.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Al West <al.west@v-nova.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01 23:25:03 +02:00
Yann E. MORIN 4ed3c04950 package/nvidia-driver: CUDA support does not require X.org
Currently, nvidia-driver always installs the X.org driver, assuming this
is a requirement for all functionalities provided by nvidia-driver, thus
pulling in quite a bunch of X.org packages.

However, it is perfectly legit to be doing CUDA (and OpenCL) work
without the full X.org stack, and indeed the NVidia CUDA and OpenCL
libraries do not require the X.org stack.

Split the configuration so that it is posible to install the different
parts independently from each others, so that CUDA can be installed all
on its own.

Reported-by: Al West <al.west@v-nova.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Al West <al.west@v-nova.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01 23:24:44 +02:00
Yann E. MORIN 7b9285a874 package/nvidia-driver: build the kernel module
Add option to build the nvidia.ko module. If CUDA is enabled on x86_64,
also build the nvidia-uvm.ko kernel module (for Unified Memory access),
which is required by the CUDA user-land library.

Substancially inspired by the corresponding Gentoo ebuild:
    http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-340.32.ebuild?revision=1.2&view=markup

[Thomas:
  - add quotes when using $(TARGET_CC) and other variables, since they
    can have spaces in their values
  - remove space after opening parenthesis and before closing parenthesis.]

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-21 23:28:51 +01:00
Jérôme Pouiller 13d761486a package/nvidia-driver: Add gl.pc
In order to compile xserver, libgl provider have to provide gl.pc file.

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-21 18:39:54 +01:00
Yann E. MORIN eb69015f1f package/nvidia-driver: add NVidia's OpenGL binary blob
This patch only adds the userland part. Unless other such other
packages (which we named like: rpi-userland), we do not replicate this
naming scheme with this package, as a future patch will also enable
building the kernel part of the driver. So, it is better to just name
that package with -driver, rather than with -userland and renaming it
afterwards.

[Thomas:
 - Rewrap Config.in help text.
 - Add a comment to explain why mesa3d-headers, xlib_libX11 and
   xlib_libXext are part of the dependencies.
 - Fix typo in comment about library installation: s/The/Then/
 - Use 'addsuffix' instead of 'patsubst' to calculate the final
   filename of libraries to install.
 - Use more temporary variables to make the library installation loop
   clearer: 'libpath' is the relative path of the library in
   nvidia-driver sources, 'libname' the base name of the library,
   'libsoname' the soname of the library, and 'baseso' the base .so
   symlink name.]

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-21 18:31:14 +01:00