mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 09:01:55 +00:00
feat: Split NVIDIA into current and legacy branches (#8402)
* feat: Split NVIDIA into current and legacy branches * cleanup: Module variant no longer applicable * fix: Some sources and anda.hcl files I missed * fix: More * chore: Bump release on packages that had changed dependencies * chore: Bump release on all non-legacy packages * fix: Oops * More cleanup for kernel/kernel open changes * cleanup: Weird line * fix: Missed that
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
|
||||
Name: cuda
|
||||
Version: 13.1.80
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: NVIDIA Compute Unified Device Architecture Toolkit
|
||||
Epoch: 1
|
||||
License: CUDA Toolkit
|
||||
@@ -58,7 +58,7 @@ Requires: libnvjpeg%{?_isa}
|
||||
Conflicts: %{name}-driver-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Conflicts: %{name}-libraries-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
# Explicitly declare the dependency or libcuda.so.1()(64bit) will pull in xorg-x11-drv-cuda-libs
|
||||
Requires: nvidia-driver-cuda-libs%{_isa}
|
||||
Requires: (nvidia-driver-cuda-libs%{_isa} or nvidia-driver-580-cuda-libs%{_isa})
|
||||
|
||||
%description libs
|
||||
Contains the CUDA run-time library required to run CUDA application natively.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Name: libnvidia-container
|
||||
Version: 1.18.1
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: NVIDIA container runtime library
|
||||
License: BSD-3-Clause AND Apache-2.0 AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND GPL-2.0-only
|
||||
Vendor: NVIDIA Corporation
|
||||
@@ -45,7 +45,7 @@ make install DESTDIR=%{buildroot} REVISION=%{version} WITH_LIBELF=yes \
|
||||
|
||||
%package -n %{name}%{_major}
|
||||
Summary: NVIDIA container runtime library
|
||||
Requires: nvidia-driver >= 340.29
|
||||
Requires: (nvidia-driver or nvidia-driver-580)
|
||||
%description -n %{name}%{_major}
|
||||
The nvidia-container library provides an interface to configure containers using NVIDIA hardware.
|
||||
|
||||
@@ -55,21 +55,21 @@ The nvidia-container library provides an interface to configure containers using
|
||||
%package devel
|
||||
Requires: %{name}%{_major}%{?_isa} = %{version}-%{release}
|
||||
Summary: NVIDIA container runtime library development files
|
||||
Requires: nvidia-driver >= 340.29
|
||||
Requires: (nvidia-driver or nvidia-driver-580)
|
||||
%description devel
|
||||
This package contains the files required to compile programs with the library.
|
||||
|
||||
%package static
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
Summary: NVIDIA container runtime library static library
|
||||
Requires: nvidia-driver >= 340.29
|
||||
Requires: (nvidia-driver or nvidia-driver-580)
|
||||
%description static
|
||||
The nvidia-container library provides an interface to configure containers using NVIDIA hardware.
|
||||
|
||||
%package tools
|
||||
Requires: %{name}%{_major}%{?_isa} >= %{version}-%{release}
|
||||
Summary: NVIDIA container runtime library command-line tools
|
||||
Requires: nvidia-driver >= 340.29
|
||||
Requires: (nvidia-driver or nvidia-driver-580)
|
||||
%description tools
|
||||
This package contains command-line tools that facilitate using the nvidia-container library.
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# The Terra NVIDIA 580 Driver tree
|
||||
|
||||
This directory contains the Terra distribution of NVIDIA 580 legacy drivers for Maxwell, Pascal, and Volta NVIDIA GPUs.
|
||||
|
||||
These driver packages are based on negativo17's NVIDIA driver packages for Fedora, with very slight modifications for hardware compatibility, and conforming to the Terra packaging guidelines.
|
||||
|
||||
Unlike negativo17 and Nobara, we do not manually generate a tarball of the NVIDIA drivers, but directly generate them
|
||||
on-the-fly from the NVIDIA installer. This ensures that the packages can be easily maintained and updated, as long as the
|
||||
self-extracting NVIDIA installer still has the same command-line options.
|
||||
|
||||
## How Terra unpacks the self-extracting archive
|
||||
|
||||
Instead of pre-generating the tarball, we run the NVIDIA installer with the `-x` flag to extract the contents directly to the build directory. We then make use of an RPM macro to set the new build directory as that tree.
|
||||
|
||||
```rpmspec
|
||||
Source0: http://download.nvidia.com/XFree86/Linux-%{_arch}/%{version}/NVIDIA-Linux-%{_arch}-%{version}.run
|
||||
|
||||
|
||||
... skip to the %prep section ...
|
||||
|
||||
%prep
|
||||
sh %{SOURCE0} -x --target nvidia-driver-%{version}
|
||||
%setup -T -D -n nvidia-driver-%{version}
|
||||
|
||||
%build
|
||||
|
||||
... Build the package as usual ...
|
||||
|
||||
```
|
||||
|
||||
This is simpler than manually generating the tarball, but comes with a slight cost of having to download the NVIDIA installer every time we build any package that relies on that archive.
|
||||
|
||||
## Support
|
||||
|
||||
If you have any issues with the NVIDIA drivers, please file an issue on the [Terra Monorepo](https://github.com/terrapkg/packages/issues). We will try to help you as best as we can.
|
||||
|
||||
## License
|
||||
|
||||
The NVIDIA drivers are licensed under the NVIDIA Software License. Please refer to the [NVIDIA Software License](https://www.nvidia.com/content/DriverDownload-March2009/licence.php?lang=us) for more information.
|
||||
|
||||
We do not modify the actual NVIDIA drivers in any way, only providing a re-packaged version compatible with Ultramarine and Fedora.
|
||||
@@ -0,0 +1,10 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "compat-nvidia-repo-580.spec"
|
||||
}
|
||||
labels {
|
||||
subrepo = "nvidia"
|
||||
weekly = 4
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
Name: compat-nvidia-repo-580
|
||||
Version: 580.119.02
|
||||
Epoch: 3
|
||||
Release: 1%?dist
|
||||
Summary: Compatibility package required by official CUDA packages
|
||||
License: NVIDIA License
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
Requires: nvidia-driver-580 >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-driver-580-cuda >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-driver-580-cuda-libs >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-driver-580-libs >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-580-kmod >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-settings-580 >= %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
Provides: cuda-drivers-580 >= %{?epoch:%{epoch}:}%{version}
|
||||
Provides: nvidia-open-580 >= %{?epoch:%{epoch}:}%{version}
|
||||
# Add any versioned provides:
|
||||
Provides: cuda-drivers-560 >= %{?epoch:%{epoch}:}%{version}
|
||||
Provides: cuda-drivers-565 >= %{?epoch:%{epoch}:}%{version}
|
||||
Provides: nvidia-open-560 >= %{?epoch:%{epoch}:}%{version}
|
||||
Provides: nvidia-open-565 >= %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description
|
||||
Nvidia drivers metapackage required by official CUDA packages. It pulls in all
|
||||
Nvidia driver components.
|
||||
|
||||
%files
|
||||
# Without an empty files section the package is not created.
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,3 @@
|
||||
import "andax/nvidia.rhai" as nvidia;
|
||||
|
||||
rpm.version(nvidia::nvidia_legacy_version());
|
||||
@@ -0,0 +1,10 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "dkms-nvidia-580.spec"
|
||||
}
|
||||
labels {
|
||||
subrepo = "nvidia"
|
||||
updbranch = 1
|
||||
mock = 1
|
||||
}
|
||||
}
|
||||
+7
-5
@@ -1,9 +1,11 @@
|
||||
## NVIDIA DKMS package, based on the work of Negativo17 with tweaks for Terra.
|
||||
|
||||
# RPM inexplicably thinks this package deps on a version of libcrypto it does not?
|
||||
%global __requires_exclude (libcrypto\\.so\\.1\\.1.*)$
|
||||
%global debug_package %{nil}
|
||||
%global modulename nvidia
|
||||
|
||||
Name: dkms-%{modulename}-open
|
||||
Name: dkms-%{modulename}-580
|
||||
Version: 580.105.08
|
||||
Release: 1%?dist
|
||||
Summary: NVIDIA display driver kernel module
|
||||
@@ -11,17 +13,17 @@ Epoch: 3
|
||||
License: NVIDIA License
|
||||
URL: https://www.nvidia.com/object/unix.html
|
||||
Source0: https://download.nvidia.com/XFree86/Linux-%{_arch}/%{version}/NVIDIA-Linux-%{_arch}-%{version}.run
|
||||
Source1: %{name}.conf
|
||||
Source1: dkms-%{modulename}.conf
|
||||
BuildRequires: sed
|
||||
Provides: %{modulename}-open-kmod = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: %{modulename}-kmod-common = %{?epoch:%{epoch}:}%{version}
|
||||
Provides: %{modulename}-580-kmod = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: %{modulename}-580-kmod-common = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: dkms
|
||||
Conflicts: akmod-nvidia
|
||||
# Unlike most DKMS packages, this package is NOT noarch!
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
%description
|
||||
This package provides the NVIDIA kernel driver modules.
|
||||
This package provides the proprietary NVIDIA kernel driver modules.
|
||||
|
||||
%prep
|
||||
sh %{SOURCE0} -x --target dkms-nvidia-%{version}-%{_arch}
|
||||
+1
-8
@@ -2,27 +2,20 @@ PACKAGE_NAME="nvidia"
|
||||
PACKAGE_VERSION="__VERSION_STRING"
|
||||
AUTOINSTALL="yes"
|
||||
|
||||
MODULE_VARIANT=kernel
|
||||
|
||||
# Quote make to avoid DKMS replacing it with "make -j$parallel_jobs KERNELRELEASE=$kernelver"
|
||||
MAKE[0]="'make' -j$(nproc) -C ${MODULE_VARIANT} KERNEL_UNAME=${kernelver} modules"
|
||||
MAKE[0]="'make' -j$(nproc) KERNEL_UNAME=${kernelver} modules"
|
||||
|
||||
BUILT_MODULE_NAME[0]="nvidia"
|
||||
BUILT_MODULE_LOCATION[0]="${MODULE_VARIANT}"
|
||||
DEST_MODULE_LOCATION[0]="/extra"
|
||||
|
||||
BUILT_MODULE_NAME[1]="nvidia-modeset"
|
||||
BUILT_MODULE_LOCATION[1]="${MODULE_VARIANT}"
|
||||
DEST_MODULE_LOCATION[1]="/extra"
|
||||
|
||||
BUILT_MODULE_NAME[2]="nvidia-drm"
|
||||
BUILT_MODULE_LOCATION[2]="${MODULE_VARIANT}"
|
||||
DEST_MODULE_LOCATION[2]="/extra"
|
||||
|
||||
BUILT_MODULE_NAME[3]="nvidia-uvm"
|
||||
BUILT_MODULE_LOCATION[3]="${MODULE_VARIANT}"
|
||||
DEST_MODULE_LOCATION[3]="/extra"
|
||||
|
||||
BUILT_MODULE_NAME[4]="nvidia-peermem"
|
||||
BUILT_MODULE_LOCATION[4]="${MODULE_VARIANT}"
|
||||
DEST_MODULE_LOCATION[4]="/extra"
|
||||
@@ -0,0 +1,3 @@
|
||||
import "andax/bump_extras.rhai" as bump;
|
||||
|
||||
rpm.version(bump::madoguchi("nvidia-580-kmod-common", labels.branch));
|
||||
@@ -0,0 +1,4 @@
|
||||
nvidia*/
|
||||
NVIDIA*/
|
||||
*.tar.*
|
||||
*.run
|
||||
@@ -0,0 +1,8 @@
|
||||
Section "OutputClass"
|
||||
Identifier "nvidia"
|
||||
MatchDriver "nvidia-drm"
|
||||
Driver "nvidia"
|
||||
Option "AllowEmptyInitialConfiguration"
|
||||
Option "SLI" "Auto"
|
||||
Option "BaseMosaic" "on"
|
||||
EndSection
|
||||
@@ -0,0 +1,4 @@
|
||||
# Enable persistence state. From:
|
||||
# file:///usr/share/doc/nvidia-driver/html/nvidia-persistenced.html
|
||||
|
||||
enable nvidia-persistenced.service
|
||||
@@ -0,0 +1,12 @@
|
||||
# Enable complete power management. From:
|
||||
# file:///usr/share/doc/nvidia-driver/html/powermanagement.html
|
||||
|
||||
enable nvidia-hibernate.service
|
||||
enable nvidia-resume.service
|
||||
enable nvidia-suspend.service
|
||||
enable nvidia-suspend-then-hibernate.service
|
||||
|
||||
# Enable Dynamic Boost. From:
|
||||
# file:///usr/share/doc/nvidia-driver/html/dynamicboost.html
|
||||
|
||||
enable nvidia-powerd.service
|
||||
@@ -0,0 +1,7 @@
|
||||
The NVIDIA proprietary driver is already installed in this system. It was
|
||||
installed through a 3d party repository.
|
||||
|
||||
Please refer to the following page for additional information and to install
|
||||
optional driver components:
|
||||
|
||||
https://negativo17.org/nvidia-driver/
|
||||
@@ -0,0 +1,14 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "nvidia-driver-580.spec"
|
||||
# We run the negativo17 generator script here because I genuinely tried fixing the spec file with our fancy patch and it didn't work
|
||||
# TODO: Port it inside the specfile scripts
|
||||
# pre_script = "nvidia-generate-tarballs.sh"
|
||||
}
|
||||
arches = ["x86_64", "aarch64", "i386"]
|
||||
labels = {
|
||||
subrepo = "nvidia"
|
||||
mock = 1
|
||||
weekly = 4
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<component type="driver">
|
||||
<id>com.nvidia.driver</id>
|
||||
<suggests>
|
||||
<id>nvidia-settings.desktop</id>
|
||||
</suggests>
|
||||
<name>NVIDIA Graphics Driver</name>
|
||||
<icon type="local">/usr/share/pixmaps/com.nvidia.driver.png</icon>
|
||||
<summary>NVIDIA Accelerated Graphics Driver</summary>
|
||||
<developer id="com.nvidia">
|
||||
<name>NVIDIA Corporation</name>
|
||||
</developer>
|
||||
<description>
|
||||
<p>The NVIDIA Accelerated Linux Graphics Driver brings accelerated 2D functionality and high-performance OpenGL support to Linux with the use of NVIDIA graphics processing units.</p>
|
||||
<p>These drivers provide optimized hardware acceleration for OpenGL and X applications and support nearly all recent NVIDIA GPU products. The NVIDIA graphics driver uses a Unified Driver Architecture: the single graphics driver supports all modern NVIDIA GPUs.</p>
|
||||
</description>
|
||||
<keywords>
|
||||
<keyword>CUDA</keyword>
|
||||
<keyword>GeForce</keyword>
|
||||
<keyword>NVIDIA</keyword>
|
||||
<keyword>OpenGL</keyword>
|
||||
<keyword>Quadro</keyword>
|
||||
<keyword>Tesla</keyword>
|
||||
<keyword>Video</keyword>
|
||||
<keyword>Vulkan</keyword>
|
||||
<keyword>av1</keyword>
|
||||
<keyword>avc</keyword>
|
||||
<keyword>driver</keyword>
|
||||
<keyword>h264</keyword>
|
||||
<keyword>h265</keyword>
|
||||
<keyword>hevc</keyword>
|
||||
<keyword>jpeg</keyword>
|
||||
<keyword>mpeg2</keyword>
|
||||
<keyword>vaapi</keyword>
|
||||
<keyword>vc-1</keyword>
|
||||
<keyword>vp8</keyword>
|
||||
<keyword>vp9</keyword>
|
||||
</keywords>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>LicenseRef-proprietary:NVIDIA</project_license>
|
||||
<url type="homepage">https://www.nvidia.com/</url>
|
||||
<update_contact>https://github.com/terrapkg/packages/issues</update_contact>
|
||||
<vcs-browser>https://github.com/terrapkg/packages</vcs-browser>
|
||||
<custom>
|
||||
<value key="GnomeSoftware::requires-akmods-key">True</value>
|
||||
</custom>
|
||||
</component>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
@@ -0,0 +1,536 @@
|
||||
%global debug_package %{nil}
|
||||
%global __strip %{nil}
|
||||
%global __brp_strip_comment_note %{nil}
|
||||
%global __brp_ldconfig %{nil}
|
||||
%define _build_id_links none
|
||||
%global real_name nvidia-driver
|
||||
|
||||
# systemd 248+
|
||||
%if 0%{?rhel} == 8
|
||||
%global _systemd_util_dir %{_prefix}/lib/systemd
|
||||
%endif
|
||||
|
||||
Name: %{real_name}-580
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards
|
||||
Epoch: 3
|
||||
License: NVIDIA License
|
||||
URL: http://www.nvidia.com/object/unix.html
|
||||
ExclusiveArch: %{ix86} x86_64 aarch64
|
||||
|
||||
%dnl Source0: %{name}-%{version}-i386.tar.xz
|
||||
%dnl Source1: %{name}-%{version}-x86_64.tar.xz
|
||||
%dnl Source2: %{name}-%{version}-aarch64.tar.xz
|
||||
Source8: 70-%{real_name}.preset
|
||||
Source9: 70-%{real_name}-cuda.preset
|
||||
Source10: 10-nvidia.conf
|
||||
Source13: alternate-install-present
|
||||
|
||||
Source40: com.nvidia.driver.metainfo.xml
|
||||
Source41: parse-supported-gpus.py
|
||||
Source42: com.nvidia.driver.png
|
||||
|
||||
Source99: nvidia-generate-tarballs.sh
|
||||
|
||||
%ifarch x86_64 aarch64
|
||||
BuildRequires: libappstream-glib
|
||||
%if 0%{?rhel} == 8
|
||||
# xml.etree.ElementTree has indent only from 3.9+:
|
||||
BuildRequires: python(abi) >= 3.9
|
||||
%else
|
||||
BuildRequires: python3
|
||||
%endif
|
||||
BuildRequires: systemd-rpm-macros
|
||||
%endif
|
||||
|
||||
BuildRequires: wget
|
||||
BuildRequires: coreutils
|
||||
|
||||
Requires: %{real_name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-kmod-common = %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
Conflicts: nvidia-x11-drv
|
||||
Conflicts: nvidia-x11-drv-470xx
|
||||
Conflicts: xorg-x11-drv-nvidia
|
||||
Conflicts: xorg-x11-drv-nvidia-470xx
|
||||
|
||||
%description
|
||||
This package provides the most recent NVIDIA display driver which allows for
|
||||
hardware accelerated rendering with recent NVIDIA chipsets.
|
||||
|
||||
For the full product support list, please consult the release notes for driver
|
||||
version %{version}.
|
||||
|
||||
%package libs
|
||||
Summary: Libraries for %{name}
|
||||
Requires: egl-gbm%{?_isa} >= 2:1.1.2.1
|
||||
Requires: (egl-wayland%{?_isa} >= 1.1.20 or egl-wayland2%{?_isa} >= 1.0.0~20250806gitd4deb7c-3)
|
||||
Suggests: egl-wayland%{?_isa} >= 1.1.20
|
||||
Requires: egl-x11%{?_isa} >= 1.0.3
|
||||
Requires: libvdpau%{?_isa} >= 1.5
|
||||
Requires: libglvnd%{?_isa} >= 1.0
|
||||
Requires: libglvnd-egl%{?_isa} >= 1.0
|
||||
Requires: libglvnd-gles%{?_isa} >= 1.0
|
||||
Requires: libglvnd-glx%{?_isa} >= 1.0
|
||||
Requires: libglvnd-opengl%{?_isa} >= 1.0
|
||||
Requires: libnvidia-ml-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: vulkan-loader
|
||||
%if 0%{?fedora}
|
||||
%ifarch x86_64
|
||||
Requires: (%{name}-libs(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32))
|
||||
%endif
|
||||
%endif
|
||||
# dlopened
|
||||
Requires: libnvidia-gpucomp-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: libnvidia-ml-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
Conflicts: nvidia-x11-drv-libs
|
||||
Conflicts: nvidia-x11-drv-470xx-libs
|
||||
Conflicts: xorg-x11-drv-nvidia-libs
|
||||
Conflicts: xorg-x11-drv-nvidia-470xx-libs
|
||||
|
||||
%description libs
|
||||
This package provides the shared libraries for %{name}.
|
||||
|
||||
%package cuda-libs
|
||||
Summary: Libraries for %{name}-cuda
|
||||
Provides: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Obsoletes: %{name}-devel < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: libnvidia-ml-580 = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%ifarch x86_64 aarch64
|
||||
Requires: libnvidia-cfg-580 = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
%endif
|
||||
%if 0%{?fedora}
|
||||
%ifarch x86_64
|
||||
Requires: (%{name}-cuda-libs-580(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32))
|
||||
%endif
|
||||
%endif
|
||||
# dlopened:
|
||||
Requires: libnvidia-gpucomp-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: libnvidia-ml-580 = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
Conflicts: xorg-x11-drv-nvidia-cuda-libs
|
||||
Conflicts: xorg-x11-drv-nvidia-470xx-cuda-libs
|
||||
|
||||
%description cuda-libs
|
||||
This package provides the CUDA libraries for %{name}-cuda.
|
||||
|
||||
%package -n libnvidia-fbc-580
|
||||
Summary: NVIDIA OpenGL-based Framebuffer Capture libraries
|
||||
Provides: %{real_name}-NvFBCOpenGL-580 = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Obsoletes: %{real_name}-NvFBCOpenGL < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
%if 0%{?fedora}
|
||||
%ifarch x86_64
|
||||
Requires: (libnvidia-fbc-580(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32))
|
||||
%endif
|
||||
%endif
|
||||
# dlopened:
|
||||
Requires: %{name}-cuda-libs-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description -n libnvidia-fbc-580
|
||||
This library provides a high performance, low latency interface to capture and
|
||||
optionally encode the composited framebuffer of an X screen. NvFBC are private
|
||||
APIs that are only available to NVIDIA approved partners for use in remote
|
||||
graphics scenarios.
|
||||
|
||||
%package -n libnvidia-gpucomp-580
|
||||
Summary: NVIDIA library for shader compilation (nvgpucomp)
|
||||
%if 0%{?fedora}
|
||||
%ifarch x86_64
|
||||
Requires: (libnvidia-gpucomp-580(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32))
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%description -n libnvidia-gpucomp-580
|
||||
This package contains the private libnvidia-gpucomp runtime library which is used by
|
||||
other driver components.
|
||||
|
||||
%package -n libnvidia-ml-580
|
||||
Summary: NVIDIA Management Library (NVML)
|
||||
Provides: cuda-nvml-580%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: %{real_name}-NVML-580 = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
%if 0%{?fedora}
|
||||
%ifarch x86_64
|
||||
Requires: (libnvidia-ml-580(x86-32) = %{?epoch:%{epoch}:}%{version}-%{release} if steam(x86-32))
|
||||
%endif
|
||||
%endif
|
||||
Obsoletes: %{real_name}-NVML < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description -n libnvidia-ml-580
|
||||
A C-based API for monitoring and managing various states of the NVIDIA GPU
|
||||
devices. It provides a direct access to the queries and commands exposed via
|
||||
nvidia-smi. The run-time version of NVML ships with the NVIDIA display driver,
|
||||
and the SDK provides the appropriate header, stub libraries and sample
|
||||
applications. Each new version of NVML is backwards compatible and is intended
|
||||
to be a platform for building 3rd party applications.
|
||||
|
||||
%ifarch x86_64 aarch64
|
||||
|
||||
%package -n libnvidia-cfg-580
|
||||
Summary: NVIDIA Config public interface (nvcfg)
|
||||
|
||||
%description -n libnvidia-cfg-580
|
||||
This package contains the private libnvidia-cfg runtime library which is used by
|
||||
other driver components.
|
||||
|
||||
%package cuda
|
||||
Summary: CUDA integration for %{name}
|
||||
Requires: %{name}-cuda-libs-580%{?_isa} = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-580-kmod-common = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-persistenced-580 = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: opencl-filesystem
|
||||
Requires: ocl-icd
|
||||
|
||||
Conflicts: xorg-x11-drv-nvidia-cuda
|
||||
Conflicts: xorg-x11-drv-nvidia-470xx-cuda
|
||||
|
||||
%description cuda
|
||||
This package provides the CUDA integration components for %{name}.
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} < 10
|
||||
%package -n xorg-x11-nvidia-580
|
||||
Summary: X.org X11 NVIDIA driver and extensions
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: xorg-x11-server-Xorg%{?_isa}
|
||||
Supplements: (%{real_name}-580 and xorg-x11-server-Xorg)
|
||||
|
||||
Conflicts: xorg-x11-drv-nvidia
|
||||
Conflicts: xorg-x11-drv-nvidia-470xx
|
||||
|
||||
%description -n xorg-x11-nvidia-580
|
||||
The NVIDIA X.org X11 driver and associated components.
|
||||
%endif
|
||||
|
||||
%endif
|
||||
|
||||
%prep
|
||||
source %{SOURCE99}
|
||||
export VERSION=%{version}
|
||||
%ifarch %ix86
|
||||
export ARCH=x86_64
|
||||
%else
|
||||
export ARCH=%{_arch}
|
||||
%endif
|
||||
|
||||
unpack() {
|
||||
set_vars
|
||||
run_file_get
|
||||
run_file_extract
|
||||
cleanup_folder
|
||||
create_tarball
|
||||
}
|
||||
|
||||
unpack
|
||||
%setup -D -T -n %{real_name}-%{version}-%{_arch}
|
||||
|
||||
%ifarch x86_64
|
||||
%if 0%{?rhel} == 8
|
||||
rm -f libnvidia-pkcs11-openssl3.so.%{version}
|
||||
%else
|
||||
rm -f libnvidia-pkcs11.so.%{version}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Create symlinks for shared objects
|
||||
ldconfig -vn .
|
||||
|
||||
# Required for building gstreamer 1.0 NVENC plugins
|
||||
ln -sf libnvidia-encode.so.%{version} libnvidia-encode.so
|
||||
|
||||
# Required for building ffmpeg 3.1 Nvidia CUVID
|
||||
ln -sf libnvcuvid.so.%{version} libnvcuvid.so
|
||||
|
||||
# Required for building against CUDA
|
||||
ln -sf libcuda.so.%{version} libcuda.so
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
# EGL loader
|
||||
install -p -m 0644 -D 10_nvidia.json %{buildroot}%{_datadir}/glvnd/egl_vendor.d/10_nvidia.json
|
||||
|
||||
# Vulkan loader
|
||||
install -p -m 0644 -D nvidia_icd.json %{buildroot}%{_datadir}/vulkan/icd.d/nvidia_icd.%{_target_cpu}.json
|
||||
sed -i -e 's|libGLX_nvidia|%{_libdir}/libGLX_nvidia|g' %{buildroot}%{_datadir}/vulkan/icd.d/nvidia_icd.%{_target_cpu}.json
|
||||
|
||||
%ifarch x86_64
|
||||
# Vulkan SC loader and compiler
|
||||
install -p -m 0644 -D nvidia_icd_vksc.json %{buildroot}%{_datadir}/vulkansc/icd.d/nvidia_icd.%{_target_cpu}.json
|
||||
sed -i -e 's|libnvidia-vksc-core|%{_libdir}/libnvidia-vksc-core|g' %{buildroot}%{_datadir}/vulkansc/icd.d/nvidia_icd.%{_target_cpu}.json
|
||||
install -p -m 0755 -D nvidia-pcc %{buildroot}%{_bindir}/nvidia-pcc
|
||||
%endif
|
||||
|
||||
# Unique libraries
|
||||
mkdir -p %{buildroot}%{_libdir}/vdpau/
|
||||
cp -a lib*GL*_nvidia.so* libcuda*.so* libnv*.so* %{buildroot}%{_libdir}/
|
||||
cp -a libvdpau_nvidia.so* %{buildroot}%{_libdir}/vdpau/
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 9
|
||||
# GBM loader
|
||||
mkdir -p %{buildroot}%{_libdir}/gbm/
|
||||
ln -sf ../libnvidia-allocator.so.%{version} %{buildroot}%{_libdir}/gbm/nvidia-drm_gbm.so
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
|
||||
# NGX Proton/Wine library
|
||||
mkdir -p %{buildroot}%{_libdir}/nvidia/wine/
|
||||
cp -a *.dll %{buildroot}%{_libdir}/nvidia/wine/
|
||||
|
||||
%endif
|
||||
|
||||
%ifarch x86_64 aarch64
|
||||
|
||||
# alternate-install-present file triggers runfile warning
|
||||
install -m 0755 -d %{buildroot}/usr/lib/nvidia/
|
||||
install -p -m 0644 %{SOURCE13} %{buildroot}/usr/lib/nvidia/
|
||||
|
||||
# Empty?
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/nvidia/
|
||||
|
||||
# OpenCL config
|
||||
install -p -m 0755 -D nvidia.icd %{buildroot}%{_sysconfdir}/OpenCL/vendors/nvidia.icd
|
||||
|
||||
# Binaries
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
install -p -m 0755 nvidia-{debugdump,smi,cuda-mps-control,cuda-mps-server,bug-report.sh,ngx-updater,powerd} %{buildroot}%{_bindir}
|
||||
|
||||
# Man pages
|
||||
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||
install -p -m 0644 nvidia-{smi,cuda-mps-control}*.gz %{buildroot}%{_mandir}/man1/
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} < 10
|
||||
# X stuff
|
||||
install -p -m 0644 -D %{SOURCE10} %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf
|
||||
install -p -m 0755 -D nvidia_drv.so %{buildroot}%{_libdir}/xorg/modules/drivers/nvidia_drv.so
|
||||
install -p -m 0755 -D libglxserver_nvidia.so.%{version} %{buildroot}%{_libdir}/xorg/modules/extensions/libglxserver_nvidia.so
|
||||
%endif
|
||||
|
||||
# NVIDIA specific configuration files
|
||||
mkdir -p %{buildroot}%{_datadir}/nvidia/
|
||||
install -p -m 0644 nvidia-application-profiles-%{version}-key-documentation \
|
||||
%{buildroot}%{_datadir}/nvidia/
|
||||
install -p -m 0644 nvidia-application-profiles-%{version}-rc \
|
||||
%{buildroot}%{_datadir}/nvidia/
|
||||
|
||||
# OptiX
|
||||
install -p -m 0644 nvoptix.bin %{buildroot}%{_datadir}/nvidia/
|
||||
|
||||
# Systemd units and script for suspending/resuming
|
||||
mkdir -p %{buildroot}%{_systemd_util_dir}/system-preset/
|
||||
install -p -m 0644 %{SOURCE8} %{SOURCE9} %{buildroot}%{_systemd_util_dir}/system-preset/
|
||||
mkdir -p %{buildroot}%{_unitdir}/
|
||||
install -p -m 0644 systemd/system/*.service %{buildroot}%{_unitdir}/
|
||||
install -p -m 0755 systemd/nvidia-sleep.sh %{buildroot}%{_bindir}/
|
||||
install -p -m 0755 -D systemd/system-sleep/nvidia %{buildroot}%{_systemd_util_dir}/system-sleep/nvidia
|
||||
install -p -m 0644 -D nvidia-dbus.conf %{buildroot}%{_datadir}/dbus-1/system.d/nvidia-dbus.conf
|
||||
|
||||
# Ignore powerd binary exiting if hardware is not present
|
||||
# We should check for information in the DMI table
|
||||
sed -i -e 's/ExecStart=/ExecStart=-/g' %{buildroot}%{_unitdir}/nvidia-powerd.service
|
||||
|
||||
# Vulkan layer
|
||||
install -p -m 0644 -D nvidia_layers.json %{buildroot}%{_datadir}/vulkan/implicit_layer.d/nvidia_layers.json
|
||||
|
||||
# Install AppData and add modalias provides, do not use appstream-util add-provide as it mangles the xml
|
||||
install -p -m 0644 -D %{SOURCE40} %{buildroot}%{_metainfodir}/com.nvidia.driver.metainfo.xml
|
||||
%{SOURCE41} supported-gpus/supported-gpus.json %{buildroot}%{_metainfodir}/com.nvidia.driver.metainfo.xml
|
||||
mkdir -p %{buildroot}%{_datadir}/pixmaps/
|
||||
cp %{SOURCE42} %{buildroot}%{_datadir}/pixmaps/
|
||||
|
||||
# nvsandboxutils configuration
|
||||
install -p -m 0644 -D sandboxutils-filelist.json %{buildroot}%{_datadir}/nvidia/files.d/sandboxutils-filelist.json
|
||||
|
||||
# dnf needs-restarting plugin
|
||||
# dnf4 only for the moment: https://github.com/rpm-software-management/dnf5/issues/1815
|
||||
%if 0%{?fedora} < 42 || 0%{?rhel}
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/dnf/plugins/needs-restarting.d
|
||||
echo %{real_name} > %{buildroot}%{_sysconfdir}/dnf/plugins/needs-restarting.d/%{real_name}.conf
|
||||
echo %{real_name}-cuda > %{buildroot}%{_sysconfdir}/dnf/plugins/needs-restarting.d/%{real_name}-cuda.conf
|
||||
%endif
|
||||
|
||||
%check
|
||||
# Using appstreamcli: appstreamcli validate --strict
|
||||
# Icon type local is not supported by appstreamcli for drivers
|
||||
appstream-util validate --nonet %{buildroot}%{_metainfodir}/com.nvidia.driver.metainfo.xml
|
||||
|
||||
%endif
|
||||
|
||||
%ifarch x86_64 aarch64
|
||||
|
||||
%post
|
||||
%systemd_post nvidia-hibernate.service
|
||||
%systemd_post nvidia-powerd.service
|
||||
%systemd_post nvidia-resume.service
|
||||
%systemd_post nvidia-suspend.service
|
||||
%systemd_post nvidia-suspend-then-hibernate.service
|
||||
|
||||
%preun
|
||||
%systemd_preun nvidia-hibernate.service
|
||||
%systemd_preun nvidia-powerd.service
|
||||
%systemd_preun nvidia-resume.service
|
||||
%systemd_preun nvidia-suspend.service
|
||||
%systemd_preun nvidia-suspend-then-hibernate.service
|
||||
|
||||
%postun
|
||||
%systemd_postun nvidia-hibernate.service
|
||||
%systemd_postun nvidia-powerd.service
|
||||
%systemd_postun nvidia-resume.service
|
||||
%systemd_postun nvidia-suspend.service
|
||||
%systemd_postun nvidia-suspend-then-hibernate.service
|
||||
|
||||
%endif
|
||||
|
||||
%ifarch x86_64 aarch64
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc NVIDIA_Changelog README.txt html supported-gpus/supported-gpus.json
|
||||
%dir %{_sysconfdir}/nvidia
|
||||
%{_bindir}/nvidia-bug-report.sh
|
||||
%{_bindir}/nvidia-ngx-updater
|
||||
%ifarch x86_64
|
||||
%{_bindir}/nvidia-pcc
|
||||
%endif
|
||||
%{_bindir}/nvidia-powerd
|
||||
%{_bindir}/nvidia-sleep.sh
|
||||
%{_metainfodir}/com.nvidia.driver.metainfo.xml
|
||||
%{_datadir}/dbus-1/system.d/nvidia-dbus.conf
|
||||
%{_datadir}/nvidia/nvidia-application-profiles*
|
||||
%{_datadir}/pixmaps/com.nvidia.driver.png
|
||||
%{_systemd_util_dir}/system-preset/70-%{real_name}.preset
|
||||
%{_systemd_util_dir}/system-sleep/nvidia
|
||||
%{_unitdir}/nvidia-hibernate.service
|
||||
%{_unitdir}/nvidia-powerd.service
|
||||
%{_unitdir}/nvidia-resume.service
|
||||
%{_unitdir}/nvidia-suspend.service
|
||||
%{_unitdir}/nvidia-suspend-then-hibernate.service
|
||||
%if 0%{?fedora} < 42 || 0%{?rhel}
|
||||
%{_sysconfdir}/dnf/plugins/needs-restarting.d/%{real_name}.conf
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} < 10
|
||||
%files -n xorg-x11-nvidia-580
|
||||
%config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf
|
||||
%{_libdir}/xorg/modules/extensions/libglxserver_nvidia.so
|
||||
%{_libdir}/xorg/modules/drivers/nvidia_drv.so
|
||||
%endif
|
||||
|
||||
%files -n libnvidia-cfg-580
|
||||
%{_libdir}/libnvidia-cfg.so.1
|
||||
%{_libdir}/libnvidia-cfg.so.%{version}
|
||||
|
||||
%files cuda
|
||||
%{_sysconfdir}/OpenCL/vendors/*
|
||||
%{_bindir}/nvidia-cuda-mps-control
|
||||
%{_bindir}/nvidia-cuda-mps-server
|
||||
%{_bindir}/nvidia-debugdump
|
||||
%{_bindir}/nvidia-smi
|
||||
%{_datadir}/nvidia/files.d/sandboxutils-filelist.json
|
||||
%{_mandir}/man1/nvidia-cuda-mps-control.1.*
|
||||
%{_mandir}/man1/nvidia-smi.*
|
||||
%{_prefix}/lib/nvidia/alternate-install-present
|
||||
%{_systemd_util_dir}/system-preset/70-%{real_name}-cuda.preset
|
||||
%if 0%{?fedora} < 42 || 0%{?rhel}
|
||||
%{_sysconfdir}/dnf/plugins/needs-restarting.d/%{real_name}-cuda.conf
|
||||
%endif
|
||||
|
||||
%endif
|
||||
|
||||
%files libs
|
||||
%{_datadir}/glvnd/egl_vendor.d/10_nvidia.json
|
||||
%{_datadir}/vulkan/icd.d/nvidia_icd.%{_target_cpu}.json
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 9
|
||||
%dir %{_libdir}/gbm
|
||||
%{_libdir}/gbm/nvidia-drm_gbm.so
|
||||
%endif
|
||||
%{_libdir}/libEGL_nvidia.so.0
|
||||
%{_libdir}/libEGL_nvidia.so.%{version}
|
||||
%{_libdir}/libGLESv1_CM_nvidia.so.1
|
||||
%{_libdir}/libGLESv1_CM_nvidia.so.%{version}
|
||||
%{_libdir}/libGLESv2_nvidia.so.2
|
||||
%{_libdir}/libGLESv2_nvidia.so.%{version}
|
||||
%{_libdir}/libGLX_nvidia.so.0
|
||||
%{_libdir}/libGLX_nvidia.so.%{version}
|
||||
%{_libdir}/libnvidia-allocator.so.1
|
||||
%{_libdir}/libnvidia-allocator.so.%{version}
|
||||
%{_libdir}/libnvidia-eglcore.so.%{version}
|
||||
%{_libdir}/libnvidia-glcore.so.%{version}
|
||||
%{_libdir}/libnvidia-glsi.so.%{version}
|
||||
%{_libdir}/libnvidia-glvkspirv.so.%{version}
|
||||
%{_libdir}/libnvidia-gpucomp.so.%{version}
|
||||
%{_libdir}/libnvidia-tls.so.%{version}
|
||||
%{_libdir}/vdpau/libvdpau_nvidia.so.1
|
||||
%{_libdir}/vdpau/libvdpau_nvidia.so.%{version}
|
||||
%ifarch x86_64 aarch64
|
||||
%{_datadir}/nvidia/nvoptix.bin
|
||||
%{_datadir}/vulkan/implicit_layer.d/nvidia_layers.json
|
||||
%{_libdir}/libnvidia-api.so.1
|
||||
%{_libdir}/libnvidia-ngx.so.1
|
||||
%{_libdir}/libnvidia-ngx.so.%{version}
|
||||
%{_libdir}/libnvidia-rtcore.so.%{version}
|
||||
%{_libdir}/libnvoptix.so.1
|
||||
%{_libdir}/libnvoptix.so.%{version}
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
%{_datadir}/vulkansc/icd.d/nvidia_icd.%{_target_cpu}.json
|
||||
%if v"%{version}" > v"570.144"
|
||||
%{_libdir}/libnvidia-present.so.%{version}
|
||||
%endif
|
||||
%{_libdir}/libnvidia-vksc-core.so.1
|
||||
%{_libdir}/libnvidia-vksc-core.so.%{version}
|
||||
%dir %{_libdir}/nvidia
|
||||
%dir %{_libdir}/nvidia/wine
|
||||
%{_libdir}/nvidia/wine/*.dll
|
||||
%endif
|
||||
|
||||
%files cuda-libs
|
||||
%{_libdir}/libcuda.so
|
||||
%{_libdir}/libcuda.so.1
|
||||
%{_libdir}/libcuda.so.%{version}
|
||||
%{_libdir}/libnvcuvid.so
|
||||
%{_libdir}/libnvcuvid.so.1
|
||||
%{_libdir}/libnvcuvid.so.%{version}
|
||||
%{_libdir}/libnvidia-encode.so
|
||||
%{_libdir}/libnvidia-encode.so.1
|
||||
%{_libdir}/libnvidia-encode.so.%{version}
|
||||
%{_libdir}/libnvidia-nvvm.so.4
|
||||
%{_libdir}/libnvidia-nvvm.so.%{version}
|
||||
%{_libdir}/libnvidia-opencl.so.1
|
||||
%{_libdir}/libnvidia-opencl.so.%{version}
|
||||
%{_libdir}/libnvidia-opticalflow.so.1
|
||||
%{_libdir}/libnvidia-opticalflow.so.%{version}
|
||||
%{_libdir}/libnvidia-ptxjitcompiler.so.1
|
||||
%{_libdir}/libnvidia-ptxjitcompiler.so.%{version}
|
||||
%ifarch x86_64 aarch64
|
||||
%{_libdir}/libcudadebugger.so.1
|
||||
%{_libdir}/libcudadebugger.so.%{version}
|
||||
%if v"%{version}" > v"570.144"
|
||||
%{_libdir}/libnvidia-nvvm70.so.4
|
||||
%endif
|
||||
%{_libdir}/libnvidia-sandboxutils.so.1
|
||||
%{_libdir}/libnvidia-sandboxutils.so.%{version}
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
%if 0%{?rhel} == 8
|
||||
%{_libdir}/libnvidia-pkcs11.so.%{version}
|
||||
%else
|
||||
%{_libdir}/libnvidia-pkcs11-openssl3.so.%{version}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%files -n libnvidia-fbc-580
|
||||
%{_libdir}/libnvidia-fbc.so.1
|
||||
%{_libdir}/libnvidia-fbc.so.%{version}
|
||||
|
||||
%files -n libnvidia-gpucomp-580
|
||||
%{_libdir}/libnvidia-gpucomp.so.%{version}
|
||||
|
||||
%files -n libnvidia-ml-580
|
||||
%{_libdir}/libnvidia-ml.so.1
|
||||
%{_libdir}/libnvidia-ml.so.%{version}
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,117 @@
|
||||
#!/bin/sh
|
||||
# Slightly modified from negativo's tarball generator script
|
||||
|
||||
# instead of generating tarballs, we just make this script export
|
||||
# the functions
|
||||
|
||||
CONTEXT=$(realpath $(dirname $0))
|
||||
set -e
|
||||
|
||||
set_vars() {
|
||||
export VERSION=${VERSION:?"VERSION not set"}
|
||||
export DL_SITE=${DL_SITE:-http://download.nvidia.com/XFree86}
|
||||
export TEMP_UNPACK=${ARCH}
|
||||
export PLATFORM=Linux-${ARCH}
|
||||
export RUN_FILE=NVIDIA-${PLATFORM}-${VERSION}.run
|
||||
}
|
||||
|
||||
run_file_get() {
|
||||
printf "Downloading installer ${RUN_FILE}... "
|
||||
[[ -f $RUN_FILE ]] || wget -c -q ${DL_SITE}/${PLATFORM}/${VERSION}/$RUN_FILE
|
||||
printf "OK\n"
|
||||
}
|
||||
|
||||
run_file_extract() {
|
||||
rm -fr ${TEMP_UNPACK}
|
||||
sh ${RUN_FILE} --extract-only --target ${TEMP_UNPACK}
|
||||
}
|
||||
|
||||
cleanup_folder() {
|
||||
|
||||
printf "Cleaning up binaries... "
|
||||
|
||||
cd ${TEMP_UNPACK}
|
||||
|
||||
# Stuff not needed for packages:
|
||||
# - Compiled from source
|
||||
# - Interactive installer files
|
||||
# - GLVND GL libraries
|
||||
# - Internal development only libraries
|
||||
rm -fr \
|
||||
nvidia-xconfig* \
|
||||
nvidia-persistenced* \
|
||||
nvidia-modprobe* \
|
||||
libnvidia-gtk* libnvidia-wayland-client* nvidia-settings* \
|
||||
libGLESv1_CM.so.* libGLESv2.so.* libGLdispatch.so.* libOpenGL.so.* libGLX.so.* libGL.so.1* libEGL.so.1* \
|
||||
libnvidia-egl-wayland.so.* libnvidia-egl-gbm.so.* libnvidia-egl-xcb.so.* libnvidia-egl-xlib.so.* \
|
||||
libOpenCL.so.1* \
|
||||
libEGL.so.${VERSION} \
|
||||
nvidia-installer* .manifest make* mk* tls_test* libglvnd_install_checker
|
||||
|
||||
if [ "${ARCH}" == x86_64 ]; then
|
||||
rm -fr \
|
||||
32/libGLESv1_CM.so.* 32/libGLESv2.so.* 32/libGLdispatch.so.* 32/libOpenGL.so.* 32/libGLX.so.* 32/libGL.so.1* 32/libEGL.so.1* \
|
||||
32/libOpenCL.so.1* \
|
||||
32/libGL.so.${VERSION} 32/libEGL.so.${VERSION} \
|
||||
32/libnvidia-egl-wayland.so.* 32/libnvidia-egl-gbm.so.* 32/libnvidia-egl-xcb.so.* 32/libnvidia-egl-xlib.so.*
|
||||
|
||||
cp -f *.json* 32/
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
printf "OK\n"
|
||||
}
|
||||
|
||||
create_tarball() {
|
||||
|
||||
KMOD=nvidia-kmod-${VERSION}-${ARCH}
|
||||
KMOD_COMMON=nvidia-kmod-common-${VERSION}
|
||||
USR_64=nvidia-driver-${VERSION}-${ARCH}
|
||||
|
||||
mkdir ${KMOD} ${KMOD_COMMON} ${USR_64}
|
||||
mv ${TEMP_UNPACK}/kernel* ${KMOD}/
|
||||
mv ${TEMP_UNPACK}/firmware ${KMOD_COMMON}/
|
||||
|
||||
if [ "$ARCH" == x86_64 ]; then
|
||||
|
||||
USR_32=nvidia-driver-${VERSION}-i386
|
||||
|
||||
mkdir ${USR_32}
|
||||
mv ${TEMP_UNPACK}/32/* ${USR_32}/
|
||||
rm -fr ${TEMP_UNPACK}/32
|
||||
|
||||
fi
|
||||
|
||||
mv ${TEMP_UNPACK}/* ${USR_64}/
|
||||
|
||||
rm -fr ${TEMP_UNPACK}
|
||||
|
||||
for tarball in ${KMOD} ${KMOD_COMMON} ${USR_64} ${USR_32}; do
|
||||
|
||||
printf "Creating tarball $tarball... "
|
||||
|
||||
# XZ_OPT='-T0' tar --remove-files -cJf $tarball.tar.xz $tarball
|
||||
|
||||
printf "OK\n"
|
||||
|
||||
done
|
||||
}
|
||||
|
||||
# pushd $CONTEXT
|
||||
|
||||
# ARCH=aarch64
|
||||
# set_vars
|
||||
# run_file_get
|
||||
# run_file_extract
|
||||
# cleanup_folder
|
||||
# create_tarball
|
||||
|
||||
# ARCH=x86_64
|
||||
# set_vars
|
||||
# run_file_get
|
||||
# run_file_extract
|
||||
# cleanup_folder
|
||||
# create_tarball
|
||||
|
||||
# popd
|
||||
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (C) 2021-2024 Simone Caronni <negativo17@gmail.com>
|
||||
# Licensed under the GNU General Public License Version or later
|
||||
|
||||
import json
|
||||
import sys
|
||||
import xml.etree.ElementTree as ElementTree
|
||||
|
||||
def main():
|
||||
if len(sys.argv) != 3:
|
||||
print("usage: %s supported-gpus.json com.nvidia.driver.metainfo.xml" % sys.argv[0])
|
||||
return 1
|
||||
|
||||
json_input = open(sys.argv[1])
|
||||
gpus_raw = json.load(json_input)
|
||||
legacy = 'legacybranch'
|
||||
devids = []
|
||||
|
||||
for product in gpus_raw["chips"]:
|
||||
|
||||
if legacy not in product.keys():
|
||||
|
||||
devid = int(product["devid"], 16)
|
||||
if not devid in devids:
|
||||
devids.append(devid)
|
||||
|
||||
appstream_xml = ElementTree.parse(sys.argv[2])
|
||||
root = appstream_xml.getroot()
|
||||
provides = ElementTree.Element('provides')
|
||||
root.append(provides)
|
||||
|
||||
for devid in devids:
|
||||
modalias = ElementTree.SubElement(provides, "modalias")
|
||||
modalias.text = "pci:v000010DEd%08Xsv*sd*bc*sc*i*" % (devid)
|
||||
|
||||
ElementTree.indent(root, space=" ", level=0)
|
||||
# appstream-util validate requires the xml header
|
||||
appstream_xml.write(sys.argv[2], encoding="utf-8", xml_declaration=True)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
# We are going to assume we already have andax installed
|
||||
|
||||
export VERSION=$(anda run andax/nvidia_driver_print.rhai)
|
||||
|
||||
SCRIPT_DIR=$(realpath $(dirname $0))
|
||||
|
||||
$SCRIPT_DIR/nvidia-generate-tarballs.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
import "andax/nvidia.rhai" as nvidia;
|
||||
|
||||
rpm.version(nvidia::nvidia_legacy_version());
|
||||
@@ -0,0 +1,2 @@
|
||||
SUBSYSTEM=="pci", ATTRS{vendor}=="0x12d2", ATTRS{class}=="0x030000", TAG+="systemd", ENV{SYSTEMD_WANTS}="nvidia-fallback.service"
|
||||
SUBSYSTEM=="pci", ATTRS{vendor}=="0x10de", ATTRS{class}=="0x030[02]00", TAG+="systemd", ENV{SYSTEMD_WANTS}="nvidia-fallback.service"
|
||||
@@ -0,0 +1,13 @@
|
||||
# Device nodes are created by nvidia-modprobe, which is called by the nvidia DDX.
|
||||
# In case the DDX is not started, the device nodes are never created, so call
|
||||
# nvidia-modprobe in the udev rules to cover the Wayland/EGLStream and compute
|
||||
# case without a started display.
|
||||
ACTION=="add|bind", KERNEL=="nvidia", RUN+="/usr/bin/nvidia-modprobe"
|
||||
|
||||
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
|
||||
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
|
||||
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
|
||||
|
||||
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
|
||||
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
|
||||
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
|
||||
@@ -0,0 +1,3 @@
|
||||
# Omit the nvidia driver from the ramdisk, to avoid needing to regenerate
|
||||
# the ramdisk on updates.
|
||||
omit_drivers+=" nvidia nvidia_drm nvidia_modeset nvidia_peermem nvidia_uvm "
|
||||
@@ -0,0 +1,10 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "nvidia-580-kmod-common.spec"
|
||||
}
|
||||
arches = ["x86_64"]
|
||||
labels = {
|
||||
subrepo = "nvidia"
|
||||
weekly = 4
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
%global _dracut_conf_d %{_prefix}/lib/dracut/dracut.conf.d
|
||||
|
||||
# gsp_*.bin: ELF 64-bit LSB executable, UCB RISC-V
|
||||
%global _binaries_in_noarch_packages_terminate_build 0
|
||||
%global __brp_strip %{nil}
|
||||
|
||||
Name: nvidia-580-kmod-common
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Summary: Common file for NVIDIA's proprietary driver kernel modules
|
||||
Epoch: 3
|
||||
License: NVIDIA License
|
||||
URL: http://www.nvidia.com/object/unix.html
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
Source0: http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run
|
||||
Source17: nvidia-boot-update
|
||||
Source18: nvidia-modeset.conf
|
||||
Source19: nvidia.conf
|
||||
Source20: 60-nvidia.rules
|
||||
Source21: 99-nvidia.conf
|
||||
|
||||
# UDev rule location (_udevrulesdir) and systemd macros:
|
||||
BuildRequires: systemd-rpm-macros
|
||||
|
||||
Requires: dracut
|
||||
Requires: nvidia-modprobe-580
|
||||
Requires: nvidia-driver-580 = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-driver-580-libs = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-580-kmod = %{?epoch:%{epoch}:}%{version}
|
||||
Provides: nvidia-580-kmod-common = %{?epoch:%{epoch}:}%{version}
|
||||
Obsoletes: cuda-nvidia-kmod-common < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description
|
||||
This package provides the common files required by all NVIDIA kernel module
|
||||
package variants.
|
||||
|
||||
%prep
|
||||
sh %{SOURCE0} -x --target nvidia-kmod-%{version}-x86_64
|
||||
%setup -T -D -n nvidia-kmod-%{version}-x86_64
|
||||
|
||||
%install
|
||||
# Script for post/preun tasks
|
||||
install -p -m 0755 -D %{SOURCE17} %{buildroot}%{_bindir}/nvidia-boot-update
|
||||
|
||||
# Nvidia modesetting support:
|
||||
install -p -m 0644 -D %{SOURCE18} %{buildroot}%{_sysconfdir}/modprobe.d/nvidia-modeset.conf
|
||||
|
||||
# Load nvidia-uvm, enable complete power management:
|
||||
install -p -m 0644 -D %{SOURCE19} %{buildroot}%{_modprobedir}/nvidia.conf
|
||||
|
||||
# Avoid Nvidia modules getting in the initrd:
|
||||
install -p -m 0644 -D %{SOURCE21} %{buildroot}%{_dracut_conf_d}/99-nvidia.conf
|
||||
|
||||
# UDev rules
|
||||
# https://github.com/NVIDIA/nvidia-modprobe/blob/master/modprobe-utils/nvidia-modprobe-utils.h#L33-L46
|
||||
# https://github.com/negativo17/nvidia-kmod-common/issues/11
|
||||
# https://github.com/negativo17/nvidia-driver/issues/27
|
||||
install -p -m 644 -D %{SOURCE20} %{buildroot}%{_udevrulesdir}/60-nvidia.rules
|
||||
|
||||
# Firmware files:
|
||||
mkdir -p %{buildroot}%{_prefix}/lib/firmware/nvidia/%{version}/
|
||||
install -p -m 644 firmware/* %{buildroot}%{_prefix}/lib/firmware/nvidia/%{version}
|
||||
|
||||
# Fallback service. Fall back to Nouveau if NVIDIA drivers fail.
|
||||
# This is actually from RPM Fusion.
|
||||
%dnl install -Dm644 %{SOURCE22} -t %{buildroot}%{_unitdir}
|
||||
%dnl install -Dm644 %{SOURCE23} -t %{buildroot}%{_udevrulesdir}
|
||||
|
||||
%post
|
||||
%{_bindir}/nvidia-boot-update post || :
|
||||
|
||||
%pre
|
||||
# Remove the kernel command line adjustments one last time when doing an upgrade
|
||||
# from a version that was still setting up the command line parameters:
|
||||
if [ "$1" -eq "2" ] && [ -x %{_bindir}/nvidia-boot-update ]; then
|
||||
%{_bindir}/nvidia-boot-update preun || :
|
||||
|
||||
fi ||:
|
||||
|
||||
%triggerin -- nvidia-kmod,nvidia-open-kmod
|
||||
dracut --regenerate-all --force || :
|
||||
|
||||
%files
|
||||
%{_dracut_conf_d}/99-nvidia.conf
|
||||
%{_modprobedir}/nvidia.conf
|
||||
%dir %{_prefix}/lib/firmware
|
||||
%dir %{_prefix}/lib/firmware/nvidia
|
||||
%{_prefix}/lib/firmware/nvidia/%{version}
|
||||
%{_bindir}/nvidia-boot-update
|
||||
%config(noreplace) %{_sysconfdir}/modprobe.d/nvidia-modeset.conf
|
||||
%{_udevrulesdir}/60-nvidia.rules
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,209 @@
|
||||
#!/usr/bin/sh
|
||||
|
||||
|
||||
# EL8 (grub2 with BootLoaderSpec patches)
|
||||
#
|
||||
# kernel options: grub.cfg + grubenv
|
||||
# kernel options in /boot/loader/entries/*.conf use kernelopts from /boot/grub2/grubenv
|
||||
# grubby
|
||||
# - updates kernelopts in /boot/grub2/grubenv
|
||||
# - does not update /etc/default/grub
|
||||
# - does not update kernelopts in grub.cfg
|
||||
# grub.cfg:
|
||||
# - UEFI: /etc/grub2-efi.cfg -> /boot/efi/EFI/<os>/grub.cfg
|
||||
# - BIOS: /etc/grub2.cfg -> /boot/grub2/grub.cfg
|
||||
|
||||
|
||||
# EL9 + EL10 (grub2 with BootLoaderSpec patches)
|
||||
#
|
||||
# kernel options: grub.cfg + /etc/kernel/cmdline + /boot/loader/entries/*.conf
|
||||
# manually update: /etc/default/grub + /etc/kernel/cmdline
|
||||
# /etc/kernel/cmdline is not really used
|
||||
# grub2-mkconfig does not update /boot/loader/entries/*.conf
|
||||
# grub.cfg:
|
||||
# - UEFI: /etc/grub2-efi.cfg -> /boot/efi/EFI/<os>/grub.cfg
|
||||
# - BIOS: /etc/grub2.cfg -> /boot/grub2/grub.cfg
|
||||
|
||||
|
||||
# Fedora (grub2 with BootLoaderSpec patches)
|
||||
#
|
||||
# kernel options: grub.cfg + /etc/kernel/cmdline + /boot/loader/entries/*.conf
|
||||
# manually update: /etc/default/grub
|
||||
# grub2-mkconfig:
|
||||
# - updates /boot/loader/entries/*.conf
|
||||
# - updates /etc/kernel/cmdline
|
||||
# grub.cfg:
|
||||
# - UEFI/BIOS: /boot/grub2/grub.cfg
|
||||
|
||||
|
||||
# Fedora (systemd-boot)
|
||||
#
|
||||
# kernel options: grub.cfg + /boot/efi/loader/entries/*.conf (UEFI only)
|
||||
# grubby as an updateloaderentries alias:
|
||||
# - updates all entries in /boot/efi/loader/entries/*.conf
|
||||
# - does not work with multiple parameters at once
|
||||
# - does not update /etc/kernel/cmdline
|
||||
|
||||
|
||||
# Complete use case coverage, regardless of boot loaders:
|
||||
#
|
||||
# - update options in /etc/default/grub
|
||||
# - regenerate grub.cfg/grubenv
|
||||
# - update options in /boot/{efi/}loader/entries/*.conf entries
|
||||
# - update options in /etc/kernel/cmdline
|
||||
# - cover both UEFI and BIOS case
|
||||
|
||||
CMDLINE_ARGS_NVIDIA="rd.driver.blacklist=nouveau rd.driver.blacklist=nova-core"
|
||||
CMDLINE_ARGS_ALWAYS_REMOVE="nomodeset gfxpayload=vga=normal nouveau.modeset=0 nvidia-drm.modeset=1 nvidia-drm.fbdev=1 modprobe.blacklist=nouveau initcall_blacklist=simpledrm_platform_driver_init"
|
||||
|
||||
print_usage() {
|
||||
cat <<EOF
|
||||
Tool to add or remove kernel command line options required for proper operation of the Nvidia driver.
|
||||
Its main use is to be called from the %post/%preun scripts of the Nvidia driver packages, but it can also be used in other contexts, for example in a kickstart file after the drivers have been already installed.
|
||||
|
||||
Boot loaders supported:
|
||||
- grub 2 with BootLoaderSpec patches (el8, el9, fedora)
|
||||
- systemd-boot (fedora)
|
||||
|
||||
Usage: nvidia-update-boot post|preun
|
||||
post Adjust necessary kernel command line options
|
||||
preun Remove all kernel command line options
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
check() {
|
||||
if [ ! -f /run/ostree-booted ]; then
|
||||
|
||||
if [ -f /etc/default/grub ]; then
|
||||
|
||||
# Grub 2 is installed
|
||||
if [ -d /sys/firmware/efi ]; then
|
||||
GRUB_CFG=/etc/grub2-efi.cfg
|
||||
else
|
||||
GRUB_CFG=/etc/grub2.cfg
|
||||
fi
|
||||
|
||||
# Grub 2 with BootLoaderSpec patches, different path than systemd-boot
|
||||
BLS_ENTRIES=/boot/loader/entries
|
||||
|
||||
. /etc/default/grub
|
||||
|
||||
elif [ ! -f /etc/default/grub ] && [ -f /etc/kernel/cmdline ]; then
|
||||
|
||||
# systemd-boot is installed, differnt path than Grub 2 with BootLoaderSpec patches
|
||||
BLS_ENTRIES=/boot/efi/loader/entries
|
||||
|
||||
else
|
||||
|
||||
echo "Nvidia driver setup: no bootloader configured. Please run 'nvidia-boot-update post' manually."
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
post() {
|
||||
|
||||
# Edit GRUB configuration file
|
||||
if [ -v GRUB_CFG ]; then
|
||||
|
||||
if [ -z "${GRUB_CMDLINE_LINUX}" ]; then
|
||||
echo GRUB_CMDLINE_LINUX=\""$CMDLINE_ARGS_NVIDIA"\" >> /etc/default/grub
|
||||
else
|
||||
for param in $CMDLINE_ARGS_NVIDIA; do
|
||||
echo ${GRUB_CMDLINE_LINUX} | grep -q $param
|
||||
[ $? -eq 1 ] && GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX} ${param}"
|
||||
done
|
||||
for param in $CMDLINE_ARGS_ALWAYS_REMOVE; do
|
||||
echo ${GRUB_CMDLINE_LINUX} | grep -q $param
|
||||
[ $? -eq 0 ] && GRUB_CMDLINE_LINUX="$(echo ${GRUB_CMDLINE_LINUX} | sed -e "s/ $param//g")"
|
||||
done
|
||||
sed -i -e "s|^GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX=\"${GRUB_CMDLINE_LINUX}\"|g" /etc/default/grub
|
||||
fi
|
||||
|
||||
grub2-mkconfig -o $GRUB_CFG &>/dev/null
|
||||
|
||||
fi
|
||||
|
||||
# Edit BootLoaderSpec entries
|
||||
if [ -v BLS_ENTRIES ]; then
|
||||
|
||||
for config_file in $BLS_ENTRIES/*.conf; do
|
||||
for param in $CMDLINE_ARGS_NVIDIA; do
|
||||
grep -q $param $config_file
|
||||
[ $? -eq 1 ] && sed -i -e "s|^options.*|& $param|" $config_file
|
||||
done
|
||||
for param in $CMDLINE_ARGS_ALWAYS_REMOVE; do
|
||||
grep -q $param $config_file
|
||||
[ $? -eq 0 ] && sed -i -e "s| $param||" $config_file
|
||||
done
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
# Edit /etc/kernel/cmdline
|
||||
if [ -f /etc/kernel/cmdline ]; then
|
||||
for param in $CMDLINE_ARGS_NVIDIA; do
|
||||
grep -q $param /etc/kernel/cmdline
|
||||
[ $? -eq 1 ] && sed -i -e "s|^.*|& $param|" /etc/kernel/cmdline
|
||||
done
|
||||
for param in $CMDLINE_ARGS_ALWAYS_REMOVE; do
|
||||
grep -q $param /etc/kernel/cmdline
|
||||
[ $? -eq 0 ] && sed -i -e "s| $param||" /etc/kernel/cmdline
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
preun() {
|
||||
|
||||
# Edit GRUB configuration file
|
||||
if [ -v GRUB_CFG ]; then
|
||||
|
||||
for param in $CMDLINE_ARGS_NVIDIA; do
|
||||
echo ${GRUB_CMDLINE_LINUX} | grep -q $param
|
||||
[ $? -eq 0 ] && GRUB_CMDLINE_LINUX="$(echo ${GRUB_CMDLINE_LINUX} | sed -e "s/ $param//g")"
|
||||
done
|
||||
sed -i -e "s|^GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX=\"${GRUB_CMDLINE_LINUX}\"|g" /etc/default/grub
|
||||
|
||||
grub2-mkconfig -o $GRUB_CFG &>/dev/null
|
||||
|
||||
fi
|
||||
|
||||
# Edit BootLoaderSpec entries
|
||||
if [ -v BLS_ENTRIES ]; then
|
||||
|
||||
for config_file in $BLS_ENTRIES/*.conf; do
|
||||
for param in $CMDLINE_ARGS_NVIDIA; do
|
||||
grep -q $param $config_file
|
||||
[ $? -eq 0 ] && sed -i -e "s| $param||" $config_file
|
||||
done
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
# Edit /etc/kernel/cmdline
|
||||
if [ -f /etc/kernel/cmdline ]; then
|
||||
for param in $CMDLINE_ARGS_NVIDIA; do
|
||||
grep -q $param /etc/kernel/cmdline
|
||||
[ $? -eq 0 ] && sed -i -e "s| $param||" /etc/kernel/cmdline
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
post)
|
||||
check
|
||||
post
|
||||
exit 0
|
||||
;;
|
||||
preun)
|
||||
check
|
||||
preun
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
print_usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
Description=Fallback to nouveau as nvidia did not load
|
||||
After=akmods.service
|
||||
Before=display-manager.service
|
||||
ConditionKernelCommandLine=rd.driver.blacklist=nouveau
|
||||
ConditionPathExists=!/sys/module/nvidia
|
||||
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=-/sbin/modprobe nouveau
|
||||
ExecStartPost=-/bin/plymouth message --text="NVIDIA kernel module missing. Falling back to Nouveau."
|
||||
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical.target
|
||||
@@ -0,0 +1,4 @@
|
||||
# Nvidia modesetting support. Set to 0 or comment to disable kernel modesetting
|
||||
# support. This must be disabled in case of SLI Mosaic.
|
||||
|
||||
options nvidia-drm modeset=1
|
||||
@@ -0,0 +1,25 @@
|
||||
# Nouvea/Nova must be blacklisted here as well beside from the initrd to avoid a
|
||||
# delayed loading (for example on Optimus laptops where the Nvidia card is not
|
||||
# driving the main display).
|
||||
|
||||
blacklist nouveau
|
||||
blacklist nova-core
|
||||
|
||||
# Add soft dependencies for extra modules as adding the module loading to
|
||||
# /usr/lib/modules-load.d/*.conf for systemd consumption, makes the
|
||||
# configuration file to be added to the initrd but not the module, throwing an
|
||||
# error on plymouth about not being able to find the module.
|
||||
# Ref: /usr/lib/dracut/modules.d/00systemd/module-setup.sh
|
||||
|
||||
# Even adding the modules is not the correct thing, as we don't want it to be
|
||||
# included in the initrd, so use this configuration file to specify the
|
||||
# dependency.
|
||||
|
||||
softdep nvidia post: nvidia-uvm nvidia-drm
|
||||
|
||||
# Enable complete power management. From:
|
||||
# file:///usr/share/doc/nvidia-driver/html/powermanagement.html
|
||||
|
||||
options nvidia NVreg_TemporaryFilePath=/var/tmp
|
||||
options nvidia NVreg_EnableS0ixPowerManagement=1
|
||||
options nvidia NVreg_PreserveVideoMemoryAllocations=1
|
||||
@@ -0,0 +1,3 @@
|
||||
import "andax/nvidia.rhai" as nvidia;
|
||||
|
||||
rpm.version(nvidia::nvidia_legacy_version());
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "nvidia-open-kmod.spec"
|
||||
spec = "nvidia-580-kmod.spec"
|
||||
}
|
||||
labels {
|
||||
mock = 1
|
||||
+10
-12
@@ -1,9 +1,10 @@
|
||||
# Build only the akmod package and no kernel module packages:
|
||||
%define buildforkernels akmod
|
||||
%global real_name nvidia-kmod
|
||||
|
||||
%global debug_package %{nil}
|
||||
|
||||
Name: nvidia-open-kmod
|
||||
Name: nvidia-580-kmod
|
||||
Version: 580.105.08
|
||||
Release: 1%?dist
|
||||
Summary: NVIDIA display driver kernel module
|
||||
@@ -13,7 +14,7 @@ URL: http://www.nvidia.com/object/unix.html
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: http://download.nvidia.com/XFree86/Linux-%{_arch}/%{version}/NVIDIA-Linux-%{_arch}-%{version}.run
|
||||
Requires: nvidia-kmod-common = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-580-kmod-common = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: akmods
|
||||
|
||||
|
||||
@@ -21,7 +22,7 @@ Requires: akmods
|
||||
BuildRequires: kmodtool
|
||||
|
||||
# kmodtool does its magic here:
|
||||
%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
|
||||
%{expand:%(kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{real_name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
|
||||
|
||||
%description
|
||||
The NVidia %{version} display driver kernel module for kernel %{kversion}.
|
||||
@@ -30,33 +31,30 @@ The NVidia %{version} display driver kernel module for kernel %{kversion}.
|
||||
# Error out if there was something wrong with kmodtool:
|
||||
%{?kmodtool_check}
|
||||
# Print kmodtool output for debugging purposes:
|
||||
kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
|
||||
kmodtool --target %{_target_cpu} --repo terra.fyralabs.com --kmodname %{real_name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
|
||||
|
||||
sh %{SOURCE0} -x --target nvidia-kmod-%{version}-%{_arch}
|
||||
%setup -T -D -n nvidia-kmod-%{version}-%{_arch}
|
||||
sh %{SOURCE0} -x --target %{real_name}-%{version}-%{_arch}
|
||||
%setup -T -D -n %{real_name}-%{version}-%{_arch}
|
||||
%autopatch -p1
|
||||
|
||||
rm -f */dkms.conf
|
||||
|
||||
for kernel_version in %{?kernel_versions}; do
|
||||
mkdir _kmod_build_${kernel_version%%___*}
|
||||
cp -fr kernel* _kmod_build_${kernel_version%%___*}
|
||||
cp -fr Kbuild Makefile common conftest.sh *.mk nvidia* _kmod_build_${kernel_version%%___*}/
|
||||
done
|
||||
|
||||
%build
|
||||
export MODULE_VARIANT=kernel-open
|
||||
for kernel_version in %{?kernel_versions}; do
|
||||
pushd _kmod_build_${kernel_version%%___*}/
|
||||
make %{?_smp_mflags} -C ${MODULE_VARIANT} \
|
||||
KERNEL_UNAME="${kernel_version%%___*}" modules
|
||||
make %{?_smp_mflags} KERNEL_UNAME="${kernel_version%%___*}" modules
|
||||
popd
|
||||
done
|
||||
|
||||
%install
|
||||
export MODULE_VARIANT=kernel-open
|
||||
for kernel_version in %{?kernel_versions}; do
|
||||
mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
install -p -m 0755 _kmod_build_${kernel_version%%___*}/${MODULE_VARIANT}/*.ko \
|
||||
install -p -m 0755 _kmod_build_${kernel_version%%___*}/*.ko \
|
||||
%{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
done
|
||||
%{?akmod_install}
|
||||
@@ -0,0 +1,3 @@
|
||||
import "andax/bump_extras.rhai" as bump;
|
||||
|
||||
rpm.version(bump::madoguchi("nvidia-580-kmod-common", labels.branch));
|
||||
@@ -0,0 +1,9 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "nvidia-modprobe-580.spec"
|
||||
}
|
||||
labels = {
|
||||
subrepo = "nvidia"
|
||||
weekly = 4
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
%global real_name nvidia-modprobe
|
||||
|
||||
Name: %{real_name}-580
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Summary: NVIDIA kernel module loader
|
||||
Epoch: 3
|
||||
License: GPLv2+
|
||||
URL: http://www.nvidia.com/object/unix.html
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://download.nvidia.com/XFree86/%{real_name}/%{real_name}-%{version}.tar.bz2
|
||||
Patch0: %{real_name}-man-page-permissions.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: m4
|
||||
|
||||
%description
|
||||
This utility is used by user-space NVIDIA driver components to make sure the
|
||||
NVIDIA kernel modules are loaded and that the NVIDIA character device files are
|
||||
present.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{real_name}-%{version}
|
||||
# Remove additional CFLAGS added when enabling DEBUG
|
||||
sed -i '/+= -O0 -g/d' utils.mk
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags}"
|
||||
export LDFLAGS="%{?__global_ldflags}"
|
||||
make %{?_smp_mflags} \
|
||||
DEBUG=1 \
|
||||
NV_VERBOSE=1 \
|
||||
PREFIX=%{_prefix} \
|
||||
STRIP_CMD=true
|
||||
|
||||
%install
|
||||
%make_install \
|
||||
NV_VERBOSE=1 \
|
||||
PREFIX=%{_prefix} \
|
||||
STRIP_CMD=true
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%attr(4755, root, root) %{_bindir}/%{real_name}
|
||||
%{_mandir}/man1/%{real_name}.1.*
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -Naur nvidia-modprobe-525.60.11.old/Makefile nvidia-modprobe-525.60.11/Makefile
|
||||
--- nvidia-modprobe-525.60.11.old/Makefile 2022-11-28 20:15:22.000000000 +0100
|
||||
+++ nvidia-modprobe-525.60.11/Makefile 2022-11-30 07:56:18.751429168 +0100
|
||||
@@ -110,7 +110,7 @@
|
||||
.PHONY: MANPAGE_install
|
||||
MANPAGE_install: $(MANPAGE)
|
||||
$(MKDIR) $(MANDIR)
|
||||
- $(INSTALL) $(INSTALL_BIN_ARGS) $< $(MANDIR)/$(notdir $<)
|
||||
+ $(INSTALL) $(INSTALL_DOC_ARGS) $< $(MANDIR)/$(notdir $<)
|
||||
|
||||
$(eval $(call DEBUG_INFO_RULES, $(NVIDIA_MODPROBE)))
|
||||
$(NVIDIA_MODPROBE).unstripped: $(OBJS)
|
||||
@@ -0,0 +1,3 @@
|
||||
import "andax/nvidia.rhai" as nvidia;
|
||||
|
||||
rpm.version(nvidia::nvidia_legacy_version());
|
||||
@@ -0,0 +1,9 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "nvidia-persistenced-580.spec"
|
||||
}
|
||||
labels = {
|
||||
subrepo = "nvidia"
|
||||
weekly = 4
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
%global real_name nvidia-persistenced
|
||||
|
||||
Name: %{real_name}-580
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Summary: A daemon to maintain persistent software state in the NVIDIA driver
|
||||
Epoch: 3
|
||||
License: GPLv2+
|
||||
URL: http://www.nvidia.com/object/unix.html
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://download.nvidia.com/XFree86/%{real_name}/%{real_name}-%{version}.tar.bz2
|
||||
Source1: %{real_name}.service
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: libtirpc-devel
|
||||
BuildRequires: m4
|
||||
|
||||
# For Fedora systemd-rpm-macros would be enough:
|
||||
BuildRequires: systemd-devel
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
Requires: libnvidia-cfg-580%{?_isa} >= %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description
|
||||
The %{real_name} utility is used to enable persistent software state in the NVIDIA
|
||||
driver. When persistence mode is enabled, the daemon prevents the driver from
|
||||
releasing device state when the device is not in use. This can improve the
|
||||
startup time of new clients in this scenario.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{real_name}-%{version}
|
||||
# Remove additional CFLAGS added when enabling DEBUG
|
||||
sed -i -e '/+= -O0 -g/d' utils.mk
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags} -I%{_includedir}/tirpc"
|
||||
make %{?_smp_mflags} \
|
||||
DEBUG=1 \
|
||||
LIBS="-ldl -ltirpc" \
|
||||
NV_VERBOSE=1 \
|
||||
PREFIX=%{_prefix} \
|
||||
STRIP_CMD=true
|
||||
|
||||
%install
|
||||
%make_install \
|
||||
NV_VERBOSE=1 \
|
||||
PREFIX=%{_prefix} \
|
||||
STRIP_CMD=true
|
||||
|
||||
%if 0%{?fedora} < 42
|
||||
mv %{buildroot}%{_bindir} %{buildroot}%{_sbindir}
|
||||
%endif
|
||||
mkdir -p %{buildroot}%{_sharedstatedir}/%{real_name}
|
||||
|
||||
# Systemd unit files
|
||||
install -p -m 644 -D %{SOURCE1} %{buildroot}%{_unitdir}/%{real_name}.service
|
||||
|
||||
%post
|
||||
%systemd_post %{real_name}.service
|
||||
|
||||
%preun
|
||||
%systemd_preun %{real_name}.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart %{real_name}.service
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%{_mandir}/man1/%{real_name}.1.*
|
||||
%if 0%{?fedora} < 42
|
||||
%{_sbindir}/%{real_name}
|
||||
%else
|
||||
%{_bindir}/%{real_name}
|
||||
%endif
|
||||
%{_unitdir}/%{real_name}.service
|
||||
%{_sharedstatedir}/%{real_name}
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=NVIDIA Persistence Daemon
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/nvidia-persistenced/nvidia-persistenced.pid
|
||||
Restart=always
|
||||
ExecStart=/usr/sbin/nvidia-persistenced --verbose
|
||||
ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced/*
|
||||
TimeoutSec=300
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,3 @@
|
||||
import "andax/nvidia.rhai" as nvidia;
|
||||
|
||||
rpm.version(nvidia::nvidia_legacy_version());
|
||||
@@ -0,0 +1,9 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "nvidia-settings-580.spec"
|
||||
}
|
||||
labels = {
|
||||
subrepo = "nvidia"
|
||||
weekly = 4
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
%global real_name nvidia-settings
|
||||
|
||||
Name: %{real_name}-580
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Summary: Configure the NVIDIA graphics driver
|
||||
Epoch: 3
|
||||
License: GPLv2+
|
||||
URL: http://www.nvidia.com/object/unix.html
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://download.nvidia.com/XFree86/%{real_name}/%{real_name}-%{version}.tar.bz2
|
||||
Source1: %{real_name}-load.desktop
|
||||
Source2: %{real_name}.appdata.xml
|
||||
Patch0: %{real_name}-desktop.patch
|
||||
Patch1: %{real_name}-lib-permissions.patch
|
||||
Patch2: %{real_name}-link-order.patch
|
||||
Patch3: %{real_name}-libXNVCtrl.patch
|
||||
Patch4: %{real_name}-ld-dep-remove.patch
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: gcc
|
||||
BuildRequires: jansson-devel
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: libvdpau-devel >= 1.0
|
||||
BuildRequires: libXxf86vm-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: libXrandr-devel
|
||||
BuildRequires: libXv-devel
|
||||
BuildRequires: m4
|
||||
BuildRequires: mesa-libEGL-devel
|
||||
BuildRequires: mesa-libGL-devel
|
||||
BuildRequires: pkgconfig(gtk+-3.0)
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: vulkan-headers
|
||||
|
||||
Requires: nvidia-libXNVCtrl-580%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Requires: nvidia-driver-580%{?_isa} = %{?epoch}:%{version}
|
||||
# Loaded at runtime
|
||||
Requires: libvdpau%{?_isa} >= 0.9
|
||||
|
||||
%description
|
||||
The %{real_name} utility is a tool for configuring the NVIDIA graphics
|
||||
driver. It operates by communicating with the NVIDIA X driver, querying and
|
||||
updating state as appropriate.
|
||||
|
||||
This communication is done with the NV-CONTROL X extension.
|
||||
|
||||
%package -n nvidia-libXNVCtrl-580
|
||||
Summary: Library providing the NV-CONTROL API
|
||||
Obsoletes: libXNVCtrl < %{?epoch}:%{version}-%{release}
|
||||
Provides: libXNVCtrl-580 = %{?epoch}:%{version}-%{release}
|
||||
|
||||
%description -n nvidia-libXNVCtrl-580
|
||||
This library provides the NV-CONTROL API for communicating with the proprietary
|
||||
NVidia xorg driver. It is required for proper operation of the %{real_name} utility.
|
||||
|
||||
%package -n nvidia-libXNVCtrl-580-devel
|
||||
Summary: Development files for libXNVCtrl
|
||||
Requires: nvidia-libXNVCtrl-580 = %{?epoch}:%{version}-%{release}
|
||||
Requires: libX11-devel
|
||||
|
||||
%description -n nvidia-libXNVCtrl-580-devel
|
||||
This devel package contains libraries and header files for
|
||||
developing applications that use the NV-CONTROL API.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{real_name}-%{version}
|
||||
|
||||
# Remove bundled jansson
|
||||
rm -fr src/jansson
|
||||
|
||||
# Remove additional CFLAGS added when enabling DEBUG
|
||||
sed -i '/+= -O0 -g/d' utils.mk src/libXNVCtrl/utils.mk
|
||||
|
||||
# Change all occurrences of destinations in each utils.mk.
|
||||
sed -i -e 's|$(PREFIX)/lib|$(PREFIX)/%{_lib}|g' utils.mk src/libXNVCtrl/utils.mk
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags} -fPIC"
|
||||
export LDFLAGS="%{?__global_ldflags}"
|
||||
make \
|
||||
DEBUG=1 \
|
||||
NV_USE_BUNDLED_LIBJANSSON=0 \
|
||||
NV_VERBOSE=1 \
|
||||
PREFIX=%{_prefix} \
|
||||
XNVCTRL_LDFLAGS="-L%{_libdir}"
|
||||
|
||||
%install
|
||||
# Install libXNVCtrl headers
|
||||
mkdir -p %{buildroot}%{_includedir}/NVCtrl
|
||||
cp -af src/libXNVCtrl/*.h %{buildroot}%{_includedir}/NVCtrl/
|
||||
|
||||
# Install main program
|
||||
%make_install \
|
||||
DEBUG=1 \
|
||||
NV_USE_BUNDLED_LIBJANSSON=0 \
|
||||
NV_VERBOSE=1 \
|
||||
PREFIX=%{_prefix}
|
||||
|
||||
# Install desktop file
|
||||
mkdir -p %{buildroot}%{_datadir}/{applications,pixmaps}
|
||||
desktop-file-install --dir %{buildroot}%{_datadir}/applications/ doc/%{real_name}.desktop
|
||||
cp doc/%{real_name}.png %{buildroot}%{_datadir}/pixmaps/
|
||||
|
||||
# Install autostart file to load settings at login
|
||||
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/xdg/autostart/%{real_name}-load.desktop
|
||||
|
||||
# install AppData and add modalias provides
|
||||
mkdir -p %{buildroot}%{_metainfodir}/
|
||||
install -p -m 0644 %{SOURCE2} %{buildroot}%{_metainfodir}/
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}/%{_datadir}/applications/%{real_name}.desktop
|
||||
desktop-file-validate %{buildroot}%{_sysconfdir}/xdg/autostart/%{real_name}-load.desktop
|
||||
appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{real_name}.appdata.xml
|
||||
|
||||
%files
|
||||
%{_bindir}/%{real_name}
|
||||
%{_metainfodir}/%{real_name}.appdata.xml
|
||||
%{_datadir}/applications/%{real_name}.desktop
|
||||
%{_datadir}/pixmaps/%{real_name}.png
|
||||
%{_libdir}/libnvidia-gtk3.so.%{version}
|
||||
%{_libdir}/libnvidia-wayland-client.so.%{version}
|
||||
%{_mandir}/man1/%{real_name}.*
|
||||
%{_sysconfdir}/xdg/autostart/%{real_name}-load.desktop
|
||||
|
||||
%files -n nvidia-libXNVCtrl-580
|
||||
%license COPYING
|
||||
%{_libdir}/libXNVCtrl.so.*
|
||||
|
||||
%files -n nvidia-libXNVCtrl-580-devel
|
||||
%doc doc/NV-CONTROL-API.txt doc/FRAMELOCK.txt
|
||||
%{_includedir}/NVCtrl
|
||||
%{_libdir}/libXNVCtrl.so
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,18 @@
|
||||
diff -Naur nvidia-settings-530.30.02/doc/nvidia-settings.desktop nvidia-settings-530.30.02.old/doc/nvidia-settings.desktop
|
||||
--- nvidia-settings-530.30.02/doc/nvidia-settings.desktop 2023-03-08 13:01:39.749406623 +0100
|
||||
+++ nvidia-settings-530.30.02.old/doc/nvidia-settings.desktop 2023-03-08 13:02:50.950572460 +0100
|
||||
@@ -1,11 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
-Encoding=UTF-8
|
||||
Name=NVIDIA X Server Settings
|
||||
Comment=Configure NVIDIA X Server Settings
|
||||
-Exec=__UTILS_PATH__/nvidia-settings
|
||||
+Exec=nvidia-settings
|
||||
Icon=nvidia-settings
|
||||
-Categories=__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__
|
||||
+Categories=System;Settings
|
||||
+Keywords=nvidia;vulkan;opengl;driver
|
||||
|
||||
# Translation by Marcin Mikołajczak
|
||||
Name[pl]=Ustawienia serwera X NVIDIA
|
||||
@@ -0,0 +1,12 @@
|
||||
Index: nvidia-settings-545.13/utils.mk
|
||||
===================================================================
|
||||
--- nvidia-settings-545.13.orig/utils.mk
|
||||
+++ nvidia-settings-545.13/utils.mk
|
||||
@@ -584,7 +584,6 @@ define READ_ONLY_OBJECT_FROM_FILE_RULE
|
||||
$(at_if_quiet)$$(MKDIR) $$(OUTPUTDIR)
|
||||
$(at_if_quiet)cd $$(dir $(1)); \
|
||||
$$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \
|
||||
- $$(LD_TARGET_EMULATION_FLAG) \
|
||||
$$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@)
|
||||
$$(call quiet_cmd,OBJCOPY) \
|
||||
--rename-section .data=.rodata,contents,alloc,load,data,readonly \
|
||||
@@ -0,0 +1,24 @@
|
||||
diff -Naur nvidia-settings-525.60.11.old/src/libXNVCtrl/utils.mk nvidia-settings-525.60.11/src/libXNVCtrl/utils.mk
|
||||
--- nvidia-settings-525.60.11.old/src/libXNVCtrl/utils.mk 2022-12-01 07:56:28.691047034 +0100
|
||||
+++ nvidia-settings-525.60.11/src/libXNVCtrl/utils.mk 2022-12-01 07:56:49.882413208 +0100
|
||||
@@ -92,7 +92,7 @@
|
||||
|
||||
INSTALL ?= install
|
||||
INSTALL_BIN_ARGS ?= -m 755
|
||||
-INSTALL_LIB_ARGS ?= -m 644
|
||||
+INSTALL_LIB_ARGS ?= -m 755
|
||||
INSTALL_DOC_ARGS ?= -m 644
|
||||
|
||||
M4 ?= m4
|
||||
diff -Naur nvidia-settings-525.60.11.old/utils.mk nvidia-settings-525.60.11/utils.mk
|
||||
--- nvidia-settings-525.60.11.old/utils.mk 2022-12-01 07:56:28.651046343 +0100
|
||||
+++ nvidia-settings-525.60.11/utils.mk 2022-12-01 07:56:49.883413225 +0100
|
||||
@@ -92,7 +92,7 @@
|
||||
|
||||
INSTALL ?= install
|
||||
INSTALL_BIN_ARGS ?= -m 755
|
||||
-INSTALL_LIB_ARGS ?= -m 644
|
||||
+INSTALL_LIB_ARGS ?= -m 755
|
||||
INSTALL_DOC_ARGS ?= -m 644
|
||||
|
||||
M4 ?= m4
|
||||
@@ -0,0 +1,97 @@
|
||||
diff -Naur nvidia-settings-525.60.11.old/src/libXNVCtrl/Makefile nvidia-settings-525.60.11/src/libXNVCtrl/Makefile
|
||||
--- nvidia-settings-525.60.11.old/src/libXNVCtrl/Makefile 2022-12-01 07:56:28.691047034 +0100
|
||||
+++ nvidia-settings-525.60.11/src/libXNVCtrl/Makefile 2022-12-01 08:02:18.889098255 +0100
|
||||
@@ -49,9 +49,10 @@
|
||||
##############################################################################
|
||||
|
||||
.PHONY: all
|
||||
-all: $(LIBXNVCTRL)
|
||||
+all: $(LIBXNVCTRL_SHARED)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(LIBXNVCTRL) *~ \
|
||||
$(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d
|
||||
+ rm -f $(LIBXNVCTRL_SHARED) $(LIBXNVCTRL_SHARED).*
|
||||
diff -Naur nvidia-settings-525.60.11.old/src/libXNVCtrl/xnvctrl.mk nvidia-settings-525.60.11/src/libXNVCtrl/xnvctrl.mk
|
||||
--- nvidia-settings-525.60.11.old/src/libXNVCtrl/xnvctrl.mk 2022-12-01 07:56:28.691047034 +0100
|
||||
+++ nvidia-settings-525.60.11/src/libXNVCtrl/xnvctrl.mk 2022-12-01 08:02:18.934099033 +0100
|
||||
@@ -39,6 +39,8 @@
|
||||
|
||||
LIBXNVCTRL = $(OUTPUTDIR)/libXNVCtrl.a
|
||||
|
||||
+LIBXNVCTRL_SHARED = $(OUTPUTDIR)/libXNVCtrl.so
|
||||
+
|
||||
LIBXNVCTRL_SRC = $(XNVCTRL_DIR)/NVCtrl.c
|
||||
|
||||
LIBXNVCTRL_OBJ = $(call BUILD_OBJECT_LIST,$(LIBXNVCTRL_SRC))
|
||||
@@ -47,3 +49,9 @@
|
||||
|
||||
$(LIBXNVCTRL) : $(LIBXNVCTRL_OBJ)
|
||||
$(call quiet_cmd,AR) ru $@ $(LIBXNVCTRL_OBJ)
|
||||
+
|
||||
+$(LIBXNVCTRL_SHARED): $(LIBXNVCTRL_OBJ)
|
||||
+ $(RM) $@ $@.*
|
||||
+ $(CC) -shared -Wl,-soname=$(@F).0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11
|
||||
+ ln -s $(@F).0.0.0 $@.0
|
||||
+ ln -s $(@F).0 $@
|
||||
diff -Naur nvidia-settings-525.60.11.old/src/Makefile nvidia-settings-525.60.11/src/Makefile
|
||||
--- nvidia-settings-525.60.11.old/src/Makefile 2022-12-01 08:02:11.280966791 +0100
|
||||
+++ nvidia-settings-525.60.11/src/Makefile 2022-12-01 08:02:59.233795388 +0100
|
||||
@@ -303,7 +303,11 @@
|
||||
all: $(NVIDIA_SETTINGS) $(GTK2LIB) $(GTK3LIB) $(WAYLANDLIB)
|
||||
|
||||
.PHONY: install
|
||||
-install: NVIDIA_SETTINGS_install NVIDIA_GTKLIB_install WAYLAND_LIB_install
|
||||
+install: NVIDIA_SETTINGS_install NVIDIA_GTKLIB_install WAYLAND_LIB_install NVIDIA_XNVCTRL_install
|
||||
+
|
||||
+NVIDIA_XNVCTRL_install:
|
||||
+ $(MKDIR) $(LIBDIR)
|
||||
+ cp -a $(LIBXNVCTRL_SHARED)* $(LIBDIR)
|
||||
|
||||
.PHONY: NVIDIA_GTKLIB_install
|
||||
NVIDIA_GTKLIB_install: $(GTK2LIB) $(GTK3LIB)
|
||||
@@ -329,28 +333,28 @@
|
||||
$(INSTALL) $(INSTALL_BIN_ARGS) $< $(BINDIR)/$(notdir $<)
|
||||
|
||||
$(eval $(call DEBUG_INFO_RULES, $(NVIDIA_SETTINGS)))
|
||||
-$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(LIBXNVCTRL)
|
||||
+$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(LIBXNVCTRL_SHARED)
|
||||
$(call quiet_cmd,LINK) $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
|
||||
- -rdynamic -o $@ $(OBJS) $(LIBXNVCTRL) $(LIBS)
|
||||
+ -rdynamic -o $@ $(OBJS) $(LIBXNVCTRL_SHARED) $(LIBS)
|
||||
|
||||
ifdef BUILD_GTK2LIB
|
||||
$(eval $(call DEBUG_INFO_RULES, $(GTK2LIB)))
|
||||
-$(GTK2LIB).unstripped: $(LIBXNVCTRL) $(GTK2_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
|
||||
+$(GTK2LIB).unstripped: $(LIBXNVCTRL_SHARED) $(GTK2_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
|
||||
$(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
|
||||
-o $@ \
|
||||
-Wl,-soname -Wl,$(GTK2LIB_SONAME) \
|
||||
$(GTK2_OBJS) $(IMAGE_OBJS) $(XCP_OBJS) \
|
||||
- $(LIBXNVCTRL) $(LIBS) $(GTK2_LIBS)
|
||||
+ $(LIBXNVCTRL_SHARED) $(LIBS) $(GTK2_LIBS)
|
||||
endif
|
||||
|
||||
ifdef BUILD_GTK3LIB
|
||||
$(eval $(call DEBUG_INFO_RULES, $(GTK3LIB)))
|
||||
-$(GTK3LIB).unstripped: $(LIBXNVCTRL) $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
|
||||
+$(GTK3LIB).unstripped: $(LIBXNVCTRL_SHARED) $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
|
||||
$(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
|
||||
-o $@ \
|
||||
-Wl,-soname -Wl,$(GTK3LIB_SONAME) \
|
||||
$(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) \
|
||||
- $(LIBXNVCTRL) $(LIBS) $(GTK3_LIBS)
|
||||
+ $(LIBXNVCTRL_SHARED) $(LIBS) $(GTK3_LIBS)
|
||||
endif
|
||||
|
||||
ifdef BUILD_WAYLANDLIB
|
||||
@@ -379,7 +383,7 @@
|
||||
$(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d \
|
||||
$(GTK2LIB) $(GTK3LIB) $(GTK2LIB_DIR) $(GTK3LIB_DIR) \
|
||||
$(WAYLANDLIB) $(WAYLANDLIB_DIR) \
|
||||
- $(IMAGE_HEADERS) $(LIBXNVCTRL)
|
||||
+ $(IMAGE_HEADERS) $(LIBXNVCTRL_SHARED)
|
||||
|
||||
ifdef BUILD_GTK2LIB
|
||||
$(foreach src,$(GTK_SRC), \
|
||||
@@ -0,0 +1,60 @@
|
||||
diff -Naur nvidia-settings-525.60.11.old/src/Makefile nvidia-settings-525.60.11/src/Makefile
|
||||
--- nvidia-settings-525.60.11.old/src/Makefile 2022-12-01 07:56:28.657046446 +0100
|
||||
+++ nvidia-settings-525.60.11/src/Makefile 2022-12-01 08:01:09.920906524 +0100
|
||||
@@ -60,7 +60,7 @@
|
||||
endif
|
||||
|
||||
ifndef GTK2_LDFLAGS
|
||||
- GTK2_LDFLAGS := -Wl,--no-as-needed $(shell $(PKG_CONFIG) --libs gtk+-2.0)
|
||||
+ GTK2_LDFLAGS := $(shell $(PKG_CONFIG) --libs gtk+-2.0)
|
||||
endif
|
||||
else
|
||||
GTK2_CFLAGS ?=
|
||||
@@ -82,7 +82,7 @@
|
||||
endif
|
||||
|
||||
ifndef GTK3_LDFLAGS
|
||||
- GTK3_LDFLAGS := -Wl,--no-as-needed $(shell $(PKG_CONFIG) --libs gtk+-3.0)
|
||||
+ GTK3_LDFLAGS := $(shell $(PKG_CONFIG) --libs gtk+-3.0)
|
||||
endif
|
||||
else
|
||||
GTK3_CFLAGS ?=
|
||||
@@ -337,30 +337,29 @@
|
||||
$(eval $(call DEBUG_INFO_RULES, $(GTK2LIB)))
|
||||
$(GTK2LIB).unstripped: $(LIBXNVCTRL) $(GTK2_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
|
||||
$(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
|
||||
- $(LIBXNVCTRL) $(LIBS) $(GTK2_LIBS) \
|
||||
- -Wl,--unresolved-symbols=ignore-all -o $@ \
|
||||
+ -o $@ \
|
||||
-Wl,-soname -Wl,$(GTK2LIB_SONAME) \
|
||||
- $(GTK2_OBJS) $(IMAGE_OBJS) $(XCP_OBJS)
|
||||
+ $(GTK2_OBJS) $(IMAGE_OBJS) $(XCP_OBJS) \
|
||||
+ $(LIBXNVCTRL) $(LIBS) $(GTK2_LIBS)
|
||||
endif
|
||||
|
||||
ifdef BUILD_GTK3LIB
|
||||
$(eval $(call DEBUG_INFO_RULES, $(GTK3LIB)))
|
||||
$(GTK3LIB).unstripped: $(LIBXNVCTRL) $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) $(VERSION_MK)
|
||||
$(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
|
||||
- $(LIBXNVCTRL) $(LIBS) $(GTK3_LIBS) \
|
||||
- -Wl,--unresolved-symbols=ignore-all -o $@ \
|
||||
+ -o $@ \
|
||||
-Wl,-soname -Wl,$(GTK3LIB_SONAME) \
|
||||
- $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS)
|
||||
+ $(GTK3_OBJS) $(XCP_OBJS) $(IMAGE_OBJS) \
|
||||
+ $(LIBXNVCTRL) $(LIBS) $(GTK3_LIBS)
|
||||
endif
|
||||
|
||||
ifdef BUILD_WAYLANDLIB
|
||||
$(eval $(call DEBUG_INFO_RULES, $(WAYLANDLIB)))
|
||||
$(WAYLANDLIB).unstripped: $(WAYLAND_OBJS)
|
||||
$(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
|
||||
- $(LIBS) $(WAYLAND_LIBS) \
|
||||
- -Wl,--unresolved-symbols=ignore-all -o $@ \
|
||||
+ -o $@ \
|
||||
-Wl,-soname -Wl,$(WAYLANDLIB_SONAME) \
|
||||
- $(WAYLAND_OBJS)
|
||||
+ $(WAYLAND_OBJS) $(LIBS) $(WAYLAND_LIBS)
|
||||
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=NVIDIA X Server Settings
|
||||
Comment=Configure NVIDIA X Server Settings
|
||||
Exec=/usr/bin/nvidia-settings --load-config-only
|
||||
Terminal=false
|
||||
Icon=nvidia-settings
|
||||
Categories=Settings;
|
||||
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>nvidia-settings.desktop</id>
|
||||
<name>NVIDIA Graphics Drivers Control Panel</name>
|
||||
<summary>Accelerated Linux Graphics Driver Control Panel</summary>
|
||||
<description>
|
||||
<p>
|
||||
The NVIDIA Accelerated Linux Graphics Driver brings accelerated 2D
|
||||
functionality and high-performance OpenGL support to Linux with the
|
||||
use of NVIDIA graphics processing units.
|
||||
</p>
|
||||
<p>
|
||||
These drivers provide optimized hardware acceleration for OpenGL and X
|
||||
applications and support nearly all recent NVIDIA GPU products.
|
||||
The NVIDIA graphics driver uses a Unified Driver Architecture: the single
|
||||
graphics driver supports all modern NVIDIA GPUs.
|
||||
</p>
|
||||
<p>
|
||||
The nvidia-settings utility is a tool for configuring the NVIDIA graphics
|
||||
driver. It operates by communicating with the NVIDIA X driver, querying
|
||||
and updating state as appropriate. This communication is done via the
|
||||
NV-CONTROL, GLX, XVideo, and RandR X extensions.
|
||||
</p>
|
||||
<p>
|
||||
Values such as brightness and gamma, XVideo attributes, temperature, and
|
||||
OpenGL settings can be queried and configured via nvidia-settings.
|
||||
</p>
|
||||
</description>
|
||||
<translation/>
|
||||
<url type="homepage">http://www.nvidia.com/</url>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-2.0+</project_license>
|
||||
<developer_name>NVIDIA Corporation</developer_name>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<caption>The nvidia-settings utility main window</caption>
|
||||
<image type="source" width="1158" height="664">https://negativo17.org/appstream/nvidia-settings-0.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>Monitoring GPU status</caption>
|
||||
<image type="source" width="1414" height="884">https://negativo17.org/appstream/nvidia-settings-1.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<caption>Application profiles creation</caption>
|
||||
<image type="source" width="1638" height="984">https://negativo17.org/appstream/nvidia-settings-2.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<keywords>
|
||||
<keyword>NVIDIA</keyword>
|
||||
<keyword>driver</keyword>
|
||||
<keyword>GeForce</keyword>
|
||||
<keyword>Quadro</keyword>
|
||||
<keyword>Vulkan</keyword>
|
||||
<keyword>OpenGL</keyword>
|
||||
</keywords>
|
||||
<update_contact>negativo17@gmail.com</update_contact>
|
||||
</component>
|
||||
@@ -0,0 +1,3 @@
|
||||
import "andax/nvidia.rhai" as nvidia;
|
||||
|
||||
rpm.version(nvidia::nvidia_legacy_version());
|
||||
@@ -0,0 +1,9 @@
|
||||
project "pkg" {
|
||||
rpm {
|
||||
spec = "nvidia-xconfig-580.spec"
|
||||
}
|
||||
labels = {
|
||||
subrepo = "nvidia"
|
||||
weekly = 4
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
%global real_name nvidia-xconfig
|
||||
|
||||
Name: %{real_name}-580
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Summary: NVIDIA X configuration file editor
|
||||
Epoch: 3
|
||||
License: GPLv2+
|
||||
URL: http://www.nvidia.com/object/unix.html
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://download.nvidia.com/XFree86/%{real_name}/%{real_name}-%{version}.tar.bz2
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: libpciaccess-devel
|
||||
BuildRequires: m4
|
||||
|
||||
Requires: libnvidia-cfg-580%{?_isa} >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: xorg-x11-nvidia-580%{?_isa} >= %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description
|
||||
%{real_name} is a command line tool intended to provide basic control over
|
||||
configuration options available in the NVIDIA X driver.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{real_name}-%{version}
|
||||
# Remove additional CFLAGS added when enabling DEBUG
|
||||
sed -i '/+= -O0 -g/d' utils.mk
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags}"
|
||||
export LDFLAGS="%{?__global_ldflags}"
|
||||
make %{?_smp_mflags} \
|
||||
DEBUG=1 \
|
||||
MANPAGE_GZIP=0 \
|
||||
NV_VERBOSE=1 \
|
||||
PREFIX=%{_prefix} \
|
||||
STRIP_CMD=true
|
||||
|
||||
%install
|
||||
%make_install \
|
||||
MANPAGE_GZIP=0 \
|
||||
NV_VERBOSE=1 \
|
||||
PREFIX=%{_prefix} \
|
||||
STRIP_CMD=true
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%{_bindir}/%{real_name}
|
||||
%{_mandir}/man1/%{real_name}.1*
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,3 @@
|
||||
import "andax/nvidia.rhai" as nvidia;
|
||||
|
||||
rpm.version(nvidia::nvidia_legacy_version());
|
||||
@@ -8,8 +8,6 @@ Unlike negativo17 and Nobara, we do not manually generate a tarball of the NVIDI
|
||||
on-the-fly from the NVIDIA installer. This ensures that the packages can be easily maintained and updated, as long as the
|
||||
self-extracting NVIDIA installer still has the same command-line options.
|
||||
|
||||
One major difference for Terra's distro is that we install the closed-source kernel modules by default, instead of the newer open-source kernel modules. This is because the open-source modules only support GPUs that have a GSP (GPU System Processor), which only includes Turing (RTX 20 series) and newer GPUs. As we would like to still support older GPUs, we install the closed-source modules by default.
|
||||
|
||||
## How Terra unpacks the self-extracting archive
|
||||
|
||||
Instead of pre-generating the tarball, we run the NVIDIA installer with the `-x` flag to extract the contents directly to the build directory. We then make use of an RPM macro to set the new build directory as that tree.
|
||||
|
||||
+6
-8
@@ -2,27 +2,25 @@ PACKAGE_NAME="nvidia"
|
||||
PACKAGE_VERSION="__VERSION_STRING"
|
||||
AUTOINSTALL="yes"
|
||||
|
||||
MODULE_VARIANT=kernel-open
|
||||
|
||||
# Quote make to avoid DKMS replacing it with "make -j$parallel_jobs KERNELRELEASE=$kernelver"
|
||||
MAKE[0]="'make' -j$(nproc) -C ${MODULE_VARIANT} KERNEL_UNAME=${kernelver} modules"
|
||||
MAKE[0]="'make' -j$(nproc) KERNEL_UNAME=${kernelver} modules"
|
||||
|
||||
BUILT_MODULE_NAME[0]="nvidia"
|
||||
BUILT_MODULE_LOCATION[0]="${MODULE_VARIANT}"
|
||||
BUILT_MODULE_LOCATION[0]="kernel-open"
|
||||
DEST_MODULE_LOCATION[0]="/extra"
|
||||
|
||||
BUILT_MODULE_NAME[1]="nvidia-modeset"
|
||||
BUILT_MODULE_LOCATION[1]="${MODULE_VARIANT}"
|
||||
BUILT_MODULE_LOCATION[1]="kernel-open"
|
||||
DEST_MODULE_LOCATION[1]="/extra"
|
||||
|
||||
BUILT_MODULE_NAME[2]="nvidia-drm"
|
||||
BUILT_MODULE_LOCATION[2]="${MODULE_VARIANT}"
|
||||
BUILT_MODULE_LOCATION[2]="kernel-open"
|
||||
DEST_MODULE_LOCATION[2]="/extra"
|
||||
|
||||
BUILT_MODULE_NAME[3]="nvidia-uvm"
|
||||
BUILT_MODULE_LOCATION[3]="${MODULE_VARIANT}"
|
||||
BUILT_MODULE_LOCATION[3]="kernel-open"
|
||||
DEST_MODULE_LOCATION[3]="/extra"
|
||||
|
||||
BUILT_MODULE_NAME[4]="nvidia-peermem"
|
||||
BUILT_MODULE_LOCATION[4]="${MODULE_VARIANT}"
|
||||
BUILT_MODULE_LOCATION[4]="kernel-open"
|
||||
DEST_MODULE_LOCATION[4]="/extra"
|
||||
+4
-4
@@ -1,13 +1,11 @@
|
||||
## NVIDIA DKMS package, based on the work of Negativo17 with tweaks for Terra.
|
||||
|
||||
# RPM inexplicably thinks this package deps on a version of libcrypto it does not?
|
||||
%global __requires_exclude (libcrypto\\.so\\.1\\.1.*)$
|
||||
%global debug_package %{nil}
|
||||
%global modulename nvidia
|
||||
|
||||
Name: dkms-%{modulename}
|
||||
Version: 580.105.08
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: NVIDIA display driver kernel module
|
||||
Epoch: 3
|
||||
License: NVIDIA License
|
||||
@@ -21,9 +19,11 @@ Requires: dkms
|
||||
Conflicts: akmod-nvidia
|
||||
# Unlike most DKMS packages, this package is NOT noarch!
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
Provides: %{name}-open = %{?epoch:%{epoch}:}%{version}
|
||||
Obsoletes: %{name}-open < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description
|
||||
This package provides the proprietary NVIDIA kernel driver modules.
|
||||
This package provides the NVIDIA kernel driver modules.
|
||||
|
||||
%prep
|
||||
sh %{SOURCE0} -x --target dkms-nvidia-%{version}-%{_arch}
|
||||
@@ -1,10 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "dkms-nvidia-open.spec"
|
||||
}
|
||||
labels {
|
||||
subrepo = "nvidia"
|
||||
updbranch = 1
|
||||
mock = 1
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
Name: nvidia-driver
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: NVIDIA's proprietary display driver for NVIDIA graphic cards
|
||||
Epoch: 3
|
||||
License: NVIDIA License
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
# This variable determines what kind of modules get installed on the system
|
||||
# until the Nvidia driver provides only the open source variant.
|
||||
#
|
||||
# The name of the variable is the name of the folder that hosts the kernel
|
||||
# module code inside the driver installer:
|
||||
#
|
||||
# +-------------+---------------------+----------------+
|
||||
# | Value | Type | License type |
|
||||
# +-------------+---------------------+----------------+
|
||||
# | kernel | Proprietary drivers | NVIDIA license |
|
||||
# +-------------+---------------------+----------------+
|
||||
# | kernel-open | Open source drivers | Dual MIT/GPL |
|
||||
# +-------------+---------------------+----------------+
|
||||
|
||||
# TERRA-SPECIFIC NOTES:
|
||||
# The default module versions have been added to the DKMS and Akmods packages.
|
||||
# This file now exists only to explain how the variable works.
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
Name: nvidia-kmod-common
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: Common file for NVIDIA's proprietary driver kernel modules
|
||||
Epoch: 3
|
||||
License: NVIDIA License
|
||||
@@ -15,7 +15,6 @@ URL: http://www.nvidia.com/object/unix.html
|
||||
BuildArch: noarch
|
||||
|
||||
Source0: http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}.run
|
||||
Source16: MODULE_VARIANT.txt
|
||||
Source17: nvidia-boot-update
|
||||
Source18: nvidia-modeset.conf
|
||||
Source19: nvidia.conf
|
||||
@@ -29,9 +28,9 @@ Requires: dracut
|
||||
Requires: nvidia-modprobe
|
||||
Requires: nvidia-driver = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-driver-libs = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: (nvidia-open-kmod = %{?epoch:%{epoch}:}%{version} or nvidia-kmod = %{?epoch:%{epoch}:}%{version})
|
||||
Requires: nvidia-kmod = %{?epoch:%{epoch}:}%{version}
|
||||
Provides: nvidia-kmod-common = %{?epoch:%{epoch}:}%{version}
|
||||
Provides: nvidia-open-kmod-common = %{?epoch:%{epoch}:}%{version}
|
||||
Obsoletes: nvidia-open-kmod-common < %{?epoch:%{epoch}:}%{version}
|
||||
Obsoletes: cuda-nvidia-kmod-common < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description
|
||||
@@ -65,9 +64,6 @@ install -p -m 644 -D %{SOURCE20} %{buildroot}%{_udevrulesdir}/60-nvidia.rules
|
||||
mkdir -p %{buildroot}%{_prefix}/lib/firmware/nvidia/%{version}/
|
||||
install -p -m 644 firmware/* %{buildroot}%{_prefix}/lib/firmware/nvidia/%{version}
|
||||
|
||||
# Old kernel.conf rewritten as a doc file.
|
||||
cp %{SOURCE16} .
|
||||
|
||||
# Fallback service. Fall back to Nouveau if NVIDIA drivers fail.
|
||||
# This is actually from RPM Fusion.
|
||||
%dnl install -Dm644 %{SOURCE22} -t %{buildroot}%{_unitdir}
|
||||
@@ -88,7 +84,6 @@ fi ||:
|
||||
dracut --regenerate-all --force || :
|
||||
|
||||
%files
|
||||
%doc MODULE_VARIANT.txt
|
||||
%{_dracut_conf_d}/99-nvidia.conf
|
||||
%{_modprobedir}/nvidia.conf
|
||||
%dir %{_prefix}/lib/firmware
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
import "andax/bump_extras.rhai" as bump;
|
||||
|
||||
rpm.version(bump::madoguchi("nvidia-kmod-common", labels.branch));
|
||||
+6
-8
@@ -5,7 +5,7 @@
|
||||
|
||||
Name: nvidia-kmod
|
||||
Version: 580.105.08
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: NVIDIA display driver kernel module
|
||||
Epoch: 3
|
||||
License: NVIDIA License
|
||||
@@ -15,6 +15,8 @@ ExclusiveArch: x86_64 aarch64
|
||||
Source0: http://download.nvidia.com/XFree86/Linux-%{_arch}/%{version}/NVIDIA-Linux-%{_arch}-%{version}.run
|
||||
Requires: nvidia-kmod-common = %{?epoch:%{epoch}:}%{version}
|
||||
Requires: akmods
|
||||
Provides: akmod-nvidia-open = %{?epoch:%{epoch}:}%{version}
|
||||
Obsoletes: akmod-nvidia-open < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
|
||||
# Get the needed BuildRequires (in parts depending on what we build for):
|
||||
@@ -39,24 +41,20 @@ sh %{SOURCE0} -x --target nvidia-kmod-%{version}-%{_arch}
|
||||
rm -f */dkms.conf
|
||||
|
||||
for kernel_version in %{?kernel_versions}; do
|
||||
mkdir _kmod_build_${kernel_version%%___*}
|
||||
cp -fr kernel* _kmod_build_${kernel_version%%___*}
|
||||
cp -fr open-gpu-kernel-modules-%{version} _kmod_build_${kernel_version%%___*}
|
||||
done
|
||||
|
||||
%build
|
||||
export MODULE_VARIANT=kernel
|
||||
for kernel_version in %{?kernel_versions}; do
|
||||
pushd _kmod_build_${kernel_version%%___*}/
|
||||
make %{?_smp_mflags} -C ${MODULE_VARIANT} \
|
||||
KERNEL_UNAME="${kernel_version%%___*}" modules
|
||||
make %{?_smp_mflags} KERNEL_UNAME="${kernel_version%%___*}" modules
|
||||
popd
|
||||
done
|
||||
|
||||
%install
|
||||
export MODULE_VARIANT=kernel
|
||||
for kernel_version in %{?kernel_versions}; do
|
||||
mkdir -p %{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
install -p -m 0755 _kmod_build_${kernel_version%%___*}/${MODULE_VARIANT}/*.ko \
|
||||
install -p -m 0755 _kmod_build_${kernel_version%%___*}/kernel-open/*.ko \
|
||||
%{buildroot}/%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
|
||||
done
|
||||
%{?akmod_install}
|
||||
@@ -1,3 +0,0 @@
|
||||
import "andax/bump_extras.rhai" as bump;
|
||||
|
||||
rpm.version(bump::madoguchi("nvidia-kmod-common", labels.branch));
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: nvidia-modprobe
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: NVIDIA kernel module loader
|
||||
Epoch: 3
|
||||
License: GPLv2+
|
||||
@@ -44,254 +44,4 @@ make %{?_smp_mflags} \
|
||||
%{_mandir}/man1/%{name}.1.*
|
||||
|
||||
%changelog
|
||||
* Thu Dec 05 2024 Simone Caronni <negativo17@gmail.com> - 3:565.77-1
|
||||
- Update to 565.77.
|
||||
|
||||
* Wed Oct 23 2024 Simone Caronni <negativo17@gmail.com> - 3:565.57.01-1
|
||||
- Update to 565.57.01.
|
||||
|
||||
* Wed Aug 21 2024 Simone Caronni <negativo17@gmail.com> - 3:560.35.03-1
|
||||
- Update to 560.35.03.
|
||||
|
||||
* Tue Aug 06 2024 Simone Caronni <negativo17@gmail.com> - 3:560.31.02-1
|
||||
- Update to 560.31.02.
|
||||
|
||||
* Mon Aug 05 2024 Simone Caronni <negativo17@gmail.com> - 3:560.28.03-1
|
||||
- Update to 560.28.03.
|
||||
|
||||
* Tue Jul 02 2024 Simone Caronni <negativo17@gmail.com> - 3:555.58.02-1
|
||||
- Update to 555.58.02.
|
||||
|
||||
* Thu Jun 27 2024 Simone Caronni <negativo17@gmail.com> - 3:555.58-1
|
||||
- Update to 555.58.
|
||||
|
||||
* Thu Jun 06 2024 Simone Caronni <negativo17@gmail.com> - 3:555.52.04-1
|
||||
- Update to 555.52.04.
|
||||
|
||||
* Wed May 22 2024 Simone Caronni <negativo17@gmail.com> - 3:555.42.02-1
|
||||
- Update to 555.42.02.
|
||||
|
||||
* Tue Apr 30 2024 Simone Caronni <negativo17@gmail.com> - 3:550.78-2
|
||||
- Switch to Nvidia provided tarball.
|
||||
|
||||
* Fri Apr 26 2024 Simone Caronni <negativo17@gmail.com> - 3:550.78-1
|
||||
- Update to 550.78.
|
||||
|
||||
* Thu Apr 18 2024 Simone Caronni <negativo17@gmail.com> - 3:550.76-1
|
||||
- Update to 550.76.
|
||||
|
||||
* Sun Mar 24 2024 Simone Caronni <negativo17@gmail.com> - 3:550.67-1
|
||||
- Update to 550.67.
|
||||
|
||||
* Sat Mar 09 2024 Simone Caronni <negativo17@gmail.com> - 3:550.54.14-2
|
||||
- Enable aarch64.
|
||||
|
||||
* Sun Mar 03 2024 Simone Caronni <negativo17@gmail.com> - 3:550.54.14-1
|
||||
- Update to 550.54.14.
|
||||
|
||||
* Tue Feb 06 2024 Simone Caronni <negativo17@gmail.com> - 3:550.40.07-1
|
||||
- Update to 550.40.07.
|
||||
|
||||
* Fri Dec 01 2023 Simone Caronni <negativo17@gmail.com> - 3:545.29.06-1
|
||||
- Update to 545.29.06.
|
||||
|
||||
* Tue Oct 31 2023 Simone Caronni <negativo17@gmail.com> - 3:545.29.02-1
|
||||
- Update to 545.29.02.
|
||||
|
||||
* Wed Oct 18 2023 Simone Caronni <negativo17@gmail.com> - 3:545.23.06-1
|
||||
- Update to 545.23.06.
|
||||
|
||||
* Fri Sep 22 2023 Simone Caronni <negativo17@gmail.com> - 3:535.113.01-1
|
||||
- Update to 535.113.01.
|
||||
|
||||
* Thu Aug 24 2023 Simone Caronni <negativo17@gmail.com> - 3:535.104.05-1
|
||||
- Update to 535.104.05.
|
||||
|
||||
* Wed Aug 09 2023 Simone Caronni <negativo17@gmail.com> - 3:535.98-1
|
||||
- Update to 535.98.
|
||||
|
||||
* Wed Jul 19 2023 Simone Caronni <negativo17@gmail.com> - 3:535.86.05-1
|
||||
- Update to 535.86.05.
|
||||
|
||||
* Thu Jun 15 2023 Simone Caronni <negativo17@gmail.com> - 3:535.54.03-1
|
||||
- Update to 535.54.03.
|
||||
|
||||
* Tue Jun 13 2023 Simone Caronni <negativo17@gmail.com> - 3:535.43.02-1
|
||||
- Update to 535.43.02.
|
||||
|
||||
* Fri Mar 24 2023 Simone Caronni <negativo17@gmail.com> - 3:530.41.03-1
|
||||
- Update to 530.41.03.
|
||||
|
||||
* Wed Mar 08 2023 Simone Caronni <negativo17@gmail.com> - 3:530.30.02-1
|
||||
- Update to 530.30.02.
|
||||
|
||||
* Fri Feb 10 2023 Simone Caronni <negativo17@gmail.com> - 3:525.89.02-1
|
||||
- Update to 525.89.02.
|
||||
|
||||
* Fri Jan 20 2023 Simone Caronni <negativo17@gmail.com> - 3:525.85.05-1
|
||||
- Update to 525.85.05.
|
||||
|
||||
* Mon Jan 09 2023 Simone Caronni <negativo17@gmail.com> - 3:525.78.01-1
|
||||
- Update to 525.78.01.
|
||||
|
||||
* Tue Nov 29 2022 Simone Caronni <negativo17@gmail.com> - 3:525.60.11-1
|
||||
- Update to 525.60.11.
|
||||
|
||||
* Thu Oct 13 2022 Simone Caronni <negativo17@gmail.com> - 3:520.56.06-1
|
||||
- Update to 520.56.06.
|
||||
|
||||
* Wed Sep 21 2022 Simone Caronni <negativo17@gmail.com> - 3:515.76-1
|
||||
- Update to 515.76.
|
||||
|
||||
* Mon Aug 08 2022 Simone Caronni <negativo17@gmail.com> - 3:515.65.01-1
|
||||
- Update to 515.65.01.
|
||||
|
||||
* Wed Jun 29 2022 Simone Caronni <negativo17@gmail.com> - 3:515.57-1
|
||||
- Update to 515.57.
|
||||
|
||||
* Wed Jun 01 2022 Simone Caronni <negativo17@gmail.com> - 3:515.48.07-1
|
||||
- Update to 515.48.07.
|
||||
|
||||
* Thu May 12 2022 Simone Caronni <negativo17@gmail.com> - 3:515.43.04-1
|
||||
- Update to 515.43.04.
|
||||
|
||||
* Mon May 02 2022 Simone Caronni <negativo17@gmail.com> - 3:510.68.02-1
|
||||
- Update to 510.68.02.
|
||||
|
||||
* Mon Mar 28 2022 Simone Caronni <negativo17@gmail.com> - 3:510.60.02-1
|
||||
- Update to 510.60.02.
|
||||
|
||||
* Mon Feb 14 2022 Simone Caronni <negativo17@gmail.com> - 3:510.54-1
|
||||
- Update to 510.54.
|
||||
|
||||
* Wed Feb 02 2022 Simone Caronni <negativo17@gmail.com> - 3:510.47.03-1
|
||||
- Update to 510.47.03.
|
||||
|
||||
* Tue Dec 14 2021 Simone Caronni <negativo17@gmail.com> - 3:495.46-1
|
||||
- Update to 495.46.
|
||||
|
||||
* Tue Nov 02 2021 Simone Caronni <negativo17@gmail.com> - 3:495.44-1
|
||||
- Update to 495.44.
|
||||
|
||||
* Tue Nov 02 2021 Simone Caronni <negativo17@gmail.com> - 3:470.82.00-1
|
||||
- Update to 470.82.00.
|
||||
|
||||
* Tue Sep 21 2021 Simone Caronni <negativo17@gmail.com> - 3:470.74-1
|
||||
- Update to 470.74.
|
||||
|
||||
* Wed Aug 11 2021 Simone Caronni <negativo17@gmail.com> - 3:470.63.01-1
|
||||
- Update to 470.63.01.
|
||||
|
||||
* Tue Jul 20 2021 Simone Caronni <negativo17@gmail.com> - 3:470.57.02-1
|
||||
- Update to 470.57.02.
|
||||
|
||||
* Wed Jun 30 2021 Simone Caronni <negativo17@gmail.com> - 3:470.42.01-1
|
||||
- Update to 470.42.01.
|
||||
|
||||
* Wed May 26 2021 Simone Caronni <negativo17@gmail.com> - 3:465.31-1
|
||||
- Update to 465.31.
|
||||
|
||||
* Sat May 01 2021 Simone Caronni <negativo17@gmail.com> - 3:465.27-1
|
||||
- Update to 465.27.
|
||||
|
||||
* Sun Apr 18 2021 Simone Caronni <negativo17@gmail.com> - 3:465.24.02-1
|
||||
- Update to 465.24.02.
|
||||
- Switch to github sources.
|
||||
|
||||
* Fri Apr 09 2021 Simone Caronni <negativo17@gmail.com> - 3:465.19.01-1
|
||||
- Update to 465.19.01.
|
||||
|
||||
* Fri Mar 19 2021 Simone Caronni <negativo17@gmail.com> - 3:460.67-1
|
||||
- Update to 460.67.
|
||||
|
||||
* Mon Mar 01 2021 Simone Caronni <negativo17@gmail.com> - 3:460.56-1
|
||||
- Update to 460.56.
|
||||
|
||||
* Wed Jan 27 2021 Simone Caronni <negativo17@gmail.com> - 3:460.39-1
|
||||
- Update to 460.39.
|
||||
|
||||
* Thu Jan 7 2021 Simone Caronni <negativo17@gmail.com> - 3:460.32.03-1
|
||||
- Update to 460.32.03.
|
||||
|
||||
* Sun Dec 20 2020 Simone Caronni <negativo17@gmail.com> - 3:460.27.04-1
|
||||
- Update to 460.27.04.
|
||||
- Trim changelog.
|
||||
|
||||
* Mon Dec 07 2020 Simone Caronni <negativo17@gmail.com> - 3:455.45.01-2
|
||||
- Use autoseptup macro.
|
||||
|
||||
* Wed Nov 18 2020 Simone Caronni <negativo17@gmail.com> - 3:455.45.01-1
|
||||
- Update to 455.45.01.
|
||||
|
||||
* Mon Nov 02 2020 Simone Caronni <negativo17@gmail.com> - 3:455.38-1
|
||||
- Update to 455.38.
|
||||
|
||||
* Mon Oct 12 2020 Simone Caronni <negativo17@gmail.com> - 3:455.28-1
|
||||
- Update to 455.28.
|
||||
|
||||
* Tue Oct 06 2020 Simone Caronni <negativo17@gmail.com> - 3:450.80.02-1
|
||||
- Update to 450.80.02.
|
||||
|
||||
* Thu Aug 20 2020 Simone Caronni <negativo17@gmail.com> - 3:450.66-1
|
||||
- Update to 450.66.
|
||||
|
||||
* Fri Jul 10 2020 Simone Caronni <negativo17@gmail.com> - 3:450.57-1
|
||||
- Update to 450.57.
|
||||
|
||||
* Thu Jun 25 2020 Simone Caronni <negativo17@gmail.com> - 3:440.100-1
|
||||
- Update to 440.100.
|
||||
|
||||
* Thu Apr 09 2020 Simone Caronni <negativo17@gmail.com> - 3:440.82-1
|
||||
- Update to 440.82.
|
||||
|
||||
* Fri Feb 28 2020 Simone Caronni <negativo17@gmail.com> - 3:440.64-1
|
||||
- Update to 440.64.
|
||||
|
||||
* Tue Feb 04 2020 Simone Caronni <negativo17@gmail.com> - 3:440.59-1
|
||||
- Update to 440.59.
|
||||
|
||||
* Sat Dec 14 2019 Simone Caronni <negativo17@gmail.com> - 3:440.44-1
|
||||
- Update to 440.44.
|
||||
|
||||
* Sat Nov 30 2019 Simone Caronni <negativo17@gmail.com> - 3:440.36-1
|
||||
- Update to 440.36.
|
||||
|
||||
* Sat Nov 09 2019 Simone Caronni <negativo17@gmail.com> - 3:440.31-1
|
||||
- Update to 440.31.
|
||||
|
||||
* Thu Oct 17 2019 Simone Caronni <negativo17@gmail.com> - 3:440.26-1
|
||||
- Update to 440.26.
|
||||
|
||||
* Mon Sep 02 2019 Simone Caronni <negativo17@gmail.com> - 3:435.21-1
|
||||
- Update to 435.21.
|
||||
|
||||
* Thu Aug 22 2019 Simone Caronni <negativo17@gmail.com> - 3:435.17-1
|
||||
- Update to 435.17.
|
||||
|
||||
* Wed Jul 31 2019 Simone Caronni <negativo17@gmail.com> - 3:430.40-1
|
||||
- Update to 430.40.
|
||||
|
||||
* Fri Jul 12 2019 Simone Caronni <negativo17@gmail.com> - 3:430.34-1
|
||||
- Update to 430.34.
|
||||
|
||||
* Wed Jun 12 2019 Simone Caronni <negativo17@gmail.com> - 3:430.26-1
|
||||
- Update to 430.26.
|
||||
|
||||
* Sat May 18 2019 Simone Caronni <negativo17@gmail.com> - 3:430.14-1
|
||||
- Update to 430.14.
|
||||
|
||||
* Thu May 09 2019 Simone Caronni <negativo17@gmail.com> - 3:418.74-1
|
||||
- Update to 418.74.
|
||||
|
||||
* Sun Mar 24 2019 Simone Caronni <negativo17@gmail.com> - 3:418.56-1
|
||||
- Update to 418.56.
|
||||
|
||||
* Fri Feb 22 2019 Simone Caronni <negativo17@gmail.com> - 3:418.43-1
|
||||
- Update to 418.43.
|
||||
- Trim changelog.
|
||||
|
||||
* Wed Feb 06 2019 Simone Caronni <negativo17@gmail.com> - 3:418.30-1
|
||||
- Update to 418.30.
|
||||
|
||||
* Thu Jan 17 2019 Simone Caronni <negativo17@gmail.com> - 3:415.27-1
|
||||
- Update to 415.27.
|
||||
%autochangelog
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: nvidia-persistenced
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: A daemon to maintain persistent software state in the NVIDIA driver
|
||||
Epoch: 3
|
||||
License: GPLv2+
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: nvidia-settings
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: Configure the NVIDIA graphics driver
|
||||
Epoch: 3
|
||||
License: GPLv2+
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: nvidia-xconfig
|
||||
Version: 580.119.02
|
||||
Release: 1%?dist
|
||||
Release: 2%?dist
|
||||
Summary: NVIDIA X configuration file editor
|
||||
Epoch: 3
|
||||
License: GPLv2+
|
||||
|
||||
@@ -16,3 +16,8 @@ fn nvidia_driver_version() {
|
||||
let driver = get("https://gfwsl.geforce.com/services_toolkit/services/com/nvidia/services/AjaxDriverService.php?func=DriverManualLookup&osID=12&languageCode=1033&numberOfResults=1&beta=0").json().IDS[0].downloadInfo.DisplayVersion;
|
||||
return(driver);
|
||||
}
|
||||
|
||||
fn nvidia_legacy_version() {
|
||||
let driver = get("https://gfwsl.geforce.com/services_toolkit/services/com/nvidia/services/AjaxDriverService.php?func=DriverManualLookup&osID=12&languageCode=1033&numberOfResults=1&beta=0&release=580").json().IDS[0].downloadInfo.DisplayVersion;
|
||||
return(driver);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import "andax/nvidia.rhai" as nvidia;
|
||||
|
||||
print(nvidia::nvidia_driver_version());
|
||||
print(nvidia::nvidia_legacy_version());
|
||||
|
||||
Reference in New Issue
Block a user