diff --git a/nvidia-mxlinks.be0 b/nvidia-mxlinks.be0 index 1cf035eed..cf255634a 100755 --- a/nvidia-mxlinks.be0 +++ b/nvidia-mxlinks.be0 @@ -1,6 +1,6 @@ #!/bin/env beesh -# BEE_VERSION nvidia-mxlinks-0.16-0 +# BEE_VERSION nvidia-mxlinks-0.18-0 EXCLUDE=("^/usr/lib/(X11|xorg)(|/modules(|/drivers))$") @@ -18,6 +18,10 @@ mee_install() { "libnvidia-allocator.so.1" "libnvidia-api.so.1" "libnvidia-cfg.so.1" + "libnvidia-egl-gbm.so.1" + "libnvidia-egl-wayland.so.1" + "libnvidia-egl-xcb.so.1" + "libnvidia-egl-xlib.so.1" "libnvidia-encode.so.1" "libnvidia-fbc.so.1" "libnvidia-ml.so.1" @@ -25,6 +29,7 @@ mee_install() { "libnvidia-opencl.so.1" "libnvidia-opticalflow.so.1" "libnvidia-ptxjitcompiler.so.1" + "libnvidia-vksc-core.so.1" "libnvoptix.so.1" "libvdpau_nvidia.so.1" ) diff --git a/nvidia_current-510.108.03-1.bee b/nvidia_current-510.108.03-1.bee new file mode 100755 index 000000000..c67f9740d --- /dev/null +++ b/nvidia_current-510.108.03-1.bee @@ -0,0 +1,115 @@ +#!/bin/env beesh + +# resources: +# http://www.nvidia.com/object/unix.html +# ./README.txt +# ./.manifest +# https://github.com/NVIDIA/nvidia-installer +# ./nvidia-installer -A +# ./nvidia-installer --ui=none --accept-license --no-kernel-module --expert +# + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${PKGEXTRAVERSION:+-${PKGEXTRAVERSION}}.run" + +#SRCURL[0]="https://de.download.nvidia.com/XFree86/Linux-x86_64/$PKGVERSION/NVIDIA-Linux-x86_64-$PKGVERSION.run" +SRCURL[0]="https://beehive.molgen.mpg.de/a225bcb0373cbf6c552ed906bc5c614e/NVIDIA-Linux-x86_64-510.108.03.run" + + +BEE_CONFIGURE=none + +build_in_sourcedir + +PREFIX=/usr/share/nvidia/${PKGVERSION} +LIBDIR=${PREFIX}/lib +BINDIR=${PREFIX}/bin + +# fix tar option for user namespace usage (`unshare -U -r BEEFILE`) +export TAR_OPTIONS=--no-same-owner + +mee_extract() { + rmdir ${S} + sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} +} + +#mee_patch() { +# bee_patch +#} + +mee_build() { + #bee_build + true +} + +mee_install() { + #bee_install + + mkdir -pv ${D}${PREFIX}/{bin,lib,drivers,man/man1} + mkdir -pv ${D}/usr/lib + + NVDRV="nvidia_drv.so" + + NVBIN=( \ + "nvidia-cuda-mps-control" \ + "nvidia-modprobe" \ + "nvidia-persistenced" \ + "nvidia-settings" \ + "nvidia-smi" \ + "nvidia-xconfig" \ + ) + + for i in lib*.so.$PKGVERSION; do + install -v -t ${D}${LIBDIR} "$i" + ln -sv "${LIBDIR}/$i" ${D}/usr/lib/ + if soname="$(soname "$i")"; then + #echo "$soname\n" + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + # EGL external platform libraries: wayland 378.13, gbm 495.44 + for i in libnvidia-egl-*.so.*; do + install -v -t ${D}${LIBDIR} "$i" + if soname="$(soname "$i")"; then + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + # libglxserver_nvidia.so should reside in /usr/lib/xorg/modules/extensions, + # here we cheat away and stay in line with the /node/usr_share_mxgfx mechanism. + # Additional note: don't put/link libglx.so into /usr/lib. + ln -sv libglxserver_nvidia.so.$PKGVERSION ${D}${LIBDIR}/libglxserver_nvidia.so + mkdir -vp ${D}/usr/lib/xorg/modules/extensions + + cd ${D}/usr/lib/xorg/modules/extensions + ln -sv /usr/share/mxgfx/lib/libglxserver_nvidia.so libglxserver_nvidia.so + cd $B + + echo "installing ${NVDRV} as drivers/$(basename ${NVDRV})"; + install -c -v ${NVDRV} ${D}${PREFIX}/drivers + + mkdir -pv ${D}/usr/share/man/man1 + + for i in ${NVBIN[@]} ; do + echo "installing ${i} as bin/${i}" + install -v -c -m 755 ${i} ${D}${BINDIR} + install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1 + done + + mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + + # Vulkan and GLVND-EGL loader JSON. nvidiactl links it into /etc. + install -v -c -m 644 -D nvidia_icd.json \ + ${D}${PREFIX}/vulkan/icd.d/nvidia_icd.json + install -v -c -m 644 -D nvidia_layers.json \ + ${D}${PREFIX}/vulkan/implicit_layer.d/nvidia_layers.json + install -v -c -m 644 -D 10_nvidia.json \ + ${D}${PREFIX}/glvnd/egl_vendor.d/10_nvidia.json + + # EGL external platform JSON: wayland 378.13, gbm 495.44 + for i in 10_nvidia_wayland.json 15_nvidia_gbm.json ; do + install -v -c -m 644 -D "$i" \ + ${D}${PREFIX}/egl/egl_external_platform.d/"$i" + done + +} diff --git a/nvidia_current-510.60.02-2.bee b/nvidia_current-510.60.02-2.bee new file mode 100755 index 000000000..a1fa29332 --- /dev/null +++ b/nvidia_current-510.60.02-2.bee @@ -0,0 +1,115 @@ +#!/bin/env beesh + +# resources: +# http://www.nvidia.com/object/unix.html +# ./README.txt +# ./.manifest +# https://github.com/NVIDIA/nvidia-installer +# ./nvidia-installer -A +# ./nvidia-installer --ui=none --accept-license --no-kernel-module --expert +# + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${PKGEXTRAVERSION:+-${PKGEXTRAVERSION}}.run" + +#SRCURL[0]="https://de.download.nvidia.com/XFree86/Linux-x86_64/$PKGVERSION/NVIDIA-Linux-x86_64-$PKGVERSION.run" +SRCURL[0]="https://beehive.molgen.mpg.de/2288e18f3b767e66d465fb4add1df080/NVIDIA-Linux-x86_64-510.60.02.run" + + +BEE_CONFIGURE=none + +build_in_sourcedir + +PREFIX=/usr/share/nvidia/${PKGVERSION} +LIBDIR=${PREFIX}/lib +BINDIR=${PREFIX}/bin + +# fix tar option for user namespace usage (`unshare -U -r BEEFILE`) +export TAR_OPTIONS=--no-same-owner + +mee_extract() { + rmdir ${S} + sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} +} + +#mee_patch() { +# bee_patch +#} + +mee_build() { + #bee_build + true +} + +mee_install() { + #bee_install + + mkdir -pv ${D}${PREFIX}/{bin,lib,drivers,man/man1} + mkdir -pv ${D}/usr/lib + + NVDRV="nvidia_drv.so" + + NVBIN=( \ + "nvidia-cuda-mps-control" \ + "nvidia-modprobe" \ + "nvidia-persistenced" \ + "nvidia-settings" \ + "nvidia-smi" \ + "nvidia-xconfig" \ + ) + + for i in lib*.so.$PKGVERSION; do + install -v -t ${D}${LIBDIR} "$i" + ln -sv "${LIBDIR}/$i" ${D}/usr/lib/ + if soname="$(soname "$i")"; then + #echo "$soname\n" + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + # EGL external platform libraries: wayland 378.13, gbm 495.44 + for i in libnvidia-egl-*.so.*; do + install -v -t ${D}${LIBDIR} "$i" + if soname="$(soname "$i")"; then + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + # libglxserver_nvidia.so should reside in /usr/lib/xorg/modules/extensions, + # here we cheat away and stay in line with the /node/usr_share_mxgfx mechanism. + # Additional note: don't put/link libglx.so into /usr/lib. + ln -sv libglxserver_nvidia.so.$PKGVERSION ${D}${LIBDIR}/libglxserver_nvidia.so + mkdir -vp ${D}/usr/lib/xorg/modules/extensions + + cd ${D}/usr/lib/xorg/modules/extensions + ln -sv /usr/share/mxgfx/lib/libglxserver_nvidia.so libglxserver_nvidia.so + cd $B + + echo "installing ${NVDRV} as drivers/$(basename ${NVDRV})"; + install -c -v ${NVDRV} ${D}${PREFIX}/drivers + + mkdir -pv ${D}/usr/share/man/man1 + + for i in ${NVBIN[@]} ; do + echo "installing ${i} as bin/${i}" + install -v -c -m 755 ${i} ${D}${BINDIR} + install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1 + done + + mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + + # Vulkan and GLVND-EGL loader JSON. nvidiactl links it into /etc. + install -v -c -m 644 -D nvidia_icd.json \ + ${D}${PREFIX}/vulkan/icd.d/nvidia_icd.json + install -v -c -m 644 -D nvidia_layers.json \ + ${D}${PREFIX}/vulkan/implicit_layer.d/nvidia_layers.json + install -v -c -m 644 -D 10_nvidia.json \ + ${D}${PREFIX}/glvnd/egl_vendor.d/10_nvidia.json + + # EGL external platform JSON: wayland 378.13, gbm 495.44 + for i in 10_nvidia_wayland.json 15_nvidia_gbm.json ; do + install -v -c -m 644 -D "$i" \ + ${D}${PREFIX}/egl/egl_external_platform.d/"$i" + done + +} diff --git a/nvidia_current-535.104.05-1.bee b/nvidia_current-535.104.05-1.bee new file mode 100755 index 000000000..456480382 --- /dev/null +++ b/nvidia_current-535.104.05-1.bee @@ -0,0 +1,124 @@ +#!/bin/env beesh + +# resources: +# http://www.nvidia.com/object/unix.html +# ./README.txt +# ./.manifest +# https://github.com/NVIDIA/nvidia-installer +# ./nvidia-installer -A +# ./nvidia-installer --ui=none --accept-license --no-kernel-module --expert +# + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${PKGEXTRAVERSION:+-${PKGEXTRAVERSION}}.run" + +#SRCURL[0]="https://de.download.nvidia.com/XFree86/Linux-x86_64/$PKGVERSION/NVIDIA-Linux-x86_64-$PKGVERSION.run" +SRCURL[0]="https://beehive.molgen.mpg.de/0bb10ef32e86d5e1ad37b710dac6e079/NVIDIA-Linux-x86_64-535.104.05.run" + + +BEE_CONFIGURE=none + +build_in_sourcedir + +PREFIX=/usr/share/nvidia/${PKGVERSION} +LIBDIR=${PREFIX}/lib +BINDIR=${PREFIX}/bin + +# fix tar option for user namespace usage (`unshare -U -r BEEFILE`) +export TAR_OPTIONS=--no-same-owner + +mee_extract() { + rmdir ${S} + sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} +} + +#mee_patch() { +# bee_patch +#} + +mee_build() { + #bee_build + true +} + +mee_install() { + #bee_install + + mkdir -pv ${D}${PREFIX}/{bin,lib,drivers,man/man1} + mkdir -pv ${D}/usr/lib + + NVDRV="nvidia_drv.so" + + NVBIN=( \ + "nvidia-cuda-mps-control" \ + "nvidia-cuda-mps-server" \ + "nvidia-debugdump" \ + "nvidia-modprobe" \ + "nvidia-persistenced" \ + "nvidia-settings" \ + "nvidia-smi" \ + "nvidia-xconfig" \ + ) + + for i in lib*.so.$PKGVERSION; do + install -v -t ${D}${LIBDIR} "$i" + ln -sv "${LIBDIR}/$i" ${D}/usr/lib/ + if soname="$(soname "$i")"; then + #echo "$soname\n" + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + # libglxserver_nvidia.so should reside in /usr/lib/xorg/modules/extensions, + # here we cheat away and stay in line with the /node/usr_share_mxgfx mechanism. + # Additional note: don't put/link libglx.so into /usr/lib. + ln -sv libglxserver_nvidia.so.$PKGVERSION ${D}${LIBDIR}/libglxserver_nvidia.so + + # libnvidia-api was introduced with 525, but w/o a 'PKGVERSION' + install -v -t ${D}${LIBDIR} libnvidia-api.so.1 + + # EGL external platform libraries: wayland 378.13, gbm 495.44 + for i in libnvidia-egl-*.so.*; do + install -v -t ${D}${LIBDIR} "$i" + if soname="$(soname "$i")"; then + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + mkdir -vp ${D}/usr/lib/xorg/modules/extensions + + cd ${D}/usr/lib/xorg/modules/extensions + ln -sv /usr/share/mxgfx/lib/libglxserver_nvidia.so libglxserver_nvidia.so + cd $B + + echo "installing ${NVDRV} as drivers/$(basename ${NVDRV})"; + install -c -v ${NVDRV} ${D}${PREFIX}/drivers + + mkdir -pv ${D}/usr/share/man/man1 + + for i in ${NVBIN[@]} ; do + echo "installing ${i} as bin/${i}" + install -v -c -m 755 ${i} ${D}${BINDIR} + if [ -e ${i}.1.gz ]; then + install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1 + fi + done + + mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_ga10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_tu10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + + # Vulkan and GLVND-EGL loader JSON. nvidiactl links it into /etc. + install -v -c -m 644 -D nvidia_icd.json \ + ${D}${PREFIX}/vulkan/icd.d/nvidia_icd.json + install -v -c -m 644 -D nvidia_layers.json \ + ${D}${PREFIX}/vulkan/implicit_layer.d/nvidia_layers.json + install -v -c -m 644 -D 10_nvidia.json \ + ${D}${PREFIX}/glvnd/egl_vendor.d/10_nvidia.json + + # EGL external platform JSON: wayland 378.13, gbm 495.44 + for i in 10_nvidia_wayland.json 15_nvidia_gbm.json ; do + install -v -c -m 644 -D "$i" \ + ${D}${PREFIX}/egl/egl_external_platform.d/"$i" + done + +} diff --git a/nvidia_current-535.230.02-1.bee b/nvidia_current-535.230.02-1.bee new file mode 100755 index 000000000..840c6f04d --- /dev/null +++ b/nvidia_current-535.230.02-1.bee @@ -0,0 +1,124 @@ +#!/bin/env beesh + +# resources: +# http://www.nvidia.com/object/unix.html +# ./README.txt +# ./.manifest +# https://github.com/NVIDIA/nvidia-installer +# ./nvidia-installer -A +# ./nvidia-installer --ui=none --accept-license --no-kernel-module --expert +# + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${PKGEXTRAVERSION:+-${PKGEXTRAVERSION}}.run" + +#SRCURL[0]="https://de.download.nvidia.com/XFree86/Linux-x86_64/$PKGVERSION/NVIDIA-Linux-x86_64-$PKGVERSION.run" +SRCURL[0]="https://beehive.molgen.mpg.de/2e34184b91fa9bcc7cc5d4f8707ef0d6/NVIDIA-Linux-x86_64-535.230.02.run" + + +BEE_CONFIGURE=none + +build_in_sourcedir + +PREFIX=/usr/share/nvidia/${PKGVERSION} +LIBDIR=${PREFIX}/lib +BINDIR=${PREFIX}/bin + +# fix tar option for user namespace usage (`unshare -U -r BEEFILE`) +export TAR_OPTIONS=--no-same-owner + +mee_extract() { + rmdir ${S} + sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} +} + +#mee_patch() { +# bee_patch +#} + +mee_build() { + #bee_build + true +} + +mee_install() { + #bee_install + + mkdir -pv ${D}${PREFIX}/{bin,lib,drivers,man/man1} + mkdir -pv ${D}/usr/lib + + NVDRV="nvidia_drv.so" + + NVBIN=( \ + "nvidia-cuda-mps-control" \ + "nvidia-cuda-mps-server" \ + "nvidia-debugdump" \ + "nvidia-modprobe" \ + "nvidia-persistenced" \ + "nvidia-settings" \ + "nvidia-smi" \ + "nvidia-xconfig" \ + ) + + for i in lib*.so.$PKGVERSION; do + install -v -t ${D}${LIBDIR} "$i" + ln -sv "${LIBDIR}/$i" ${D}/usr/lib/ + if soname="$(soname "$i")"; then + #echo "$soname\n" + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + # libglxserver_nvidia.so should reside in /usr/lib/xorg/modules/extensions, + # here we cheat away and stay in line with the /node/usr_share_mxgfx mechanism. + # Additional note: don't put/link libglx.so into /usr/lib. + ln -sv libglxserver_nvidia.so.$PKGVERSION ${D}${LIBDIR}/libglxserver_nvidia.so + + # libnvidia-api was introduced with 525, but w/o a 'PKGVERSION' + install -v -t ${D}${LIBDIR} libnvidia-api.so.1 + + # EGL external platform libraries: wayland 378.13, gbm 495.44 + for i in libnvidia-egl-*.so.*; do + install -v -t ${D}${LIBDIR} "$i" + if soname="$(soname "$i")"; then + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + mkdir -vp ${D}/usr/lib/xorg/modules/extensions + + cd ${D}/usr/lib/xorg/modules/extensions + ln -sv /usr/share/mxgfx/lib/libglxserver_nvidia.so libglxserver_nvidia.so + cd $B + + echo "installing ${NVDRV} as drivers/$(basename ${NVDRV})"; + install -c -v ${NVDRV} ${D}${PREFIX}/drivers + + mkdir -pv ${D}/usr/share/man/man1 + + for i in ${NVBIN[@]} ; do + echo "installing ${i} as bin/${i}" + install -v -c -m 755 ${i} ${D}${BINDIR} + if [ -e ${i}.1.gz ]; then + install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1 + fi + done + + mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_ga10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_tu10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + + # Vulkan and GLVND-EGL loader JSON. nvidiactl links it into /etc. + install -v -c -m 644 -D nvidia_icd.json \ + ${D}${PREFIX}/vulkan/icd.d/nvidia_icd.json + install -v -c -m 644 -D nvidia_layers.json \ + ${D}${PREFIX}/vulkan/implicit_layer.d/nvidia_layers.json + install -v -c -m 644 -D 10_nvidia.json \ + ${D}${PREFIX}/glvnd/egl_vendor.d/10_nvidia.json + + # EGL external platform JSON: wayland 378.13, gbm 495.44 + for i in 10_nvidia_wayland.json 15_nvidia_gbm.json ; do + install -v -c -m 644 -D "$i" \ + ${D}${PREFIX}/egl/egl_external_platform.d/"$i" + done + +} diff --git a/nvidia_current-570.144-1.bee b/nvidia_current-570.144-1.bee new file mode 100755 index 000000000..6114f21ee --- /dev/null +++ b/nvidia_current-570.144-1.bee @@ -0,0 +1,125 @@ +#!/bin/env beesh + +# resources: +# http://www.nvidia.com/object/unix.html +# ./README.txt +# ./.manifest +# https://github.com/NVIDIA/nvidia-installer +# ./nvidia-installer -A +# ./nvidia-installer --ui=none --accept-license --no-kernel-module --expert +# + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${PKGEXTRAVERSION:+-${PKGEXTRAVERSION}}.run" + +#SRCURL[0]="https://de.download.nvidia.com/XFree86/Linux-x86_64/$PKGVERSION/NVIDIA-Linux-x86_64-$PKGVERSION.run" +SRCURL[0]="https://beehive.molgen.mpg.de/c2a4ccbd3d29ed83d0d9dcd742eb034a/NVIDIA-Linux-x86_64-570.144.run" + + +BEE_CONFIGURE=none + +build_in_sourcedir + +PREFIX=/usr/share/nvidia/${PKGVERSION} +LIBDIR=${PREFIX}/lib +BINDIR=${PREFIX}/bin + +# fix tar option for user namespace usage (`unshare -U -r BEEFILE`) +export TAR_OPTIONS=--no-same-owner + +mee_extract() { + rmdir ${S} + sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} +} + +#mee_patch() { +# bee_patch +#} + +mee_build() { + #bee_build + true +} + +mee_install() { + #bee_install + + mkdir -pv ${D}${PREFIX}/{bin,lib,drivers,man/man1} + mkdir -pv ${D}/usr/lib + + NVDRV="nvidia_drv.so" + + NVBIN=( \ + "nvidia-cuda-mps-control" \ + "nvidia-cuda-mps-server" \ + "nvidia-debugdump" \ + "nvidia-modprobe" \ + "nvidia-persistenced" \ + "nvidia-settings" \ + "nvidia-smi" \ + "nvidia-xconfig" \ + ) + + for i in lib*.so.$PKGVERSION; do + install -v -t ${D}${LIBDIR} "$i" + ln -sv "${LIBDIR}/$i" ${D}/usr/lib/ + if soname="$(soname "$i")"; then + #echo "$soname\n" + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + # libglxserver_nvidia.so should reside in /usr/lib/xorg/modules/extensions, + # here we cheat away and stay in line with the /node/usr_share_mxgfx mechanism. + # Additional note: don't put/link libglx.so into /usr/lib. + ln -sv libglxserver_nvidia.so.$PKGVERSION ${D}${LIBDIR}/libglxserver_nvidia.so + + # libnvidia-api was introduced with 525, but w/o a 'PKGVERSION' + install -v -t ${D}${LIBDIR} libnvidia-api.so.1 + + # EGL external platform libraries: wayland 378.13, gbm 495.44, xlib/xcb 560 + for i in libnvidia-egl-*.so.*; do + install -v -t ${D}${LIBDIR} "$i" + if soname="$(soname "$i")"; then + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + mkdir -vp ${D}/usr/lib/xorg/modules/extensions + + cd ${D}/usr/lib/xorg/modules/extensions + ln -sv /usr/share/mxgfx/lib/libglxserver_nvidia.so libglxserver_nvidia.so + cd $B + + echo "installing ${NVDRV} as drivers/$(basename ${NVDRV})"; + install -c -v ${NVDRV} ${D}${PREFIX}/drivers + + mkdir -pv ${D}/usr/share/man/man1 + + for i in ${NVBIN[@]} ; do + echo "installing ${i} as bin/${i}" + install -v -c -m 755 ${i} ${D}${BINDIR} + if [ -e ${i}.1.gz ]; then + install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1 + fi + done + + mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_ga10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_tu10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + + # Vulkan and GLVND-EGL loader JSON. nvidiactl links it into /etc. + install -v -c -m 644 -D nvidia_icd.json \ + ${D}${PREFIX}/vulkan/icd.d/nvidia_icd.json + install -v -c -m 644 -D nvidia_layers.json \ + ${D}${PREFIX}/vulkan/implicit_layer.d/nvidia_layers.json + install -v -c -m 644 -D 10_nvidia.json \ + ${D}${PREFIX}/glvnd/egl_vendor.d/10_nvidia.json + + # EGL external platform JSON: wayland 378.13, gbm 495.44, xlib/xcb 560 + for i in 10_nvidia_wayland.json 15_nvidia_gbm.json \ + 20_nvidia_xlib.json 20_nvidia_xcb.json ; do + install -v -c -m 644 -D "$i" \ + ${D}${PREFIX}/egl/egl_external_platform.d/"$i" + done + +} diff --git a/nvidia_current-580.178.04-1.bee b/nvidia_current-580.178.04-1.bee new file mode 100755 index 000000000..1fcc7be6a --- /dev/null +++ b/nvidia_current-580.178.04-1.bee @@ -0,0 +1,113 @@ +#!/bin/env beesh + +# resources: +# http://www.nvidia.com/object/unix.html +# ./README.txt +# ./.manifest +# https://github.com/NVIDIA/nvidia-installer +# ./nvidia-installer -A +# ./nvidia-installer --ui=none --accept-license --no-kernel-module --expert +# + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${PKGEXTRAVERSION:+-${PKGEXTRAVERSION}}.run" + +#SRCURL[0]="https://de.download.nvidia.com/XFree86/Linux-x86_64/$PKGVERSION/NVIDIA-Linux-x86_64-$PKGVERSION.run" +SRCURL[0]="https://beehive.molgen.mpg.de/d20f1e92e9cbea30c9f0fa995d6c76ee/NVIDIA-Linux-x86_64-580.178.04.run" + + +BEE_CONFIGURE=none + +build_in_sourcedir + +PREFIX=/usr/share/nvidia/${PKGVERSION} +LIBDIR=${PREFIX}/lib +BINDIR=${PREFIX}/bin + +# fix tar option for user namespace usage (`unshare -U -r BEEFILE`) +export TAR_OPTIONS=--no-same-owner + +mee_extract() { + rmdir ${S} + sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} +} + +#mee_patch() { +# bee_patch +#} + +mee_build() { + #bee_build + true +} + +mee_install() { + #bee_install + + mkdir -pv ${D}${PREFIX}/{bin,lib,drivers,man/man1} + mkdir -pv ${D}/usr/lib + + NVDRV="nvidia_drv.so" + + NVBIN=( \ + "nvidia-cuda-mps-control" \ + "nvidia-cuda-mps-server" \ + "nvidia-debugdump" \ + "nvidia-modprobe" \ + "nvidia-persistenced" \ + "nvidia-settings" \ + "nvidia-smi" \ + "nvidia-xconfig" \ + ) + + for i in lib*.so.$PKGVERSION; do + install -v -t ${D}${LIBDIR} "$i" + ln -sv "${LIBDIR}/$i" ${D}/usr/lib/ + if soname="$(soname "$i")"; then + #echo "$soname\n" + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + # libglxserver_nvidia.so should reside in /usr/lib/xorg/modules/extensions, + # here we cheat away and stay in line with the /node/usr_share_mxgfx mechanism. + # Additional note: don't put/link libglx.so into /usr/lib. + ln -sv libglxserver_nvidia.so.$PKGVERSION ${D}${LIBDIR}/libglxserver_nvidia.so + + # libnvidia-api was introduced with 525, but w/o a 'PKGVERSION' + install -v -t ${D}${LIBDIR} libnvidia-api.so.1 + + # libnvidia-nvvm70 was introduced with 580, but w/o a 'PKGVERSION' + install -v -t ${D}${LIBDIR} libnvidia-nvvm70.so.4 + + mkdir -vp ${D}/usr/lib/xorg/modules/extensions + + cd ${D}/usr/lib/xorg/modules/extensions + ln -sv /usr/share/mxgfx/lib/libglxserver_nvidia.so libglxserver_nvidia.so + cd $B + + echo "installing ${NVDRV} as drivers/$(basename ${NVDRV})"; + install -c -v ${NVDRV} ${D}${PREFIX}/drivers + + mkdir -pv ${D}/usr/share/man/man1 + + for i in ${NVBIN[@]} ; do + echo "installing ${i} as bin/${i}" + install -v -c -m 755 ${i} ${D}${BINDIR} + if [ -e ${i}.1.gz ]; then + install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1 + fi + done + + mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_ga10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_tu10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + + # Vulkan and GLVND-EGL loader JSON. nvidiactl links it into /etc. + install -v -c -m 644 -D nvidia_icd.json \ + ${D}${PREFIX}/vulkan/icd.d/nvidia_icd.json + install -v -c -m 644 -D nvidia_layers.json \ + ${D}${PREFIX}/vulkan/implicit_layer.d/nvidia_layers.json + install -v -c -m 644 -D 10_nvidia.json \ + ${D}${PREFIX}/glvnd/egl_vendor.d/10_nvidia.json + +} diff --git a/nvidia_current-580.178.04-2.bee b/nvidia_current-580.178.04-2.bee new file mode 100755 index 000000000..d27180a76 --- /dev/null +++ b/nvidia_current-580.178.04-2.bee @@ -0,0 +1,128 @@ +#!/bin/env beesh + +# resources: +# http://www.nvidia.com/object/unix.html +# ./README.txt +# ./.manifest +# https://github.com/NVIDIA/nvidia-installer +# ./nvidia-installer -A +# ./nvidia-installer --ui=none --accept-license --no-kernel-module --expert +# + +NVIDIA_ARCHIVE="NVIDIA-Linux-x86_64-${PKGVERSION}${PKGEXTRAVERSION:+-${PKGEXTRAVERSION}}.run" + +#SRCURL[0]="https://de.download.nvidia.com/XFree86/Linux-x86_64/$PKGVERSION/NVIDIA-Linux-x86_64-$PKGVERSION.run" +SRCURL[0]="https://beehive.molgen.mpg.de/d20f1e92e9cbea30c9f0fa995d6c76ee/NVIDIA-Linux-x86_64-580.178.04.run" + + +BEE_CONFIGURE=none + +build_in_sourcedir + +PREFIX=/usr/share/nvidia/${PKGVERSION} +LIBDIR=${PREFIX}/lib +BINDIR=${PREFIX}/bin + +# fix tar option for user namespace usage (`unshare -U -r BEEFILE`) +export TAR_OPTIONS=--no-same-owner + +mee_extract() { + rmdir ${S} + sh ${F}/${NVIDIA_ARCHIVE} -x --target ${S} +} + +#mee_patch() { +# bee_patch +#} + +mee_build() { + #bee_build + true +} + +mee_install() { + #bee_install + + mkdir -pv ${D}${PREFIX}/{bin,lib,drivers,man/man1} + mkdir -pv ${D}/usr/lib + + NVDRV="nvidia_drv.so" + + NVBIN=( \ + "nvidia-cuda-mps-control" \ + "nvidia-cuda-mps-server" \ + "nvidia-debugdump" \ + "nvidia-modprobe" \ + "nvidia-persistenced" \ + "nvidia-settings" \ + "nvidia-smi" \ + "nvidia-xconfig" \ + ) + + for i in lib*.so.$PKGVERSION; do + install -v -t ${D}${LIBDIR} "$i" + ln -sv "${LIBDIR}/$i" ${D}/usr/lib/ + if soname="$(soname "$i")"; then + #echo "$soname\n" + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + # libglxserver_nvidia.so should reside in /usr/lib/xorg/modules/extensions, + # here we cheat away and stay in line with the /node/usr_share_mxgfx mechanism. + # Additional note: don't put/link libglx.so into /usr/lib. + ln -sv libglxserver_nvidia.so.$PKGVERSION ${D}${LIBDIR}/libglxserver_nvidia.so + + # libnvidia-api was introduced with 525, but w/o a 'PKGVERSION' + install -v -t ${D}${LIBDIR} libnvidia-api.so.1 + + # libnvidia-nvvm70 was introduced with 580, but w/o a 'PKGVERSION' + install -v -t ${D}${LIBDIR} libnvidia-nvvm70.so.4 + + # EGL external platform libraries: wayland 378.13, gbm 495.44, xlib/xcb 560 + for i in libnvidia-egl-*.so.*; do + install -v -t ${D}${LIBDIR} "$i" + if soname="$(soname "$i")"; then + test -e "${D}${LIBDIR}/${soname}" || ln -sv "$i" "${D}${LIBDIR}/${soname}" + fi + done + + mkdir -vp ${D}/usr/lib/xorg/modules/extensions + + cd ${D}/usr/lib/xorg/modules/extensions + ln -sv /usr/share/mxgfx/lib/libglxserver_nvidia.so libglxserver_nvidia.so + cd $B + + echo "installing ${NVDRV} as drivers/$(basename ${NVDRV})"; + install -c -v ${NVDRV} ${D}${PREFIX}/drivers + + mkdir -pv ${D}/usr/share/man/man1 + + for i in ${NVBIN[@]} ; do + echo "installing ${i} as bin/${i}" + install -v -c -m 755 ${i} ${D}${BINDIR} + if [ -e ${i}.1.gz ]; then + install -v -c -m 644 ${i}.1.gz ${D}${PREFIX}/man/man1 + fi + done + + mkdir -pv ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_ga10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + install -v -c -m 644 firmware/gsp_tu10x.bin ${D}/lib/firmware/nvidia/${PKGVERSION} + + # Vulkan and GLVND-EGL loader JSON. nvidiactl links it into /etc. + install -v -c -m 644 -D nvidia_icd.json \ + ${D}${PREFIX}/vulkan/icd.d/nvidia_icd.json + install -v -c -m 644 -D nvidia_layers.json \ + ${D}${PREFIX}/vulkan/implicit_layer.d/nvidia_layers.json + install -v -c -m 644 -D 10_nvidia.json \ + ${D}${PREFIX}/glvnd/egl_vendor.d/10_nvidia.json + + # EGL external platform JSON: wayland 378.13, gbm 495.44, xlib/xcb 560 + for i in 10_nvidia_wayland.json 15_nvidia_gbm.json \ + 20_nvidia_xlib.json 20_nvidia_xcb.json ; do + install -v -c -m 644 -D "$i" \ + ${D}${PREFIX}/egl/egl_external_platform.d/"$i" + done + +}