Files
buildroot/package/nvidia-driver/Config.in
Thomas Petazzoni 4fad6b3c58 package/opengl/libegl: remove BR2_PACKAGE_HAS_LIBEGL_WAYLAND
Since wayland 1.15 (upstream commit
549a5ea710f4da1a5749587176d39fef1ded4077), libwayland-egl.so is
provided by the wayland package, so there is no longer a question of
whether libwayland-egl.so is provided by the particular EGL
implementation. See the Wayland commit log:

    wayland-egl: import libwayland-egl.so frontend library from Mesa

    Currently the client-facing libwayland-egl API is defined by a header
    file shipped by Wayland, but the implementation is left to each vendor.

    This can cause collisions when multiple implementations are installed on
    the same system. Importing the implementation into Wayland with a stable
    and versioned driver-facing ABI allows multiple drivers to coexist on
    the same system.

    Pull the sample implementation from Mesa commit 677edff5cfd
    ("wayland-egl: rework and simplify wl_egl_window initialization")
    It has been used by the Mesa open source drivers, NVIDIA and others[1].

    v2: Reword commit message, rebase on top of newer Mesa.

    [1] https://github.com/thayama/wayland-egl

Consequently, we remove the BR2_PACKAGE_HAS_LIBEGL_WAYLAND
option. Packages that rely on BR2_PACKAGE_HAS_LIBGLES and
BR2_PACKAGE_WAYLAND are guaranteed to have libwayland-egl.so.

Note that this doesn't solve the problem that libwayland-egl.so will be
provided both by wayland itself and by by the implementation
(rockchip-mali, sunxi-mali-utgard, ...). Still, there is a dependency
from the implementation on wayland so at least it is predictable which
one will end up on the target.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Arnout: remove remaining references in sway and sunxi-mali-utgard]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-07-13 09:30:58 +02:00

93 lines
2.6 KiB
Plaintext

comment "nvidia-driver needs a glibc toolchain"
depends on BR2_i386 || BR2_x86_64
depends on !BR2_TOOLCHAIN_USES_GLIBC
config BR2_PACKAGE_NVIDIA_DRIVER
bool "nvidia-driver"
depends on BR2_i386 || BR2_x86_64
depends on BR2_TOOLCHAIN_USES_GLIBC
help
The binary-only driver blob for NVidia cards.
This is the userland part only.
http://www.nvidia.com/
if BR2_PACKAGE_NVIDIA_DRIVER
comment "nvidia-driver X.org drivers needs a modular Xorg server"
depends on !BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR
config BR2_PACKAGE_NVIDIA_DRIVER_XORG
bool "X.org drivers"
default y
depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR
select BR2_PACKAGE_MESA3D_HEADERS
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_XLIB_LIBXEXT
select BR2_PACKAGE_HAS_LIBGL
select BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_HAS_LIBGLES
if BR2_PACKAGE_NVIDIA_DRIVER_XORG
config BR2_PACKAGE_PROVIDES_LIBGL
default "nvidia-driver"
config BR2_PACKAGE_PROVIDES_LIBEGL
default "nvidia-driver"
config BR2_PACKAGE_PROVIDES_LIBGLES
default "nvidia-driver"
config BR2_PACKAGE_NVIDIA_DRIVER_PRIVATE_LIBS
bool "Install private libraries"
help
Two libraries require special agreement with NVidia to
develop code linking to those libraries: libnvidia-ifr.so
and libnvidia-fbc.so (to grab and encode an OpenGL buffer or
an X framebuffer.)
Say 'y' here if you plan on running a program that uses
those private libraries.
endif # BR2_PACKAGE_NVIDIA_DRIVER_XORG
config BR2_PACKAGE_NVIDIA_DRIVER_CUDA
bool "CUDA support"
if BR2_PACKAGE_NVIDIA_DRIVER_CUDA
config BR2_PACKAGE_NVIDIA_DRIVER_OPENCL
bool "OpenCL support"
select BR2_PACKAGE_MESA3D_HEADERS
select BR2_PACKAGE_HAS_LIBOPENCL
config BR2_PACKAGE_PROVIDES_LIBOPENCL
default "nvidia-driver" if BR2_PACKAGE_NVIDIA_DRIVER_OPENCL
config BR2_PACKAGE_NVIDIA_DRIVER_CUDA_PROGS
bool "CUDA MPS server and control"
help
Say 'y' here if you need to run more than one program
doing CUDA at the same time. The MPS server will be
launched automatically when needed.
endif # BR2_PACKAGE_NVIDIA_DRIVER_CUDA
comment "nvidia kernel module needs a Linux kernel to be built"
depends on !BR2_LINUX_KERNEL
config BR2_PACKAGE_NVIDIA_DRIVER_MODULE
bool "nvidia kernel module"
depends on BR2_LINUX_KERNEL
select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
help
Build the nvidia.ko kernel module.
If CUDA support (above) is set, and the target is x86_64, then
this will also build the nvidia-uvm.ko kernel module, which
provides Unified Memory access to the GPU and CPU memories for
CUDA programs.
endif # BR2_PACKAGE_NVIDIA_DRIVER