xf86-video-nvidia: reworked build

This commit is contained in:
SupervisedThinking 2022-12-15 02:34:37 +01:00
parent 3709e44ce6
commit f6b039fd9b

View File

@ -38,43 +38,47 @@ make_target() {
}
makeinstall_target() {
mkdir -p ${INSTALL}/${XORG_PATH_MODULES}/drivers
cp -P nvidia_drv.so ${INSTALL}/${XORG_PATH_MODULES}/drivers/nvidia-main_drv.so
ln -sf /var/lib/nvidia_drv.so ${INSTALL}/${XORG_PATH_MODULES}/drivers/nvidia_drv.so
mkdir -p ${INSTALL}/${XORG_PATH_MODULES}/extensions
# rename to avoid conflicts with X.Org-Server module libglx.so
cp -P libglxserver_nvidia.so.${PKG_VERSION} ${INSTALL}/${XORG_PATH_MODULES}/extensions/libglx_nvidia.so
mkdir -p ${INSTALL}/etc/X11
cp ${PKG_DIR}/config/*.conf ${INSTALL}/etc/X11
mkdir -p ${INSTALL}/usr/lib
cp -P libnvidia-glcore.so.${PKG_VERSION} ${INSTALL}/usr/lib
cp -P libnvidia-glsi.so.${PKG_VERSION} ${INSTALL}/usr/lib
cp -P libnvidia-ml.so.${PKG_VERSION} ${INSTALL}/usr/lib
ln -sf /var/lib/libnvidia-ml.so.1 ${INSTALL}/usr/lib/libnvidia-ml.so.1
cp -P libnvidia-tls.so.${PKG_VERSION} ${INSTALL}/usr/lib
cp -P libGLX_nvidia.so.${PKG_VERSION} ${INSTALL}/usr/lib/libGLX_nvidia.so.0
# Linux kernel modules
mkdir -p ${INSTALL}/usr/lib/nvidia
cp -P kernel/nvidia.ko ${INSTALL}/usr/lib/nvidia
mkdir -p ${INSTALL}/$(get_full_module_dir)/nvidia
ln -sf /var/lib/nvidia.ko ${INSTALL}/$(get_full_module_dir)/nvidia/nvidia.ko
cp -P kernel/nvidia-uvm.ko ${INSTALL}/$(get_full_module_dir)/nvidia
cp -P kernel/nvidia-modeset.ko ${INSTALL}/$(get_full_module_dir)/nvidia
mkdir -p ${INSTALL}/usr/lib/nvidia
cp -P kernel/nvidia.ko ${INSTALL}/usr/lib/nvidia
# X driver
mkdir -p ${INSTALL}/${XORG_PATH_MODULES}/drivers
cp -P nvidia_drv.so ${INSTALL}/${XORG_PATH_MODULES}/drivers/nvidia-main_drv.so
ln -sf /var/lib/nvidia_drv.so ${INSTALL}/${XORG_PATH_MODULES}/drivers/nvidia_drv.so
mkdir -p ${INSTALL}/usr/bin
ln -s /var/lib/nvidia-smi ${INSTALL}/usr/bin/nvidia-smi
cp nvidia-smi ${INSTALL}/usr/bin/nvidia-main-smi
ln -s /var/lib/nvidia-xconfig ${INSTALL}/usr/bin/nvidia-xconfig
cp nvidia-xconfig ${INSTALL}/usr/bin/nvidia-main-xconfig
# GLX extension module for X
mkdir -p ${INSTALL}/${XORG_PATH_MODULES}/extensions
# rename to avoid conflicts with X.Org-Server module libglx.so
cp -P libglxserver_nvidia.so.${PKG_VERSION} ${INSTALL}/${XORG_PATH_MODULES}/extensions/libglx_nvidia.so
mkdir -p ${INSTALL}/usr/lib/vdpau
cp libvdpau_nvidia.so* ${INSTALL}/usr/lib/vdpau/libvdpau_nvidia-main.so.1
ln -sf /var/lib/libvdpau_nvidia.so ${INSTALL}/usr/lib/vdpau/libvdpau_nvidia.so
ln -sf /var/lib/libvdpau_nvidia.so.1 ${INSTALL}/usr/lib/vdpau/libvdpau_nvidia.so.1
# Xorg config
mkdir -p ${INSTALL}/etc/X11
cp ${PKG_DIR}/config/*.conf ${INSTALL}/etc/X11
# GLX
mkdir -p ${INSTALL}/usr/lib
cp -P libGLX_nvidia.so.${PKG_VERSION} ${INSTALL}/usr/lib/libGLX_nvidia.so.0
# GLVND
mkdir -p ${INSTALL}/usr/share/glvnd/egl_vendor.d
cp -p 10_nvidia.json ${INSTALL}/usr/share/glvnd/egl_vendor.d
# OpenGL / EGL
mkdir -p ${INSTALL}/usr/lib
cp -p libEGL_nvidia.so.${PKG_VERSION} ${INSTALL}/usr/lib/
ln -sf libEGL_nvidia.so.${PKG_VERSION} ${INSTALL}/usr/lib/libEGL_nvidia.so.0
ln -sf libEGL_nvidia.so.0 ${INSTALL}/usr/lib/libEGL_nvidia.so
# OpenGL core
mkdir -p ${INSTALL}/usr/lib
cp -p libnvidia-eglcore.so.${PKG_VERSION} ${INSTALL}/usr/lib/
cp -P libnvidia-glcore.so.${PKG_VERSION} ${INSTALL}/usr/lib
cp -p libnvidia-glsi.so.${PKG_VERSION} ${INSTALL}/usr/lib
# Install Vulkan ICD & SPIR-V lib
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
@ -85,4 +89,32 @@ makeinstall_target() {
mkdir -p ${INSTALL}/usr/share/vulkan/implicit_layer.d
cp -P nvidia_layers.json ${INSTALL}/usr/share/vulkan/icd.d
fi
# nvidia-tls
mkdir -p ${INSTALL}/usr/lib
cp -P libnvidia-tls.so.${PKG_VERSION} ${INSTALL}/usr/lib
# NVIDIA Management Library (NVML) / System Management Interface
mkdir -p ${INSTALL}/usr/bin
ln -s /var/lib/nvidia-smi ${INSTALL}/usr/bin/nvidia-smi
cp nvidia-smi ${INSTALL}/usr/bin/nvidia-main-smi
mkdir -p ${INSTALL}/usr/lib
cp -P libnvidia-ml.so.${PKG_VERSION} ${INSTALL}/usr/lib
ln -sf /var/lib/libnvidia-ml.so.1 ${INSTALL}/usr/lib/libnvidia-ml.so.1
# Tool for manipulating X server configuration files
mkdir -p ${INSTALL}/usr/bin
ln -s /var/lib/nvidia-xconfig ${INSTALL}/usr/bin/nvidia-xconfig
cp nvidia-xconfig ${INSTALL}/usr/bin/nvidia-main-xconfig
# VDPAU
mkdir -p ${INSTALL}/usr/lib/vdpau
cp libvdpau_nvidia.so* ${INSTALL}/usr/lib/vdpau/libvdpau_nvidia-main.so.1
ln -sf /var/lib/libvdpau_nvidia.so ${INSTALL}/usr/lib/vdpau/libvdpau_nvidia.so
ln -sf /var/lib/libvdpau_nvidia.so.1 ${INSTALL}/usr/lib/vdpau/libvdpau_nvidia.so.1
# App profiles
mkdir -p ${INSTALL}/usr/share/nvidia
cp -P nvidia-application-profiles-${PKG_VERSION}-rc ${INSTALL}/usr/share/nvidia
}