blob: 2bf1bebe2a615db4b147cfed42e6ae01de830d3b (
plain)
1 # Description: NVIDIA Linux Display Driver (production branch)
2 # URL: https://www.nvidia.com/
3 # Maintainer: Matt Housh, jaeger at crux dot ninja
4 # Depends on: gtk gtk3 libglvnd
5
6 name=nvidia
7 version=525.60.11
8 release=1
9 source=(https://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 nvidia-powerd.rc)
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 install -d $PKG/usr/lib
25
26 # EGL and OpenGL ES libraries and config
27 install -m 0755 libGLESv1_CM_nvidia.so.$version $PKG/usr/lib/
28 ln -s libGLESv1_CM_nvidia.so.$version $PKG/usr/lib/libGLESv1_CM_nvidia.so.1
29 install -m 0755 libGLESv2_nvidia.so.$version $PKG/usr/lib/
30 ln -s libGLESv2_nvidia.so.$version $PKG/usr/lib/libGLESv2_nvidia.so.2
31 install -D -m 0644 10_nvidia.json $PKG/usr/share/glvnd/egl_vendor.d/10_nvidia.json
32
33 # GBM libraries and config
34 install -m 0755 libnvidia-egl-gbm.so.1.1.0 $PKG/usr/lib/
35 ln -s libnvidia-egl-gbm.so.1.1.0 $PKG/usr/lib/libnvidia-egl-gbm.so.1
36 ln -s libnvidia-egl-gbm.so.1.1.0 $PKG/usr/lib/libnvidia-egl-gbm.so
37 install -D -m 0644 15_nvidia_gbm.json $PKG/usr/share/egl/egl_external_platform.d/15_nvidia_gbm.json
38 ln -s libnvidia-allocator.so.$version $PKG/usr/lib/nvidia-drm_gbm.so
39
40 # wayland EGL library and config
41 if [ $(prt-get isinst wayland > /dev/null) -ne 0 ]; then
42 install -d $PKG/usr/share/egl/egl_external_platform.d
43 install -m 0755 libnvidia-egl-wayland.so.1.0.2 $PKG/usr/lib/
44 install -m 0644 10_nvidia_wayland.json $PKG/usr/share/egl/egl_external_platform.d/
45 fi
46
47 # GLVND vendor implementation libraries
48 install -m 0755 libGLX_nvidia.so.$version $PKG/usr/lib/
49 ln -s libGLX_nvidia.so.$version $PKG/usr/lib/libGLX_nvidia.so.0
50 install -m 0755 libEGL_nvidia.so.$version $PKG/usr/lib/
51 ln -s libEGL_nvidia.so.$version $PKG/usr/lib/libEGL_nvidia.so.0
52
53 # vulkan ICD config
54 install -d $PKG/etc/vulkan/icd.d
55 install -m 0644 nvidia_icd.json $PKG/etc/vulkan/icd.d/
56
57 # driver component libraries
58 install -m 0755 libnvidia-cfg.so.$version $PKG/usr/lib/
59 install -m 0755 libnvidia-compiler.so.$version $PKG/usr/lib/
60 install -m 0755 libnvidia-eglcore.so.$version $PKG/usr/lib/
61 install -m 0755 libnvidia-glcore.so.$version $PKG/usr/lib/
62 install -m 0755 libnvidia-glsi.so.$version $PKG/usr/lib/
63 install -m 0755 libnvidia-glvkspirv.so.$version $PKG/usr/lib/
64 install -m 0755 libnvidia-rtcore.so.$version $PKG/usr/lib/
65
66 # vendor VDPAU library
67 install -D -m 0755 libvdpau_nvidia.so.$version $PKG/usr/lib/vdpau/libvdpau_nvidia.so.$version
68 ln -s libvdpau_nvidia.so.$version $PKG/usr/lib/vdpau/libvdpau_nvidia.so.1
69 ln -s libvdpau_nvidia.so.$version $PKG/usr/lib/vdpau/libvdpau_nvidia.so
70
71 # CUDA libraries
72 install -m 0755 libcuda.so.$version $PKG/usr/lib/
73 ln -s libcuda.so.$version $PKG/usr/lib/libcuda.so.1
74 ln -s libcuda.so.$version $PKG/usr/lib/libcuda.so
75 install -m 0755 libcudadebugger.so.$version $PKG/usr/lib/
76 ln -s libcudadebugger.so.$version $PKG/usr/lib/libcudadebugger.so.1
77 ln -s libcudadebugger.so.$version $PKG/usr/lib/libcudadebugger.so
78 install -m 0755 libnvidia-ptxjitcompiler.so.$version $PKG/usr/lib/
79 ln -s libnvidia-ptxjitcompiler.so.$version $PKG/usr/lib/libnvidia-ptxjitcompiler.so.1
80 ln -s libnvidia-ptxjitcompiler.so.$version $PKG/usr/lib/libnvidia-ptxjitcompiler.so
81
82 # OpenCL libraries and config
83 install -m 0755 libOpenCL.so.1.0.0 $PKG/usr/lib/
84 install -m 0755 libnvidia-opencl.so.$version $PKG/usr/lib/
85 ln -s libnvidia-opencl.so.$version $PKG/usr/lib/libnvidia-opencl.so.1
86 ln -s libnvidia-opencl.so.$version $PKG/usr/lib/libnvidia-opencl.so
87 install -D -m 0644 nvidia.icd $PKG/etc/OpenCL/vendors/nvidia.icd
88
89 # CUDA MPI applications
90 install -d $PKG/usr/bin
91 install -m 0755 nvidia-cuda-mps-control $PKG/usr/bin/
92 install -m 0755 nvidia-cuda-mps-server $PKG/usr/bin/
93
94 # TLS libraries
95 install -m 0755 libnvidia-tls.so.$version $PKG/usr/lib/
96
97 # monitoring and management API library
98 install -m 0755 libnvidia-ml.so.$version $PKG/usr/lib/
99 ln -s libnvidia-ml.so.$version $PKG/usr/lib/libnvidia-ml.so.1
100 ln -s libnvidia-ml.so.$version $PKG/usr/lib/libnvidia-ml.so
101
102 # applications
103 install -m 4755 nvidia-modprobe $PKG/usr/bin/
104 install -m 0755 nvidia-{xconfig,settings,smi,debugdump,persistenced,powerd} \
105 $PKG/usr/bin/
106 install -D -m 0755 $SRC/nvidia-powerd.rc $PKG/etc/rc.d/nvidia-powerd
107
108 # nvidia-settings UI libraries
109 install -m 0755 libnvidia-gtk{2,3}.so.$version $PKG/usr/lib/
110
111 # encoding/decoding libraries
112 install -m 0755 libnvcuvid.so.$version $PKG/usr/lib/
113 install -m 0755 libnvidia-encode.so.$version $PKG/usr/lib/
114 install -m 0755 libnvidia-fbc.so.$version $PKG/usr/lib/
115
116 # OptiX ray tracing engine
117 install -m 0755 libnvoptix.so.$version $PKG/usr/lib/
118 ln -s libnvoptix.so.$version $PKG/usr/lib/libnvoptix.so.1
119 ln -s libnvoptix.so.$version $PKG/usr/lib/libnvoptix.so
120
121 # Optical Flow library
122 install -m 0755 libnvidia-opticalflow.so.$version $PKG/usr/lib/
123 ln -s libnvidia-opticalflow.so.$version $PKG/usr/lib/libnvidia-opticalflow.so.1
124 ln -s libnvidia-opticalflow.so.$version $PKG/usr/lib/libnvidia-opticalflow.so
125
126 # NGX library
127 install -m 0755 libnvidia-ngx.so.$version $PKG/usr/lib/
128 ln -s libnvidia-ngx.so.$version $PKG/usr/lib/libnvidia-ngx.so.1
129 ln -s libnvidia-ngx.so.$version $PKG/usr/lib/libnvidia-ngx.so
130
131 # X driver config
132 install -D -m 0644 $SRC/10-nvidia-drm-outputclass.conf \
133 $PKG/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
134
135 # application profile keys and documentation
136 install -d -m 0755 $PKG/usr/share/nvidia
137 install -m 0644 nvidia-application-profiles-$version-rc $PKG/usr/share/nvidia/
138 install -m 0644 nvidia-application-profiles-$version-key-documentation $PKG/usr/share/nvidia/
139
140 # desktop file and icon
141 install -d $PKG/usr/share/{applications,pixmaps}
142 sed -i -e 's,__UTILS_PATH__,/usr/bin,' -e 's,__PIXMAP_PATH__,/usr/share/pixmaps,' nvidia-settings.desktop
143 install -m 0644 nvidia-settings.desktop $PKG/usr/share/applications/
144 install -m 0644 nvidia-settings.png $PKG/usr/share/pixmaps/
145
146 # nvidia-uvm udev rules file
147 install -D -m 0644 $SRC/90-nvidia-uvm.rules $PKG/lib/udev/rules.d/90-nvidia-uvm.rules
148
149 # kernel modules
150 cd kernel
151 IGNORE_CC_MISMATCH=1 make module
152 install -d $PKG/lib/modules/$(uname -r)/extra
153 install -m 0644 *.ko $PKG/lib/modules/$(uname -r)/extra/
154 }
|