Nvidia G05 Drivers w/gcc-14 patch for TW available
All, With the latest TW update, packages must build against gcc-14. I've added patches to the Nvdia 470 (G05) driver and built against current Tumbleweed. Updated packages should be trickling into the following repository if you need them: https://download.opensuse.org/repositories/home:/drankinatty:/branches:/home... (drivers for 15.4-15.6 also included) -- David C. Rankin, J.D.,P.E.
Am 09/09/2024 um 09:01 schrieb David C. Rankin:
All,
With the latest TW update, packages must build against gcc-14. I've added patches to the Nvdia 470 (G05) driver and built against current Tumbleweed. Updated packages should be trickling into the following repository if you need them:
https://download.opensuse.org/repositories/home:/drankinatty:/branches:/home...
(drivers for 15.4-15.6 also included)
Thanks for this information. I am following up here with some strange G04 issue. Today I made the update from openSUSE Tumbleweed 20240906-0 -> 20240912-0 after the update openSUSE Tumbleweed 20240823-0 -> 20240906-0 failed with compile errors for /usr/src/kernel-modules/nvidia-390.157-default/common/inc/nv-linux.h:1293:9: error: implicit declaration of function ‘dma_is_direct’; did you mean ‘d_is_dir’? [-Wimplicit-function-declaration] ... make[4]: *** [/usr/src/linux-6.10.8-1/scripts/Makefile.build:245: /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv-gpu-numa.o] Error 1 and so on. I was hoping that the update to 20240912-0 corrects the bugs, all seems well...nVidia license, then update of: Retrieving: nvidia-gfxG04-kmp-default-390.157_k6.10.5_1-45.7.x86_64 (NVIDIA) (333/342), 9.6 MiB Retrieving: nvidia-gfxG04-kmp-default-390.157_k6.10.5_1-45.7.x86_64.rpm .....................................[done (9.5 MiB/s)] Retrieving: nvidia-glG04-390.157-45.1.x86_64 (NVIDIA) (334/342), 15.4 MiB Retrieving: nvidia-glG04-390.157-45.1.x86_64.rpm ...........................................................[done (15.3 MiB/s)] Retrieving: nvidia-glG04-32bit-390.157-45.1.x86_64 (NVIDIA) (335/342), 15.3 MiB Retrieving: nvidia-glG04-32bit-390.157-45.1.x86_64.rpm ......................................................[done (7.4 MiB/s)] Retrieving: nvidia-computeG04-390.157-45.1.x86_64 (NVIDIA) (336/342), 8.1 MiB Retrieving: nvidia-computeG04-390.157-45.1.x86_64.rpm .......................................................[done (7.4 MiB/s)] Retrieving: nvidia-computeG04-32bit-390.157-45.1.x86_64 (NVIDIA) (337/342), 7.8 MiB Retrieving: nvidia-computeG04-32bit-390.157-45.1.x86_64.rpm .................................................[done (7.7 MiB/s)] Retrieving: x11-video-nvidiaG04-390.157-45.1.x86_64 (NVIDIA) (338/342), 16.1 MiB Retrieving: x11-video-nvidiaG04-390.157-45.1.x86_64.rpm .....................................................[done (7.6 MiB/s)] Retrieving: x11-video-nvidiaG04-32bit-390.157-45.1.x86_64 (NVIDIA) (339/342), 13.9 MiB Retrieving: x11-video-nvidiaG04-32bit-390.157-45.1.x86_64.rpm ...............................................[done (6.6 MiB/s)] but then when it started compiling, there were error messages again: /usr/src/kernel-modules/nvidia-390.157-default/common/inc/nv-linux.h:564:17: error: implicit declaration of function ioremap_nocache; did you mean ioremap_cache? [-Wimplicit-function-declaration] ... /usr/src/kernel-modules/nvidia-390.157-default/common/inc/nv-linux.h:564:17: error: initialization of void * from int makes pointer from integer without a cast [-Wint-conversion] ... /usr/src/kernel-modules/nvidia-390.157-default/common/inc/nv-linux.h:742:12: error: implicit declaration of function phys_to_dma; did you mean nv_phys_to_dma? [-Wimplicit-function-declaration] ... /usr/src/kernel-modules/nvidia-390.157-default/common/inc/nv-linux.h:1293:9: error: implicit declaration of function dma_is_direct; did you mean d_is_dir? [-Wimplicit-function-declaration] ... and more with finally the well known: make[4]: *** [/usr/src/linux-6.10.9-1/scripts/Makefile.build:245: /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv.o] Error 1 make[3]: *** [/usr/src/linux-6.10.9-1/Makefile:1957: /usr/src/kernel-modules/nvidia-390.157-default] Error 2 make[2]: *** [/usr/src/linux-6.10.9-1/Makefile:240: __sub-make] Error 2 make[2]: Leaving directory '/usr/src/linux-6.10.9-1-obj/x86_64/default' make[1]: *** [Makefile:240: __sub-make] Error 2 make[1]: Leaving directory '/usr/src/linux-6.10.9-1' make: *** [Makefile:81: modules] Error 2 I expected, that again there will be no X11 without nVidia kernel modules and rebooted without hope. But now the strange thing comes: X11 came up together with the kernel-default-6.10.9-1.1 system. XFCE and all graphics seems ok. So now I am bit lost: how can the nVidia kernel module compile fail and then it is all coming up as if it was ok? Thanks in advance Pete
On 9/14/24 10:07 AM, Peter Maffter via openSUSE Users wrote:
I was hoping that the update to 20240912-0 corrects the bugs, all seems well...nVidia license, then update of:
It should have. Make sure you have all the current drivers which the official Nvidia repo should now contain. Make sure any of the old rpms from different repositories have been removed. The dma_is_direct issue is the gcc-14 patch issue. What it likely means is for whatever reason a driver rebuild was not triggered against gcc-14 so the modules on your system are built against gcc-13. If you have updated all packages (which it looks like you have, which should have triggered a rebuild) then you can manually trigger another rebuild by calling dracut. I have TW fully updated using the Official openSUSE Nvidia repo drivers (ver. 45.1 like you) and my G04 card is working. -- David C. Rankin, J.D.,P.E.
Am 14/09/2024 um 19:51 schrieb David C. Rankin:
On 9/14/24 10:07 AM, Peter Maffter via openSUSE Users wrote:
I was hoping that the update to 20240912-0 corrects the bugs, all seems well...nVidia license, then update of:
It should have. Make sure you have all the current drivers which the official Nvidia repo should now contain.
Make sure any of the old rpms from different repositories have been removed.
The dma_is_direct issue is the gcc-14 patch issue. What it likely means is for whatever reason a driver rebuild was not triggered against gcc-14 so the modules on your system are built against gcc-13.
If you have updated all packages (which it looks like you have, which should have triggered a rebuild) then you can manually trigger another rebuild by calling dracut.
I have TW fully updated using the Official openSUSE Nvidia repo drivers (ver. 45.1 like you) and my G04 card is working.
/usr/bin/gcc --version gcc (SUSE Linux) 14.2.0 Copyright (C) 2024 Free Software Foundation, Inc. So if the compilation of G04 from nVidia does not make anything weird, gcc-14 should be used. BR Pete
On 9/14/24 1:34 PM, Peter Maffter via openSUSE Users wrote:
/usr/bin/gcc --version gcc (SUSE Linux) 14.2.0 Copyright (C) 2024 Free Software Foundation, Inc.
So if the compilation of G04 from nVidia does not make anything weird, gcc-14 should be used.
BR Pete
Pete, See last post, I have drivers from the following repo: https://download.opensuse.org/repositories/home:/wkazubski:/G03/openSUSE_Tum... Moreover, I just downloaded the drivers from the official repo: https://download.nvidia.com/opensuse/tumbleweed/x86_64/ And I cannot find the buildservice repo or verify if the gcc-14 patch is applied. Your error messages show the gcc-14 patch is not applied. The official drivers show an obs project I'm not familiar with, e.g. $ rpm -qpi nvidia-glG04-390.157-45.1.x86_64.rpm Name : nvidia-glG04 Version : 390.157 Release : 45.1 Architecture: x86_64 Install Date: (not installed) Group : System/Libraries Size : 75400488 License : SUSE-NonFree Signature : RSA/SHA512, Mon 09 Sep 2024 11:30:15 AM CDT, Key ID b1d0d788db27fd5a Source RPM : x11-video-nvidiaG04-390.157-45.1.nosrc.rpm Build Date : Wed 03 Jul 2024 05:45:03 AM CDT Build Host : reproducible Vendor : obs://build.suse.de/Proprietary:X11:Drivers URL : https://www.nvidia.com/object/unix.html Summary : NVIDIA OpenGL libraries for OpenGL acceleration Description : This package provides the NVIDIA OpenGL libraries to allow OpenGL acceleration under the closed-source NVIDIA drivers. Distribution: Proprietary:X11:Drivers / openSUSE_Tumbleweed Note the "Vendor". I can't find any "Proprietary:X11:Drivers" build service project searching in obs -- so it looks like the "official" nvidia drivers do NOT have the gcc-14 patch applied. If that is the case, that is wild. You can pull from the wkazubski repo and I can confirm they are properly patched. Stefan, can you confirm if the gcc-14 patch is applied to the current official openSUSE NVidia drivers for G04? Or if you are no longer the right contact, then can you forward this message to who is for an answer? -- David C. Rankin, J.D.,P.E.
Am 14/09/2024 um 21:21 schrieb David C. Rankin:
On 9/14/24 1:34 PM, Peter Maffter via openSUSE Users wrote:
/usr/bin/gcc --version gcc (SUSE Linux) 14.2.0 Copyright (C) 2024 Free Software Foundation, Inc.
So if the compilation of G04 from nVidia does not make anything weird, gcc-14 should be used.
BR Pete
Pete,
See last post, I have drivers from the following repo:
https://download.opensuse.org/repositories/home:/wkazubski:/G03/openSUSE_Tum...
Moreover, I just downloaded the drivers from the official repo:
https://download.nvidia.com/opensuse/tumbleweed/x86_64/
And I cannot find the buildservice repo or verify if the gcc-14 patch is applied. Your error messages show the gcc-14 patch is not applied. The official drivers show an obs project I'm not familiar with, e.g.
$ rpm -qpi nvidia-glG04-390.157-45.1.x86_64.rpm Name : nvidia-glG04 Version : 390.157 Release : 45.1 Architecture: x86_64 Install Date: (not installed) Group : System/Libraries Size : 75400488 License : SUSE-NonFree Signature : RSA/SHA512, Mon 09 Sep 2024 11:30:15 AM CDT, Key ID b1d0d788db27fd5a Source RPM : x11-video-nvidiaG04-390.157-45.1.nosrc.rpm Build Date : Wed 03 Jul 2024 05:45:03 AM CDT Build Host : reproducible Vendor : obs://build.suse.de/Proprietary:X11:Drivers URL : https://www.nvidia.com/object/unix.html Summary : NVIDIA OpenGL libraries for OpenGL acceleration Description : This package provides the NVIDIA OpenGL libraries to allow OpenGL acceleration under the closed-source NVIDIA drivers. Distribution: Proprietary:X11:Drivers / openSUSE_Tumbleweed
rpm -qi x11-video-nvidiaG04-390.157 Name : x11-video-nvidiaG04 Version : 390.157 Release : 45.1 Architecture: x86_64 Install Date: Sat 14 Sep 2024 16:08:26 CEST Group : System/Libraries Size : 62639332 License : SUSE-NonFree Signature : RSA/SHA512, Mon 09 Sep 2024 18:31:27 CEST, Key ID b1d0d788db27fd5a Source RPM : x11-video-nvidiaG04-390.157-45.1.nosrc.rpm Build Date : Wed 03 Jul 2024 12:45:03 CEST Build Host : reproducible Vendor : obs://build.suse.de/Proprietary:X11:Drivers URL : https://www.nvidia.com/object/unix.html Summary : NVIDIA graphics driver for GeForce 400 series and newer Description : This package provides the closed-source NVIDIA graphics driver for GeForce 400 series and newer GPUs. Distribution: Proprietary:X11:Drivers / openSUSE_Tumbleweed RSA/SHA512, Mon 09 Sep 2024 11:30:15 AM CDT and RSA/SHA512, Mon 09 Sep 2024 18:31:27 CEST -> ? Looks weird.
Note the "Vendor". I can't find any "Proprietary:X11:Drivers" build service project searching in obs -- so it looks like the "official" nvidia drivers do NOT have the gcc-14 patch applied.
If that is the case, that is wild. You can pull from the wkazubski repo and I can confirm they are properly patched.
Stefan, can you confirm if the gcc-14 patch is applied to the current official openSUSE NVidia drivers for G04? Or if you are no longer the right contact, then can you forward this message to who is for an answer?
Thanks. Also the different RSA/SHA512 date looks strange. Normally if it is only time zone, the diff would not be in the minutes/seconds area... Thx BR Pete
On 9/14/24 10:07 AM, Peter Maffter via openSUSE Users wrote:
/usr/src/kernel-modules/nvidia-390.157-default/common/inc/nv-linux.h:564:17: error: implicit declaration of function ioremap_nocache; did you mean ioremap_cache? [-Wimplicit-function-declaration]
This is also the gcc-14 patch, To resolve the new treatment of implicit declarations, the gcc-14 patch includes the new command-line parameters for gcc: -Wno-implicit-function-declaration -Wno-strict-prototypes -Wno-incompatible-pointer-types" -- David C. Rankin, J.D.,P.E.
On 9/14/24 10:07 AM, Peter Maffter via openSUSE Users wrote:
So now I am bit lost: how can the nVidia kernel module compile fail and then it is all coming up as if it was ok?
Yes and no, The warning -Wimplicit-function-declaration (now treated as an error by default) simply means the function was used before it was defined meaning something called ioremap_nocache in the code before the function definition for it was encountered. (the call isn't necessarily a problem for the driver) The gcc-14 patch disables the -Wimplicit-function-declaration warning removing the error (curiously with -Wno-implicit-function-declaration). Your error: make[4]: *** [/usr/src/linux-6.10.9-1/scripts/Makefile.build:245: /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv.o] Error 1 make[3]: *** [/usr/src/linux-6.10.9-1/Makefile:1957: /usr/src/kernel-modules/nvidia-390.157-default] Error 2 make[2]: *** [/usr/src/linux-6.10.9-1/Makefile:240: __sub-make] Error 2 make[2]: Leaving directory '/usr/src/linux-6.10.9-1-obj/x86_64/default' make[1]: *** [Makefile:240: __sub-make] Error 2 make[1]: Leaving directory '/usr/src/linux-6.10.9-1' make: *** [Makefile:81: modules] Error 2 Tells you the build FAILED. So check the kernel version you are running (uname -r) and check that you are actually using the nvidia driver (lsmod | grep nvidia) AHAH! I actually have drivers installed from: https://download.opensuse.org/repositories/home:/wkazubski:/G03/openSUSE_Tum... Now the openSUSE X11:Drivers build service shows the same patch-set with the gcc-14.patch being applied: https://build.opensuse.org/package/show/X11:Drivers:Video/nvidia-gfxG04 So I don't know why your build failed -- unless what is in the official openSUSE NVidia repo isn't built from the X11:Drivers:Video/nvidia-gfxG04 build service project. What does: rpm -qi x11-video-nvidiaG04-390.157 show as the Vendor? -- David C. Rankin, J.D.,P.E.
For some reason I had "*** SPAM ***" in thunderbird for your article. Removed that from the Subject line. X-Spam-Level: ****** X-Spam Yes Junk Filter from thunderbird seems to be running wrong. Am 14/09/2024 um 20:44 schrieb David C. Rankin:
On 9/14/24 10:07 AM, Peter Maffter via openSUSE Users wrote:
So now I am bit lost: how can the nVidia kernel module compile fail and then it is all coming up as if it was ok?
Yes and no,
The warning -Wimplicit-function-declaration (now treated as an error by default) simply means the function was used before it was defined meaning something called ioremap_nocache in the code before the function definition for it was encountered. (the call isn't necessarily a problem for the driver)
Thanks, I know, what an implicit declaration is. ;-)
The gcc-14 patch disables the -Wimplicit-function-declaration warning removing the error (curiously with -Wno-implicit-function-declaration).
It removes the warning/error, but I guess the implicit declaration is still there?
Your error:
make[4]: *** [/usr/src/linux-6.10.9-1/scripts/Makefile.build:245: /usr/src/kernel-modules/nvidia-390.157-default/nvidia/nv.o] Error 1 make[3]: *** [/usr/src/linux-6.10.9-1/Makefile:1957: /usr/src/kernel-modules/nvidia-390.157-default] Error 2 make[2]: *** [/usr/src/linux-6.10.9-1/Makefile:240: __sub-make] Error 2 make[2]: Leaving directory '/usr/src/linux-6.10.9-1-obj/x86_64/default' make[1]: *** [Makefile:240: __sub-make] Error 2 make[1]: Leaving directory '/usr/src/linux-6.10.9-1' make: *** [Makefile:81: modules] Error 2
Tells you the build FAILED. So check the kernel version you are running (uname -r) and check that you are actually using the nvidia driver (lsmod | grep nvidia)
uname -r 6.10.9-1-default This is the current kernel for update 20240912-0. That is, what puzzles me, that the build fails and still X11 and nVidia drivers are working. I can only imagine, that after the build some installation of nVidia rpm drivers from nVidia replaces the non existing nVidia drivers.
AHAH! I actually have drivers installed from:
https://download.opensuse.org/repositories/home:/wkazubski:/G03/openSUSE_Tum...
Now the openSUSE X11:Drivers build service shows the same patch-set with the gcc-14.patch being applied:
https://build.opensuse.org/package/show/X11:Drivers:Video/nvidia-gfxG04
So I don't know why your build failed -- unless what is in the official openSUSE NVidia repo isn't built from the X11:Drivers:Video/nvidia-gfxG04 build service project.
What does: rpm -qi x11-video-nvidiaG04-390.157 show as the Vendor?
rpm -qi x11-video-nvidiaG04-390.157 Name : x11-video-nvidiaG04 Version : 390.157 Release : 45.1 Architecture: x86_64 Install Date: Sat 14 Sep 2024 16:08:26 CEST Group : System/Libraries Size : 62639332 License : SUSE-NonFree Signature : RSA/SHA512, Mon 09 Sep 2024 18:31:27 CEST, Key ID b1d0d788db27fd5a Source RPM : x11-video-nvidiaG04-390.157-45.1.nosrc.rpm Build Date : Wed 03 Jul 2024 12:45:03 CEST Build Host : reproducible Vendor : obs://build.suse.de/Proprietary:X11:Drivers URL : https://www.nvidia.com/object/unix.html Summary : NVIDIA graphics driver for GeForce 400 series and newer Description : This package provides the closed-source NVIDIA graphics driver for GeForce 400 series and newer GPUs. Distribution: Proprietary:X11:Drivers / openSUSE_Tumbleweed "Build Date : Wed 03 Jul 2024 12:45:03 CEST" worries me a bit. Thx in advance.
On 9/15/24 8:41 AM, Peter Maffter via openSUSE Users wrote:
That is, what puzzles me, that the build fails and still X11 and nVidia drivers are working. I can only imagine, that after the build some installation of nVidia rpm drivers from nVidia replaces the non existing nVidia drivers.
The only way this can happen is if the previous nvidia driver packages were patched for gcc-14 and built a module for 6.10.9 before updating to the official Nvidia driver repo. When the divers build, they are placed in /usr/lib/modules/<kernel-ver>/updates/, e.g. $ ls -al /usr/lib/modules/6.10.9-1-default/updates/ total 51168 drwxr-xr-x 2 root root 4096 Sep 11 17:31 . drwxr-xr-x 4 root root 4096 Sep 11 17:31 .. -rw-r--r-- 1 root root 3515048 Sep 11 17:31 nvidia-drm.ko -rw-r--r-- 1 root root 2911688 Sep 11 17:31 nvidia-modeset.ko -rw-r--r-- 1 root root 45949968 Sep 11 17:31 nvidia.ko My only guess is that with the rpms from another repo you built drivers for 6.10.9. Then when you switched to the official repo packages, they fail to build, but do not remove the prior drivers as a result of the failure. So when you boot, you are using the drivers built from an earlier set of packages that were patched for gcc-14. If I were you, I'd just switch to a community repo that has the gcc-14 patch applied. You won't get the errors you see if that patch is applied. G03 & G04 Drivers https://download.opensuse.org/repositories/home:/wkazubski:/G03/openSUSE_Tum... G05 Driver https://download.opensuse.org/repositories/home:/drankinatty:/branches:/home... The repo I branched from may be updated now as well, so you can check: https://download.opensuse.org/repositories/home:/liguros/openSUSE_Tumbleweed... This has been an odd period for the openSUSE Nvidia repo. Arch was already using gcc-14 in July when the 6.10 kernel was released, so we only had to patch once and haven't had any issues since. Tumbleweed was still using gcc-13 up until a week or so ago, so while the community repos for Nvidia all had the gcc-14 patch, the drivers for the official build doesn't seem to have gotten the memo. If somebody can find a build service link to the obs://build.suse.de/Proprietary:X11:Drivers repo, we can check the status. As noted, you can search build service for "Proprietary" and noting results. The normal X11:Drivers/ repo does have the gcc-14 patch (which that is another repo you can test the packages from) -- David C. Rankin, J.D.,P.E.
Hello, In the Message; Subject : Re: Strange G04 behaviour Message-ID : <869c44e4-dd1c-4f94-83cf-5babb669f8f2@yahoo.de> Date & Time: Sun, 15 Sep 2024 15:41:00 +0200 [PM] == Peter Maffter via openSUSE Users <users@lists.opensuse.org> has written: [...] PM> uname -r PM> 6.10.9-1-default PM> This is the current kernel for update 20240912-0. PM> That is, what puzzles me, that the build fails and still X11 and PM> nVidia drivers are working. PM> I can only imagine, that after the build some installation of PM> nVidia rpm drivers from nVidia replaces the non existing nVidia PM> drivers. [...] Please show the results of; 1. $ inxi -b 2. nvidia-bug-report.log.gz obtaind by running; $ sudo nvidia-bug-report.sh Best Regards. --- ┏━━┓彡 Masaru Nomiya mail-to: nomiya @ lake.dti.ne.jp ┃\/彡 ┗━━┛ "To hire for skills, firms will need to implement robust and intentional changes in their hiring practices ― and change is hard." -- Employers don’t practice what they preach on skills-based hiring --
participants (3)
-
David C. Rankin
-
Masaru Nomiya
-
Peter Maffter