1 # Description: NVIDIA Linux Display Driver (long lived branch)
2 # URL: http://www.nvidia.com/
3 # Maintainer: Matt Housh, jaeger at crux dot ninja
4 # Depends on: gtk gtk3 libglvnd
5
6 name=nvidia
7 version=418.56
8 release=1
9 source=(http://us.download.nvidia.com/XFree86/Linux-x86_64/$version/NVIDIA-Linux-x86_64-$version.run \
10 90-nvidia-uvm.rules 10-nvidia-drm-outputclass.conf)
11
12 build() {
13 sh NVIDIA-Linux-x86_64-$version.run --extract-only
14 cd NVIDIA-Linux-x86_64-$version
15
16 # X driver and GLX extension
17 install -d $PKG/usr/lib/xorg/modules/{drivers,extensions}
18 install -m 0755 nvidia_drv.so $PKG/usr/lib/xorg/modules/drivers/
19 install -d -m 0755 $PKG/usr/lib/nvidia/xorg
20 install -m 0755 libglxserver_nvidia.so.$version $PKG/usr/lib/nvidia/xorg/
21 ln -s libglxserver_nvidia.so.$version $PKG/usr/lib/nvidia/xorg/libglxserver_nvidia.so
22 ln -s libglxserver_nvidia.so.$version $PKG/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
23
24 # EGL and OpenGL ES libraries and config
25 install -d $PKG/usr/lib
26 install -m 0755 libGLESv1_CM_nvidia.so.$version $PKG/usr/lib/
27 ln -s libGLESv1_CM_nvidia.so.$version $PKG/usr/lib/libGLESv1_CM_nvidia.so.1
28 install -m 0755 libGLESv2_nvidia.so.$version $PKG/usr/lib/
29 ln -s libGLESv2_nvidia.so.$version $PKG/usr/lib/libGLESv2_nvidia.so.2
30 install -D -m 0644 10_nvidia.json $PKG/usr/share/glvnd/egl_vendor.d/10_nvidia.json
31
32 # wayland EGL library and config
33 #install -d $PKG/usr/share/egl/egl_external_platform.d
34 #install -m 0755 libnvidia-egl-wayland.so.1.0.2 $PKG/usr/lib/
35 #install -m 0644 10_nvidia_wayland.json $PKG/usr/share/egl/egl_external_platform.d/
36
37 # GLVND vendor implementation libraries
38 install -m 0755 libGLX_nvidia.so.$version $PKG/usr/lib/
39 ln -s libGLX_nvidia.so.$version $PKG/usr/lib/libGLX_nvidia.so.0
40 install -m 0755 libEGL_nvidia.so.$version $PKG/usr/lib/
41 ln -s libEGL_nvidia.so.$version $PKG/usr/lib/libEGL_nvidia.so.0
42
43 # vulkan ICD config
44 install -d $PKG/etc/vulkan/icd.d
45 sed -i -e 's,__NV_VK_ICD__,libGLX_nvidia.so.0,g' nvidia_icd.json.template
46 install -m 0644 nvidia_icd.json.template $PKG/etc/vulkan/icd.d/nvidia_icd.json
47
48 # driver component libraries
49 install -m 0755 libnvidia-cfg.so.$version $PKG/usr/lib/
50 install -m 0755 libnvidia-compiler.so.$version $PKG/usr/lib/
51 install -m 0755 libnvidia-eglcore.so.$version $PKG/usr/lib/
52 install -m 0755 libnvidia-glcore.so.$version $PKG/usr/lib/
53 install -m 0755 libnvidia-glsi.so.$version $PKG/usr/lib/
54 install -m 0755 libnvidia-glvkspirv.so.$version $PKG/usr/lib/
55 install -m 0755 libnvidia-rtcore.so.$version $PKG/usr/lib/
56 install -m 0755 libnvidia-cbl.so.$version $PKG/usr/lib/
57
58 # vendor VDPAU library
59 install -D -m 0755 libvdpau_nvidia.so.$version $PKG/usr/lib/vdpau/libvdpau_nvidia.so.$version
60 ln -s libvdpau_nvidia.so.$version $PKG/usr/lib/vdpau/libvdpau_nvidia.so.1
61 ln -s libvdpau_nvidia.so.$version $PKG/usr/lib/vdpau/libvdpau_nvidia.so
62
63 # CUDA libraries
64 install -m 0755 libcuda.so.$version $PKG/usr/lib/
65 ln -s libcuda.so.$version $PKG/usr/lib/libcuda.so.1
66 ln -s libcuda.so.$version $PKG/usr/lib/libcuda.so
67 install -m 0755 libnvidia-fatbinaryloader.so.$version $PKG/usr/lib/
68 install -m 0755 libnvidia-ptxjitcompiler.so.$version $PKG/usr/lib/
69 ln -s libnvidia-ptxjitcompiler.so.$version $PKG/usr/lib/libnvidia-ptxjitcompiler.so.1
70 ln -s libnvidia-ptxjitcompiler.so.$version $PKG/usr/lib/libnvidia-ptxjitcompiler.so
71
72 # OpenCL libraries and config
73 install -m 0755 libOpenCL.so.1.0.0 $PKG/usr/lib/
74 install -m 0755 libnvidia-opencl.so.$version $PKG/usr/lib/
75 ln -s libnvidia-opencl.so.$version $PKG/usr/lib/libnvidia-opencl.so.1
76 ln -s libnvidia-opencl.so.$version $PKG/usr/lib/libnvidia-opencl.so
77 install -D -m 0644 nvidia.icd $PKG/etc/OpenCL/vendors/nvidia.icd
78
79 # CUDA MPI applications
80 install -d $PKG/usr/bin
81 install -m 0755 nvidia-cuda-mps-control $PKG/usr/bin/
82 install -m 0755 nvidia-cuda-mps-server $PKG/usr/bin/
83
84 # TLS libraries
85 install -m 0755 libnvidia-tls.so.$version $PKG/usr/lib/
86
87 # monitoring and management API library
88 install -m 0755 libnvidia-ml.so.$version $PKG/usr/lib/
89
90 # applications
91 install -m 4755 nvidia-modprobe $PKG/usr/bin/
92 install -m 0755 nvidia-{xconfig,settings,smi,debugdump,persistenced} \
93 $PKG/usr/bin/
94
95 # nvidia-settings UI libraries
96 install -m 0755 libnvidia-gtk{2,3}.so.$version $PKG/usr/lib/
97
98 # encoding/decoding libraries
99 install -m 0755 libnvcuvid.so.$version $PKG/usr/lib/
100 install -m 0755 libnvidia-encode.so.$version $PKG/usr/lib/
101 install -m 0755 libnvidia-ifr.so.$version $PKG/usr/lib/
102 install -m 0755 libnvidia-fbc.so.$version $PKG/usr/lib/
103
104 # OptiX ray tracing engine
105 install -m 0755 libnvoptix.so.$version $PKG/usr/lib/
106 ln -s libnvoptix.so.$version $PKG/usr/lib/libnvoptix.so.1
107 ln -s libnvoptix.so.$version $PKG/usr/lib/libnvoptix.so
108
109 # Optical Flow library
110 install -m 0755 libnvidia-opticalflow.so.$version $PKG/usr/lib/
111 ln -s libnvidia-opticalflow.so.$version $PKG/usr/lib/libnvidia-opticalflow.so.1
112 ln -s libnvidia-opticalflow.so.$version $PKG/usr/lib/libnvidia-opticalflow.so
113
114 # X driver config
115 install -D -m 0644 $SRC/10-nvidia-drm-outputclass.conf \
116 $PKG/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
117
118 # application profile keys and documentation
119 install -d -m 0755 $PKG/usr/share/nvidia
120 install -m 0644 nvidia-application-profiles-$version-rc $PKG/usr/share/nvidia/
121 install -m 0644 nvidia-application-profiles-$version-key-documentation $PKG/usr/share/nvidia/
122
123 # desktop file and icon
124 install -d $PKG/usr/share/{applications,pixmaps}
125 sed -i -e 's,__UTILS_PATH__,/usr/bin,' -e 's,__PIXMAP_PATH__,/usr/share/pixmaps,' nvidia-settings.desktop
126 install -m 0644 nvidia-settings.desktop $PKG/usr/share/applications/
127 install -m 0644 nvidia-settings.png $PKG/usr/share/pixmaps/
128
129 # nvidia-uvm udev rules file
130 install -D -m 0644 $SRC/90-nvidia-uvm.rules $PKG/lib/udev/rules.d/90-nvidia-uvm.rules
131
132 # kernel modules
133 cd kernel
134 IGNORE_CC_MISMATCH=1 make module
135 install -d $PKG/lib/modules/$(uname -r)/extra
136 install -m 0644 *.ko $PKG/lib/modules/$(uname -r)/extra/
137 }
|