Skip to content

NVIDIA/yum-packaging-nvidia-settings

Repository files navigation

yum packaging nvidia settings

License Contributing

Overview

Packaging templates for yum and dnf based Linux distros to build NVIDIA settings packages.

The main branch contains this README. The .spec and .patch files can be found in the appropriate rhel7, rhel8, and fedora branches.

Table of Contents

Deliverables

This repo contains the .spec file used to build the following RPM packages:

note: XXX is the first . delimited field in the driver version, ex: 460 in 460.32.03

  • RHEL8 or Fedora streams: XXX, XXX-dkms, latest, and latest-dkms
- nvidia-libXNVCtrl
- nvidia-libXNVCtrl-devel
- nvidia-settings

For RHEL7 and derivatives, there are three sets or flavors of packages with different package dependencies. However, that does not apply to the packages in this repository.

  • RHEL7 flavor: branch-XXX, latest, and latest-dkms
- nvidia-libXNVCtrl
- nvidia-libXNVCtrl-devel
- nvidia-settings

Prerequisites

Clone this git repository:

Supported branches: rhel7, rhel8 & fedora

git clone -b ${branch} https://github.com/NVIDIA/yum-packaging-nvidia-settings
> ex: git clone -b rhel8 https://github.com/NVIDIA/yum-packaging-nvidia-settings

Download a NVIDIA settings tarball:

Install build dependencies

# Basics
yum install gcc m4
# Compiling UI
yum install gtk2-devel gtk3-devel libappstream-glib
# X.org utilties
yum install libXext-devel libXrandr-devel
# GLVND
yum install mesa-libGL-devel mesa-libEGL-devel
# Video extensions
yum install libXxf86vm-devel libXv-devel libvdpau-devel
# Misc
yum install jansson-devel dbus-devel desktop-file-utils
# Packaging
yum install rpm-build

Building with script

Fetch script from main branch

cd yum-packaging-nvidia-persistenced
git checkout remotes/origin/main -- build.sh

Usage

./build.sh [$version | path/to/*.tar.{gz,bz2} | path/to/*.run]
> ex: time ./build.sh 460.32.03
> ex: time ./build.sh ~/Downloads/nvidia-settings-450.102.04.tar.bz2
> ex: time ./build.sh ~/Downloads/nvidia-settings-460.32.03.tar.gz
> ex: time ./build.sh ~/Downloads/NVIDIA-Linux-x86_64-450.102.04.run

note: runfile is only used to determine version

Building Manually

Packaging

mkdir BUILD BUILDROOT RPMS SRPMS SOURCES SPECS
cp *.desktop SOURCES/
cp *.patch SOURCES/
cp *.xml SOURCES/
cp nvidia-settings-${version}.tar.gz SOURCES/
cp nvidia-settings.spec SPECS/

rpmbuild \
    --define "%_topdir $(pwd)" \
    --define "debug_package %{nil}" \
    --define "version $version" \
    --define "epoch 3" \
    --define "extension gz" \
    -v -bb SPECS/nvidia-settings.spec

note: this package is not branched, therefore regardless of flavor, the highest version installed by default.

Related

DKMS nvidia

NVIDIA driver

NVIDIA kmod common

NVIDIA modprobe

NVIDIA persistenced

NVIDIA plugin

NVIDIA precompiled kmod

NVIDIA xconfig

Contributing

See CONTRIBUTING.md