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