Firstly, a genuine thankyou to everyone who’s made Rocky available -
I was depending on CentOS when it got sunk…
…back to the issue…
It looks to me like the vga_tryget function declaration is missing from the source files.
(limiting to < 2 links here as I’m a newbie…)
I’ve been looking at linux « include - kernel/git/stable/linux.git - Linux kernel stable tree
/vgaarb.h?h=v4.18
and
/vgaarb.h?h=v5.1.3
and on my Rocky installation…
/lib/modules/4.18.0-305.19.1.el8_4.x86_64/source/include/linux/vgaarb.h
the first 2 declare vga_tryget but my local copy - from a call to “dnf install kernel-headers-$(uname -r)” ,
doesn’t mention vga_tryget at all.
The reason I’m looking at this is that about 15 hrs ago I noticed some screen flickering on a system I’d just set up.
dmesg showed issues with nouveau.
web searches suggested I should disable nouveau and install nvidia drivers.
I tried 2 approaches: dnf install and nvidia runfiles. No joy… so far.
The nvidia runfile driver-install build fails just after an error “implicit declaration of function ‘vga_tryget’”
I thought the Nvidia code might be missing an include ( posts suggest it happens ) but thought I’d just check the headers first and that’s how I ended up here.
can’t find any mention of vga_tryget in the include dir:
$ grep -rl vga_tryget .
$ pwd
/lib/modules/4.18.0-305.19.1.el8_4.x86_64/source/include
though it does appear here:
$ grep -r vga_tryget .
./System.map:ffffffff815e47b0 t __vga_tryget
$ pwd
/lib/modules/4.18.0-305.19.1.el8_4.x86_64/source
Any ideas on
- what’s going on / where the declaration went
- how to fix my driver problem
??
System:
Rocky Linux
Dell Precision T7810
Asus GeForce 210 2GB.
Nvidia installer log excerpt: ( tried uploading file as attachment but .log files not allowed )
nvidia-installer log file ‘/var/log/nvidia-installer.log’
creation time: Sat Oct 30 04:47:49 2021
installer version: 340.108
PATH: /usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/var/lib/snapd/snap/bin:/root/bin
nvidia-installer command line:
./nvidia-installer
Using: nvidia-installer ncurses v6 user interface
→ Tagging shared libraries with chcon -t textrel_shlib_t.
→ License accepted.
→ Installing NVIDIA driver version 340.108.
→ Performing CC sanity check with CC=“/usr/bin/cc”.
→ Kernel source path: ‘/lib/modules/4.18.0-305.19.1.el8_4.x86_64/source’
→ Kernel output path: ‘/lib/modules/4.18.0-305.19.1.el8_4.x86_64/build’
→ Performing rivafb check.
…
…
…
/tmp/selfgz23270/NVIDIA-Linux-x86_64-340.108/kernel/nv.c: In function ‘nvidia_probe’:
/tmp/selfgz23270/NVIDIA-Linux-x86_64-340.108/kernel/nv.c:2788:5: error: implicit declaration of function ‘vga_tryget’; did you mean ‘vga_get’? [-Werror=implicit-function-declaration]
vga_tryget(VGA_DEFAULT_DEVICE, VGA_RSRC_LEGACY_MASK);
^~~~~~~~~~
vga_get
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/kernels/4.18.0-305.19.1.el8_4.x86_64/scripts/Makefile.build:316: /tmp/selfgz23270/NVIDIA-Linux-x86_64-340.108/kernel/nv.o] Error 1
make[2]: *** [/usr/src/kernels/4.18.0-305.19.1.el8_4.x86_64/Makefile:1563: module/tmp/selfgz23270/NVIDIA-Linux-x86_64-340.108/kernel] Error 2
make[2]: Leaving directory ‘/usr/src/kernels/4.18.0-305.19.1.el8_4.x86_64’
make[1]: *** [Makefile:157: sub-make] Error 2
make[1]: Leaving directory ‘/usr/src/kernels/4.18.0-305.19.1.el8_4.x86_64’
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make: *** [Makefile:197: nvidia.ko] Error 1
→ Error.
ERROR: Unable to build the NVIDIA kernel module.
ERROR: Installation has failed. Please see the file ‘/var/log/nvidia-installer.log’ for details. You may find suggestions on fixing installation problems in the README available on the Linux driver download page at nvidia.com.