diff options
| author | seth <[email protected]> | 2024-01-19 22:17:31 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2024-01-20 05:56:19 -0500 |
| commit | 290a84e86b2f2c3cb1403f94eff416e74d536abd (patch) | |
| tree | ea3a3138e6949905c2a4e60e8e5905d3f6412867 /akmods/build_nvidia.sh | |
initial commit
Diffstat (limited to 'akmods/build_nvidia.sh')
| -rwxr-xr-x | akmods/build_nvidia.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/akmods/build_nvidia.sh b/akmods/build_nvidia.sh new file mode 100755 index 0000000..1931149 --- /dev/null +++ b/akmods/build_nvidia.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +set -euxo pipefail + +_usage=" +usage: ./build_nvidia.sh nvidia_driver_version +" + +if [ $# -lt 1 ]; then + echo "$_usage" + exit 1 +fi + +NVIDIA_VERSION="$1" +release="$(rpm -E '%fedora.%_arch')" + +rpm-ostree install \ + akmod-nvidia-"$NVIDIA_VERSION"* \ + xorg-x11-drv-nvidia-{cuda,power}-"$NVIDIA_VERSION"* \ + +# Either successfully build and install the kernel modules, or fail early with debug output +kernel_version="$(rpm -q kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" +akmod_version="$(basename "$(rpm -q akmod-nvidia --queryformat '%{VERSION}-%{RELEASE}')" ".fc${release%%.*}")" + +akmods --force --kernels "$kernel_version" --kmod nvidia + +if ! modinfo /usr/lib/modules/"$kernel_version"/extra/nvidia/nvidia{,-drm,-modeset,-peermem,-uvm}.ko.xz &> /dev/null; then + cat /var/cache/akmods/nvidia/"$akmod_version"-for-"$kernel_version".failed.log && exit 1 +fi |
