Background/Acknowledgements
This installation is a revision to the previous procedure, “Installation of nvidia-304xx
drivers on Rocky8.5“,
It is simpler than the previous procedure, and the result has advantages provided by
a newer kernel.
I appreciate the advice provided by Robin, an antixforum expert, who provided the link
to the kernel patches authored by Jorge Maidana which have made this newer approach
possible. The link is
Implementing the procedure on a PC with an nvidia-304xx-related graphics card is
often cumbersome because such PC’s often have sata-disk controllers and live .iso’s
don’t install directly unless they are customized like Nazunalika’s rocky-8-xfce-elrepo.iso.
Therefore, on my test machine, an HP Pavilion Media Center m8247c, I installed
Rocky-8.10-x86_64-minimal adding 2 statements to the grub boot command:
inst.dd=hd:LABEL=OEMDRV:/kmod-sata_nv-3.5-10.el8_10.elrepo.x86_64.rpm and
inst.dd=hd:LABEL=OEMDRV:/kmod-forcedeth-0.0-11.el8_10.elrepo.x86_64.rpm where
a mounted USB stick labelled OEMDRV contains the 2 rpm’s downloaded from the elrepo website.
(With Rocky-8.10-x86_64-minimal, I selected the server option with basic development tools).
To establish a graphical desktop environment, I then installed the e16-based environment
as described in “e16 and icewm light-weight desktops for Rocky8.6“,
(Certainly, other DE’s such as XFCE, can be installed on Rocky-8.10-x86_64-minimal).
The basic installation procedure followed was defined by a ubuntu expert, enigma9o7,
in his post nvidia-304 won't install entitled
“nvidia won’t install”.
Some modifications were required for an .rpm environment compared to a .deb environment.
PROCEDURE
Because it’s so easy to forget, the 1st step should be to downgrade the graphics packages
to the Fedora27 level. The packages should be collected in a directory conveniently called
Fedora27
xorg-x11-drv-ati-7.9.0-3.fc27.x86_64.rpm
xorg-x11-drv-dummy-0.3.7-5.fc27.x86_64.rpm
xorg-x11-drv-evdev-2.10.5-4.fc27.x86_64.rpm
xorg-x11-drv-fbdev-0.4.3-28.fc27.x86_64.rpm
xorg-x11-drv-intel-2.99.917-30.20160929.fc27.x86_64.rpm
xorg-x11-drv-libinput-0.26.0-1.fc27.x86_64.rpm
xorg-x11-drv-nouveau-1.0.15-3.fc27.x86_64.rpm
xorg-x11-drv-qxl-0.1.5-5.fc27.x86_64.rpm
xorg-x11-drv-v4l-0.2.0-50.fc27.x86_64.rpm
xorg-x11-drv-vesa-2.3.2-28.fc27.x86_64.rpm
xorg-x11-drv-vmware-13.2.1-4.fc27.x86_64.rpm
xorg-x11-drv-wacom-0.35.0-3.fc27.x86_64.rpm
xorg-x11-server-common-1.19.6-7.fc27.x86_64.rpm
xorg-x11-server-Xorg-1.19.6-7.fc27.x86_64.rpm
From this directory, sudo yum --nogpgcheck localinstall xorg*.rpm downgrades
the graphics.
Then, sudo yum install python3-dnf-plugin-versionlock, to install the required plugin, and
sudo yum versionlock xorg-x11-server-Xorg-1.19.6-7.fc27.x86_64 to lock in the package.
Kernel Upgrade
The ability to handle the exFAT file system for USB sticks was made part of the
Linux kernel starting with Version 5.4.n. This is a desirable feature given the
ever-increasing prevalence of video files which can readily exceed 4GB in size.
The 10 patches provided by Jorge Maidana are effective for kernels up to Version
5.6.n. Accordingly, the kernel selected for the upgrade was the Fedora 32 original-
release kernel 5.6.6-300.
The packages were collected in a directory simply-named Fedora32:
kernel-5.6.6-300.fc32.x86_64.rpm
kernel-core-5.6.6-300.fc32.x86_64.rpm
kernel-cross-headers-5.6.6-300.fc32.x86_64.rpm
kernel-devel-5.6.6-300.fc32.x86_64.rpm
kernel-headers-5.6.6-300.fc32.x86_64.rpm
kernel-modules-5.6.6-300.fc32.x86_64.rpm
kernel-modules-extra-5.6.6-300.fc32.x86_64.rpm
kernel-modules-internal-5.6.6-300.fc32.x86_64.rpm
kernel-tools-5.6.6-300.fc32.x86_64.rpm
kernel-tools-libs-5.6.6-300.fc32.x86_64.rpm
kernel-tools-libs-devel-5.6.6-300.fc32.x86_64.rpm
A compiler usually needs to be installed so that the kernel-headers packages
will install properly:
sudo yum install gcc, installs 6 packages.
Also, sudo yum install dkms, installs 16 packages.
Then, from the Fedora32 directory,
sudo yum --nogpgcheck localinstall kernel*.rpm installs the kernel
Then , sudo grub-mkconfig -o /boot/grub2/grub.cfg,
reboot, and select the new kernel from Advanced Options.
********************************************************************************
Collect components for “nvidia won’t install” procedure
The required pieces were assembled in a directory, NVIDIA5.6:
0001-disable-mtrr-4.3.patch
0002-pud-offset-4.12.patch
0003-nvidia-drm-pci-init-4.14.patch
0004-timer-4.15.patch
0005-usercopy-4.16.patch
0006-do_gettimeofday-5.0.patch
0007-subdirs-5.3.patch
0008-on-each-cpu-5.3.patch
0009-remove-drmp-5.5.patch
0010-proc-ops-5.6.patch
disable-nouveau.conf
NVIDIA-Linux-x86_64-304.137.run
The disable-nouveau.conf file has an additional line in it, compared to enigma9o7‘s version:
blacklist nouveau
blacklist vga16fb
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
blacklist amd64_edac_mod
blacklist amd76_edac
options nouveau modeset=0
The NVIDIA-Linux-x86_64-304.137.run file is downloaded via the link in enigma9o7‘s post.
To make it executable, sudo chmod 755 NVIDIA-Linux-x86_64-304.137.run
Running enigma9o7‘s “nvidia won’t install” procedure
At the beginning of the original procedure, 6 packages are installed.
-gcc and dkms have already been installed in this implementation
-enter the sudo apt install make command; either make will be installed or
a message will show that the latest version is already in place.
-there are no such .rpm packages as build-essential, gcc-multilib or mesa-utils
-run sudo apt install akmods, which installs 3 packages, including kmodtool
-Make sure the disable-nouveau.conf file has been copied into /etc/modprobe.d
-Jorge’s 10 patches are applied in succession, one at a time.
-NB - the equivalent of the sudo update-initramfs -u command is
sudo dracut --regenerate-all -f
Normally, in the nvidia-installer dialog, it’s best to answer yes/ok to every
prompt. In this case, 2 “no” reponses are required:
-re: registration of kernel with dkms
-re: version check of compiler being used to modify kernel versus
that of compiler used to build original kernel – “no” means
carry on, don’t abort
After rebooting from the nvidia-installer dialog, sudo inxi -Gxx
and sudo lshw -C video should confirm that the nvidia-304xx driver is in place.
Len E.