├── 60-linux.hook ├── 90-linux.hook ├── PKGBUILD ├── README.md ├── board └── 飞腾D2000.jpg ├── linux-phytium.install ├── linux.preset ├── nvdia-utils-aarch64 ├── 120-nvidia-settings-change-desktop-paths.patch ├── PKGBUILD ├── nvidia-drm-outputclass.conf ├── nvidia-utils.install ├── nvidia-utils.sysusers └── nvidia.rules ├── nvidia-aarch64-dkms ├── 110-nvidia-change-dkms-conf.patch ├── 120-nvidia-linux-rt-gift.patch └── PKGBUILD ├── nvidia-aarch64 ├── 110-nvidia-change-dkms-conf.patch └── PKGBUILD └── phytium-config /60-linux.hook: -------------------------------------------------------------------------------- 1 | [Trigger] 2 | Type = File 3 | Operation = Install 4 | Operation = Upgrade 5 | Operation = Remove 6 | Target = usr/lib/modules/%KERNVER%/* 7 | 8 | [Action] 9 | Description = Updating %PKGBASE% module dependencies... 10 | When = PostTransaction 11 | Exec = /usr/bin/depmod %KERNVER% 12 | -------------------------------------------------------------------------------- /90-linux.hook: -------------------------------------------------------------------------------- 1 | [Trigger] 2 | Type = File 3 | Operation = Install 4 | Operation = Upgrade 5 | Target = boot/Image 6 | Target = usr/lib/initcpio/* 7 | 8 | [Action] 9 | Description = Updating %PKGBASE% initcpios... 10 | When = PostTransaction 11 | Exec = /usr/bin/mkinitcpio -p %PKGBASE% 12 | -------------------------------------------------------------------------------- /PKGBUILD: -------------------------------------------------------------------------------- 1 | # AArch64 Phytium 2 | # Maintainer: hougelangley1987@gmail.com 3 | 4 | buildarch=8 5 | 6 | pkgbase=linux-phytium 7 | _srcname=linux-6.0 8 | _kernelname=${pkgbase#linux} 9 | _desc="AArch64 phytium-platform" 10 | kernelversion=6.0 11 | pkgver=6.0.6 12 | pkgrel=1 13 | arch=('aarch64') 14 | url="http://www.kernel.org/" 15 | license=('GPL2') 16 | makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' 'vboot-utils' 'dtc' 'clang' 'llvm' 'lld' 'python' ) 17 | options=('!strip') 18 | source=("https://mirrors.ustc.edu.cn/kernel.org/linux/kernel/v6.x/${_srcname}.tar.xz" 19 | "https://mirrors.ustc.edu.cn/kernel.org/linux/kernel/v6.x/patch-${pkgver}.xz" 20 | "https://raw.githubusercontent.com/zhmars/cjktty-patches/master/v6.x/cjktty-${kernelversion}.patch" 21 | "https://gitlab.com/sirlucjan/kernel-patches/-/raw/master/${kernelversion}/bbr2-patches/0001-tcp_bbr2-introduce-BBRv2.patch" 22 | 'phytium-config' 23 | 'linux.preset' 24 | '60-linux.hook' 25 | '90-linux.hook') 26 | md5sums=('d681bd1d62d48049a4874646f6774d92' 27 | 'cf1eefacef3381cee848a45c343fc38c' 28 | 'd61bd27f238c32bf8ed397f64fa08916' 29 | '74c5e6b07a7615203281f603682b703f' 30 | 'e52ae708f976a887e9e43472b9b5d89e' 31 | '41cb5fef62715ead2dd109dbea8413d6' 32 | '0a5f16bfec6ad982a2f6782724cca8ba' 33 | '3dc88030a8f2f5a5f97266d99b149f77') 34 | 35 | prepare() { 36 | cd $_srcname 37 | 38 | echo "Setting version..." 39 | scripts/setlocalversion --save-scmversion 40 | echo "-$pkgrel" > localversion.10-pkgrel 41 | echo "${pkgbase#linux}" > localversion.20-pkgname 42 | 43 | # Apply patch 44 | patch -Np1 -i ../patch-${pkgver} 45 | 46 | # Apply cjktty patch 47 | patch -Np1 -i ../cjktty-${kernelversion}.patch 48 | 49 | # Apply bbr2 patch 50 | patch -Np1 -i ../0001-tcp_bbr2-introduce-BBRv2.patch 51 | 52 | # apply Phytium UOS kernel config, you could custom 53 | cat "${srcdir}/phytium-config" > ./.config 54 | make olddefconfig 55 | make menuconfig 56 | 57 | } 58 | 59 | build() { 60 | cd ${_srcname} 61 | 62 | # get kernel version 63 | make prepare 64 | make -s kernelrelease > version 65 | 66 | # build! 67 | unset LDFLAGS 68 | make ${MAKEFLAGS} Image Image.gz modules 69 | # Generate device tree blobs with symbols to support applying device tree overlays in U-Boot 70 | make ${MAKEFLAGS} DTC_FLAGS="-@" dtbs 71 | } 72 | 73 | _package() { 74 | pkgdesc="The Linux Kernel and modules - ${_desc}" 75 | depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7') 76 | optdepends=('crda: to set the correct wireless channels of your country') 77 | provides=("linux=${pkgver}" "WIREGUARD-MODULE") 78 | replaces=('linux-armv8') 79 | conflicts=('linux') 80 | backup=("etc/mkinitcpio.d/${pkgbase}.preset") 81 | install=${pkgname}.install 82 | 83 | cd $_srcname 84 | local kernver="$(/dev/null && ! mountpoint -q /boot; then 3 | echo "WARNING: /boot appears to be a separate partition but is not mounted." 4 | fi 5 | } 6 | 7 | post_remove() { 8 | rm -f boot/initramfs-linux.img 9 | rm -f boot/initramfs-linux-fallback.img 10 | } 11 | -------------------------------------------------------------------------------- /linux.preset: -------------------------------------------------------------------------------- 1 | # mkinitcpio preset file for the '%PKGBASE%' package 2 | 3 | ALL_config="/etc/mkinitcpio.conf" 4 | ALL_kver="%KERNVER%" 5 | 6 | PRESETS=('default' 'fallback') 7 | 8 | #default_config="/etc/mkinitcpio.conf" 9 | default_image="/boot/initramfs-linux.img" 10 | #default_options="" 11 | 12 | #fallback_config="/etc/mkinitcpio.conf" 13 | fallback_image="/boot/initramfs-linux-fallback.img" 14 | fallback_options="-S autodetect" 15 | -------------------------------------------------------------------------------- /nvdia-utils-aarch64/120-nvidia-settings-change-desktop-paths.patch: -------------------------------------------------------------------------------- 1 | --- a/nvidia-settings.desktop 2 | +++ b/nvidia-settings.desktop 3 | @@ -3,8 +3,8 @@ Type=Application 4 | Encoding=UTF-8 5 | Name=NVIDIA X Server Settings 6 | Comment=Configure NVIDIA X Server Settings 7 | -Exec=__UTILS_PATH__/nvidia-settings 8 | -Icon=__PIXMAP_PATH__/nvidia-settings.png 9 | +Exec=/usr/bin/nvidia-settings 10 | +Icon=/usr/share/pixmaps/nvidia-settings.png 11 | Categories=Settings;HardwareSettings; 12 | 13 | # Translation by Marcin Mikołajczak 14 | -------------------------------------------------------------------------------- /nvdia-utils-aarch64/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer : Daniel Bermond 2 | # Contributor: Det 3 | # Contributor: Ng Oon-Ee 4 | # Contributor: Dan Vratil 5 | 6 | pkgbase=nvidia-utils-aarch64 7 | pkgname=('nvidia-utils-aarch64' 'opencl-nvidia-aarch64' 'nvidia-settings-aarch64') 8 | pkgver=515.76 9 | pkgrel=1 10 | pkgdesc='NVIDIA drivers utilities (beta version)' 11 | arch=('aarch64') 12 | url='https://www.nvidia.com/' 13 | license=('custom') 14 | options=('!strip') 15 | _pkg="NVIDIA-Linux-${arch}-${pkgver}" 16 | source=("https://us.download.nvidia.com/XFree86/aarch64/${pkgver}/${_pkg}.run" 17 | 'nvidia-drm-outputclass.conf' 18 | 'nvidia-utils.sysusers' 19 | 'nvidia.rules' 20 | '120-nvidia-settings-change-desktop-paths.patch') 21 | sha256sums=('cbea88605164022ade03d74fb3ed28ef9cb4efe2af3cf904967032f890756cd3' 22 | 'be99ff3def641bb900c2486cce96530394c5dc60548fc4642f19d3a4c784134d' 23 | 'd8d1caa5d72c71c6430c2a0d9ce1a674787e9272ccce28b9d5898ca24e60a167' 24 | '4fbfd461f939f18786e79f8dba5fdb48be9f00f2ff4b1bb2f184dbce42dd6fc3' 25 | 'd6f80e0166a7db0a618e659ee66d24b24682b40a93cd4b2ad8ab3f26485d02b9') 26 | 27 | # create soname links 28 | _create_links() { 29 | local _lib 30 | local _soname 31 | local _base 32 | find "$pkgdir" -type f -name '*.so*' ! -path '*xorg/*' -print0 | while read -d $'\0' _lib 33 | do 34 | _soname="$(dirname "$_lib")/$(readelf -d "$_lib" | grep -Po 'SONAME.*: \[\K[^]]*' || true)" 35 | _base="$(printf '%s' "$_soname" | sed -r 's/(.*)\.so.*/\1.so/')" 36 | [ -e "$_soname" ] || ln -s "$(basename "$_lib")" "$_soname" 37 | [ -e "$_base" ] || ln -s "$(basename "$_soname")" "$_base" 38 | done 39 | } 40 | 41 | prepare() { 42 | # extract the source file 43 | [ -d "$_pkg" ] && rm -rf "$_pkg" 44 | printf '%s\n' " -> Self-Extracting ${_pkg}.run..." 45 | sh "${_pkg}.run" --extract-only 46 | bsdtar -C "$_pkg" -xf "${_pkg}/nvidia-persistenced-init.tar.bz2" 47 | gunzip "$_pkg"/nvidia-{cuda-mps-control,modprobe,persistenced,settings,smi,xconfig}.1.gz 48 | 49 | patch -d "$_pkg" -Np1 -i "${srcdir}/120-nvidia-settings-change-desktop-paths.patch" 50 | } 51 | 52 | package_nvidia-settings-aarch64() { 53 | pkgdesc='Tool for configuring the NVIDIA graphics driver (aarch64 version)' 54 | depends=("nvidia-utils-aarch64>=${pkgver}" 'gtk3') 55 | provides=("nvidia-settings-aarch64=${pkgver}") 56 | conflicts=('nvidia-settings') 57 | 58 | cd "$_pkg" 59 | 60 | install -D -m755 nvidia-settings -t "${pkgdir}/usr/bin" 61 | install -D -m644 nvidia-settings.1 -t "${pkgdir}/usr/share/man/man1" 62 | install -D -m644 nvidia-settings.png -t "${pkgdir}/usr/share/pixmaps" 63 | install -D -m644 nvidia-settings.desktop -t "${pkgdir}/usr/share/applications" 64 | install -D -m755 "libnvidia-gtk2.so.${pkgver}" -t "${pkgdir}/usr/lib" 65 | 66 | # license 67 | install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" 68 | } 69 | 70 | package_opencl-nvidia-aarch64() { 71 | pkgdesc='OpenCL implemention for NVIDIA (beta version)' 72 | depends=('zlib' "nvidia-utils-aarch64>=${pkgver}") 73 | optdepends=('opencl-headers: headers necessary for OpenCL development') 74 | provides=("opencl-nvidia=${pkgver}" 'opencl-driver') 75 | conflicts=('opencl-nvidia') 76 | 77 | cd "$_pkg" 78 | 79 | # OpenCL 80 | install -D -m644 nvidia.icd "${pkgdir}/etc/OpenCL/vendors/nvidia.icd" 81 | #install -D -m755 "libnvidia-compiler.so.${pkgver}" -t "${pkgdir}/usr/lib" 82 | install -D -m755 "libnvidia-opencl.so.${pkgver}" -t "${pkgdir}/usr/lib" 83 | 84 | _create_links 85 | 86 | # license 87 | install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" 88 | } 89 | 90 | package_nvidia-utils-aarch64() { 91 | depends=('xorg-server' 'libglvnd' 'egl-wayland') 92 | optdepends=('nvidia-settings-aarch64: for the configuration tool' 93 | 'xorg-server-devel: for nvidia-xconfig' 94 | 'opencl-nvidia-aarch64: for OpenCL support') 95 | provides=("nvidia-utils=${pkgver}" 'vulkan-driver' 'opengl-driver' "nvidia-libgl=${pkgver}" 96 | "nvidia-libgl-aarch64=${pkgver}") 97 | conflicts=('nvidia-utils' 'nvidia-libgl') 98 | replaces=('nvidia-libgl') 99 | install=nvidia-utils.install 100 | 101 | cd "$_pkg" 102 | 103 | # X driver 104 | install -D -m755 nvidia_drv.so -t "${pkgdir}/usr/lib/xorg/modules/drivers" 105 | 106 | # firmware 107 | install -D -m644 firmware/gsp.bin -t "${pkgdir}/usr/lib/firmware/nvidia/${pkgver}" 108 | 109 | # GLX extension module for X 110 | install -D -m755 "libglxserver_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/nvidia/xorg" 111 | # Ensure that X finds glx 112 | ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1" 113 | ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so" 114 | 115 | install -D -m755 "libGLX_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" 116 | 117 | # OpenGL libraries 118 | install -D -m755 "libEGL_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" 119 | install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" 120 | install -D -m755 "libGLESv2_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" 121 | install -D -m644 10_nvidia.json -t "${pkgdir}/usr/share/glvnd/egl_vendor.d" 122 | 123 | # OpenGL core library 124 | install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib" 125 | install -D -m755 "libnvidia-eglcore.so.${pkgver}" -t "${pkgdir}/usr/lib" 126 | install -D -m755 "libnvidia-glsi.so.${pkgver}" -t "${pkgdir}/usr/lib" 127 | 128 | # misc 129 | install -D -m755 "libnvidia-fbc.so.${pkgver}" -t "${pkgdir}/usr/lib" 130 | install -D -m755 "libnvidia-encode.so.${pkgver}" -t "${pkgdir}/usr/lib" 131 | install -D -m755 "libnvidia-cfg.so.${pkgver}" -t "${pkgdir}/usr/lib" 132 | install -D -m755 "libnvidia-ml.so.${pkgver}" -t "${pkgdir}/usr/lib" 133 | install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" -t "${pkgdir}/usr/lib" 134 | install -D -m755 "libnvidia-vulkan-producer.so.${pkgver}" -t "${pkgdir}/usr/lib" 135 | ln -s "libnvidia-vulkan-producer.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-vulkan-producer.so.1" 136 | ln -s libnvidia-vulkan-producer.so.1 "${pkgdir}/usr/lib/libnvidia-vulkan-producer.so" 137 | 138 | # Vulkan ICD 139 | install -D -m644 nvidia_icd.json -t "${pkgdir}/usr/share/vulkan/icd.d" 140 | install -D -m644 nvidia_layers.json -t "${pkgdir}/usr/share/vulkan/implicit_layer.d" 141 | 142 | # VDPAU 143 | install -D -m755 "libvdpau_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/vdpau" 144 | 145 | # nvidia-tls library 146 | install -D -m755 "libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib" 147 | 148 | # CUDA 149 | install -D -m755 "libcuda.so.${pkgver}" -t "${pkgdir}/usr/lib" 150 | install -D -m755 "libnvcuvid.so.${pkgver}" -t "${pkgdir}/usr/lib" 151 | 152 | # PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA) 153 | install -D -m755 "libnvidia-ptxjitcompiler.so.${pkgver}" -t "${pkgdir}/usr/lib" 154 | 155 | # NVVM Compiler (JIT link-time-optimization for CUDA) 156 | install -D -m755 "libnvidia-nvvm.so.${pkgver}" -t "${pkgdir}/usr/lib" 157 | 158 | # raytracing 159 | install -D -m755 "libnvoptix.so.${pkgver}" -t "${pkgdir}/usr/lib" 160 | install -D -m755 "libnvidia-rtcore.so.${pkgver}" -t "${pkgdir}/usr/lib" 161 | 162 | # Optical flow 163 | install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib" 164 | 165 | # NGX 166 | install -D -m755 "libnvidia-ngx.so.${pkgver}" -t "${pkgdir}/usr/lib" 167 | 168 | # DLSS 169 | install -D -m755 nvidia-ngx-updater -t "${pkgdir}/usr/bin" 170 | #install -D -m644 {,_}nvngx.dll -t "${pkgdir}/usr/lib/nvidia/wine" 171 | 172 | # GBM 173 | install -D -m755 "libnvidia-allocator.so.${pkgver}" -t "${pkgdir}/usr/lib" 174 | install -D -m755 libnvidia-egl-gbm.so.1.1.0 -t "${pkgdir}/usr/lib" 175 | install -D -m644 15_nvidia_gbm.json -t "${pkgdir}/usr/share/egl/egl_external_platform.d" 176 | install -d -m755 "${pkgdir}/usr/lib/gbm" 177 | ln -s "../libnvidia-allocator.so.${pkgver}" "${pkgdir}/usr/lib/gbm/nvidia-drm_gbm.so" 178 | 179 | # DEBUG 180 | install -D -m755 nvidia-debugdump -t "${pkgdir}/usr/bin" 181 | 182 | # nvidia-xconfig 183 | install -D -m755 nvidia-xconfig -t "${pkgdir}/usr/bin" 184 | install -D -m644 nvidia-xconfig.1 -t "${pkgdir}/usr/share/man/man1" 185 | 186 | # nvidia-bug-report 187 | install -D -m755 nvidia-bug-report.sh -t "${pkgdir}/usr/bin" 188 | 189 | # nvidia-smi 190 | install -D -m755 nvidia-smi -t "${pkgdir}/usr/bin" 191 | install -D -m644 nvidia-smi.1 -t "${pkgdir}/usr/share/man/man1" 192 | 193 | # nvidia-cuda-mps 194 | install -D -m755 nvidia-cuda-mps-server -t "${pkgdir}/usr/bin" 195 | install -D -m755 nvidia-cuda-mps-control -t "${pkgdir}/usr/bin" 196 | install -D -m644 nvidia-cuda-mps-control.1 -t "${pkgdir}/usr/share/man/man1" 197 | 198 | # nvidia-modprobe 199 | # This should be removed if nvidia fixed their uvm module! 200 | install -D -m4755 nvidia-modprobe -t "${pkgdir}/usr/bin" 201 | install -D -m644 nvidia-modprobe.1 -t "${pkgdir}/usr/share/man/man1" 202 | 203 | # nvidia-persistenced 204 | install -D -m755 nvidia-persistenced -t "${pkgdir}/usr/bin" 205 | install -D -m644 nvidia-persistenced.1 -t "${pkgdir}/usr/share/man/man1" 206 | install -D -m644 nvidia-persistenced-init/systemd/nvidia-persistenced.service.template "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service" 207 | sed -i 's/__USER__/nvidia-persistenced/' "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service" 208 | 209 | # application profiles 210 | install -D -m644 "nvidia-application-profiles-${pkgver}-rc" -t "${pkgdir}/usr/share/nvidia" 211 | install -D -m644 "nvidia-application-profiles-${pkgver}-key-documentation" -t "${pkgdir}/usr/share/nvidia" 212 | 213 | install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" 214 | install -D -m644 README.txt "${pkgdir}/usr/share/doc/${pkgname}/README" 215 | install -D -m644 NVIDIA_Changelog -t "${pkgdir}/usr/share/doc/${pkgname}" 216 | install -D -m644 supported-gpus/supported-gpus.json -t "${pkgdir}/usr/share/doc/${pkgname}" 217 | cp -dr --no-preserve='ownership' html "${pkgdir}/usr/share/doc/${pkgname}/" 218 | #ln -s nvidia "${pkgdir}/usr/share/doc/nvidia-utils" 219 | 220 | # new power management support 221 | install -D -m644 systemd/system/*.service -t "${pkgdir}/usr/lib/systemd/system" 222 | install -D -m755 systemd/system-sleep/nvidia -t "${pkgdir}/usr/lib/systemd/system-sleep" 223 | install -D -m755 systemd/nvidia-sleep.sh -t "${pkgdir}/usr/bin" 224 | 225 | # dynamic boost power management 226 | #install -D -m755 nvidia-powerd -t "${pkgdir}/usr/bin" 227 | #install -D -m644 nvidia-dbus.conf -t "${pkgdir}/usr/share/dbus-1/system.d" 228 | 229 | # distro specific files must be installed in /usr/share/X11/xorg.conf.d 230 | install -D -m644 "${srcdir}/nvidia-drm-outputclass.conf" "${pkgdir}/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf" 231 | 232 | install -D -m644 "${srcdir}/nvidia-utils.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf" 233 | install -D -m644 "${srcdir}/nvidia.rules" "${pkgdir}/usr/lib/udev/rules.d/60-nvidia.rules" 234 | 235 | install -D -m644 <(printf '%s\n' 'blacklist nouveau') "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf" 236 | install -D -m644 <(printf '%s\n' 'nvidia-uvm') "${pkgdir}/usr/lib/modules-load.d/${pkgname}.conf" 237 | 238 | _create_links 239 | } 240 | -------------------------------------------------------------------------------- /nvdia-utils-aarch64/nvidia-drm-outputclass.conf: -------------------------------------------------------------------------------- 1 | Section "OutputClass" 2 | Identifier "nvidia" 3 | MatchDriver "nvidia-drm" 4 | Driver "nvidia" 5 | Option "AllowEmptyInitialConfiguration" 6 | ModulePath "/usr/lib/nvidia/xorg" 7 | ModulePath "/usr/lib/xorg/modules" 8 | EndSection 9 | -------------------------------------------------------------------------------- /nvdia-utils-aarch64/nvidia-utils.install: -------------------------------------------------------------------------------- 1 | post_upgrade() { 2 | if (("$(vercmp "$2" 430.14-2)" < 0 )) 3 | then 4 | printf '%s\n' '==> Package nvidia-egl-wayland-beta was dropped since version 430.14-2.' 5 | printf '%s\n' '==> Replace it with egl-wayland from the official repositories with:' 6 | printf '%s\n' '==> # pacman -Syu egl-wayland' 7 | fi 8 | 9 | post_install 10 | } 11 | 12 | post_install() { 13 | printf '%s\n' 'If you run into trouble with CUDA not being available, run nvidia-modprobe first.' 14 | } 15 | -------------------------------------------------------------------------------- /nvdia-utils-aarch64/nvidia-utils.sysusers: -------------------------------------------------------------------------------- 1 | u nvidia-persistenced 143 'NVIDIA Persistence Daemon' 2 | -------------------------------------------------------------------------------- /nvdia-utils-aarch64/nvidia.rules: -------------------------------------------------------------------------------- 1 | # Make sure device nodes are present even when the DDX is not started for the Wayland/EGLStream case 2 | KERNEL=="nvidia", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'" 3 | KERNEL=="nvidia", RUN+="/usr/bin/bash -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/mknod -Z -m 666 /dev/nvidia$${i} c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) $${i}; done'" 4 | KERNEL=="nvidia_modeset", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'" 5 | KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'" 6 | KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 1'" 7 | -------------------------------------------------------------------------------- /nvidia-aarch64-dkms/110-nvidia-change-dkms-conf.patch: -------------------------------------------------------------------------------- 1 | --- a/kernel/dkms.conf 2 | +++ b/kernel/dkms.conf 3 | @@ -1,12 +1,21 @@ 4 | PACKAGE_NAME="nvidia" 5 | -PACKAGE_VERSION="__VERSION_STRING" 6 | +PACKAGE_VERSION="515.57" 7 | AUTOINSTALL="yes" 8 | 9 | # By default, DKMS will add KERNELRELEASE to the make command line; however, 10 | # this will cause the kernel module build to infer that it was invoked via 11 | # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting 12 | # the 'make' command name to suppress this behavior. 13 | -MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" 14 | +MAKE[0]="'make' -j"$(nproc)" NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" 15 | 16 | # The list of kernel modules will be generated by nvidia-installer at runtime. 17 | -__DKMS_MODULES 18 | +BUILT_MODULE_NAME[0]="nvidia" 19 | +DEST_MODULE_LOCATION[0]="/kernel/drivers/video" 20 | +BUILT_MODULE_NAME[1]="nvidia-uvm" 21 | +DEST_MODULE_LOCATION[1]="/kernel/drivers/video" 22 | +BUILT_MODULE_NAME[2]="nvidia-modeset" 23 | +DEST_MODULE_LOCATION[2]="/kernel/drivers/video" 24 | +BUILT_MODULE_NAME[3]="nvidia-drm" 25 | +DEST_MODULE_LOCATION[3]="/kernel/drivers/video" 26 | +BUILT_MODULE_NAME[4]="nvidia-peermem" 27 | +DEST_MODULE_LOCATION[4]="/kernel/drivers/video" 28 | -------------------------------------------------------------------------------- /nvidia-aarch64-dkms/120-nvidia-linux-rt-gift.patch: -------------------------------------------------------------------------------- 1 | --- a/kernel/dkms.conf 2 | +++ b/kernel/dkms.conf 3 | @@ -6,7 +6,7 @@ AUTOINSTALL="yes" 4 | # this will cause the kernel module build to infer that it was invoked via 5 | # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting 6 | # the 'make' command name to suppress this behavior. 7 | -MAKE[0]="'make' -j"$(nproc)" NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" 8 | +MAKE[0]="'make' -j"$(nproc)" IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" 9 | 10 | # The list of kernel modules will be generated by nvidia-installer at runtime. 11 | BUILT_MODULE_NAME[0]="nvidia" 12 | -------------------------------------------------------------------------------- /nvidia-aarch64-dkms/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer : Daniel Bermond 2 | # Contributor: Sibren Vasse 3 | # Contributor: Matt Welch 4 | # Contributor: Anish Bhatt 5 | # Contributor: Det 6 | # Contributor: Alucryd 7 | # Contributor: Jason Melton 8 | # Contributor: Youpi 9 | # Contributor: sl1pkn07 10 | 11 | pkgname=nvidia-aarch64-dkms 12 | pkgver=515.76 13 | pkgrel=1 14 | pkgdesc='NVIDIA driver sources for linux (beta version)' 15 | arch=('aarch64') 16 | url='https://www.nvidia.com/' 17 | license=('custom') 18 | provides=("nvidia=${pkgver}" "nvidia-dkms=${pkgver}" "nvidia-aarch64=${pkgver}" 19 | 'NVIDIA-MODULE') 20 | conflicts=('nvidia-aarch64' 'nvidia-dkms') 21 | options=('!strip') 22 | _pkg="NVIDIA-Linux-${arch}-${pkgver}" 23 | source=("https://us.download.nvidia.com/XFree86/aarch64/${pkgver}/${_pkg}.run" 24 | '110-nvidia-change-dkms-conf.patch' 25 | '120-nvidia-linux-rt-gift.patch') 26 | sha256sums=('cbea88605164022ade03d74fb3ed28ef9cb4efe2af3cf904967032f890756cd3' 27 | '23a2118c80a3db13c696fbd543817faf6bfee6a5a5d50f61bebe99a3fd3116ec' 28 | '291bc6568e18496a4c2e732fd8616f6d536d8e9f3ab51f1959e3fc08f0de126b') 29 | 30 | prepare() { 31 | # extract the source file 32 | [ -d "$_pkg" ] && rm -rf "$_pkg" 33 | printf '%s\n' " -> Self-Extracting ${_pkg}.run..." 34 | sh "${_pkg}.run" --extract-only 35 | 36 | patch -d "$_pkg" -Np1 -i "${srcdir}/110-nvidia-change-dkms-conf.patch" 37 | patch -d "$_pkg" -Np1 -i "${srcdir}/120-nvidia-linux-rt-gift.patch" 38 | } 39 | 40 | package() { 41 | depends=('dkms' "nvidia-utils-aarch64=${pkgver}" 'libglvnd') 42 | 43 | mkdir -p "${pkgdir}/usr/src" 44 | cp -dr --no-preserve='ownership' "${_pkg}/kernel" "${pkgdir}/usr/src/nvidia-${pkgver}" 45 | install -D -m644 "${_pkg}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}" 46 | } 47 | -------------------------------------------------------------------------------- /nvidia-aarch64/110-nvidia-change-dkms-conf.patch: -------------------------------------------------------------------------------- 1 | --- a/kernel/dkms.conf 2 | +++ b/kernel/dkms.conf 3 | @@ -1,12 +1,21 @@ 4 | PACKAGE_NAME="nvidia" 5 | -PACKAGE_VERSION="__VERSION_STRING" 6 | +PACKAGE_VERSION="515.57" 7 | AUTOINSTALL="yes" 8 | 9 | # By default, DKMS will add KERNELRELEASE to the make command line; however, 10 | # this will cause the kernel module build to infer that it was invoked via 11 | # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting 12 | # the 'make' command name to suppress this behavior. 13 | -MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" 14 | +MAKE[0]="'make' -j"$(nproc)" NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules" 15 | 16 | # The list of kernel modules will be generated by nvidia-installer at runtime. 17 | -__DKMS_MODULES 18 | +BUILT_MODULE_NAME[0]="nvidia" 19 | +DEST_MODULE_LOCATION[0]="/kernel/drivers/video" 20 | +BUILT_MODULE_NAME[1]="nvidia-uvm" 21 | +DEST_MODULE_LOCATION[1]="/kernel/drivers/video" 22 | +BUILT_MODULE_NAME[2]="nvidia-modeset" 23 | +DEST_MODULE_LOCATION[2]="/kernel/drivers/video" 24 | +BUILT_MODULE_NAME[3]="nvidia-drm" 25 | +DEST_MODULE_LOCATION[3]="/kernel/drivers/video" 26 | +BUILT_MODULE_NAME[4]="nvidia-peermem" 27 | +DEST_MODULE_LOCATION[4]="/kernel/drivers/video" 28 | -------------------------------------------------------------------------------- /nvidia-aarch64/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer : Daniel Bermond 2 | # Contributor: Det 3 | # Contributor: Ng Oon-Ee 4 | # Contributor: Dan Vratil 5 | 6 | pkgname=nvidia-aarch64 7 | pkgver=515.76 8 | pkgrel=1 9 | pkgdesc="NVIDIA drivers for Arch's official 'linux' package (beta version)" 10 | arch=('aarch64') 11 | url='https://www.nvidia.com/' 12 | license=('custom') 13 | makedepends=('linux-phytium-headers' 'dkms') 14 | provides=("nvidia=${pkgver}" "nvidia-aarch64=${pkgver}" 'NVIDIA-MODULE') 15 | conflicts=('nvidia') 16 | options=('!strip') 17 | _pkg="NVIDIA-Linux-${arch}-${pkgver}" 18 | source=("http://us.download.nvidia.com/XFree86/aarch64/${pkgver}/${_pkg}.run" 19 | '110-nvidia-change-dkms-conf.patch') 20 | sha256sums=('cbea88605164022ade03d74fb3ed28ef9cb4efe2af3cf904967032f890756cd3' 21 | '23a2118c80a3db13c696fbd543817faf6bfee6a5a5d50f61bebe99a3fd3116ec') 22 | 23 | prepare() { 24 | # extract the source file 25 | [ -d "$_pkg" ] && rm -rf "$_pkg" 26 | printf '%s\n' " -> Self-Extracting ${_pkg}.run..." 27 | sh "${_pkg}.run" --extract-only 28 | ln -s kernel "${_pkg}/nvidia-${pkgver}" 29 | 30 | patch -d "$_pkg" -Np1 -i "${srcdir}/110-nvidia-change-dkms-conf.patch" 31 | } 32 | 33 | build() { 34 | fakeroot dkms build --dkmstree "$srcdir" --sourcetree "${srcdir}/${_pkg}" -m "nvidia/${pkgver}" -k "$(