Re: Howto Generate x11-video-nvidiaG04 from nvidia-gfxG04 package?

On 12/29/24 9:38 AM, Patrick Shanahan wrote:
I had time today to do 2) - which worked fine. Nvidia G04 packages and x11-video-nvidiaG04 packages built and work just fine with TW and the 6.12 kernel.
https://build.opensuse.org/project/show/ home:drankinatty:branches:home:wkazubski:G03 and I can testify that Davids packages are working on Tumbleweed kernel 6.12. happily
Two caveats left to be addressed. 1) The 15.6 patch needs work. The build succeeds, but the post-install script fails: [ 158s] Modprobe blacklist files have been created at /etc/modprobe.d to prevent Nouveau from loading. This can be reverted by deleting /etc/modprobe.d/nvidia-*.conf. [ 158s] [ 158s] *** Reboot your computer and verify that the NVIDIA graphics driver can be loaded. *** [ 158s] [ 158s] /.build_patchrpmcheck_scr: line 131: pbl: command not found [ 158s] postinstall script of nvidia-gfxG04-kmp-default-390.157_k6.4.0_150600.21-lp156.59.1.x86_64.rpm failed pbl bootloader config manager is present in TW, but apparently not in 15.6? Can someone confirm, I don't have 15.6. 2) btop fails to start on TW. It was fine with the 6.11 kernel. It does start on Arch with the 390xx driver and 6.12 - so I'm not sure what the issue is. Running with --debug provides no additional log info. strace will be the next step. Has anybody else seen an issue with btop on TW with the 6.12 kernel? Other than btop oddity, the nvidia G04 driver works fine patched for 6.12. The 470 (G05) will need the same patch (different line offsets). I don't have any hardware installed to test the 470 driver. Any thoughts on 1 or 2 above, let me know. Also, I'm not sure who builds for the official openSUSE Nvidia repo, e.g. https://download.nvidia.com/opensuse/tumbleweed but the 390 and 470 (legacy) drivers do need to be patched (or at least checked verify no patch is needed) for each kernel version update. Laptops with that hardware are stuck until a patch is provided. I don't mind helping and I usually have the patch worked out when the kernel is released due to also patching for the Arch AUR 390xx driver -- but I need help with all the .spec caveats for the various Leaps, etc.. -- David C. Rankin, J.D.,P.E.

30.12.2024 02:25, David C. Rankin wrote:
1) The 15.6 patch needs work. The build succeeds, but the post-install script fails:
[ 158s] Modprobe blacklist files have been created at /etc/modprobe.d to prevent Nouveau from loading. This can be reverted by deleting /etc/modprobe.d/nvidia-*.conf. [ 158s] [ 158s] *** Reboot your computer and verify that the NVIDIA graphics driver can be loaded. *** [ 158s] [ 158s] /.build_patchrpmcheck_scr: line 131: pbl: command not found [ 158s] postinstall script of nvidia-gfxG04-kmp-default-390.157_k6.4.0_150600.21-lp156.59.1.x86_64.rpm failed
pbl bootloader config manager is present in TW, but apparently not in 15.6? Can someone confirm, I don't have 15.6.
bor@10:~> ll /sbin/pbl -rwxr-xr-x 1 root root 9498 Sep 25 10:30 /sbin/pbl bor@10:~> rpm -qf /sbin/pbl perl-Bootloader-1.8.2-150600.3.3.1.x86_64 bor@10:~>

On 12/29/24 10:32 PM, Andrei Borzenkov wrote:
[ 158s] /.build_patchrpmcheck_scr: line 131: pbl: command not found [ 158s] postinstall script of nvidia-gfxG04-kmp-default-390.157_k6.4.0_150600.21-lp156.59.1.x86_64.rpm failed
pbl bootloader config manager is present in TW, but apparently not in 15.6? Can someone confirm, I don't have 15.6.
bor@10:~> ll /sbin/pbl -rwxr-xr-x 1 root root 9498 Sep 25 10:30 /sbin/pbl bor@10:~> rpm -qf /sbin/pbl perl-Bootloader-1.8.2-150600.3.3.1.x86_64 bor@10:~>
Thanks Andrei, Anything special you can think of that I need to do in the .spec to ensure the 15.6 build sees pbl in the post-install script? Right now things are split in the spec. The current 15.6 patch applied: --- a/kernel/common/inc/nv-mm.h 2024-10-05 20:19:55.711917221 +0200 +++ b/kernel/common/inc/nv-mm.h 2024-10-05 20:13:24.440764986 +0200 @@ -49,7 +49,7 @@ */ // Rel. commit. "mm/gup: remove unused vmas parameter from get_user_pages()" (Lorenzo Stoakes, 14 May 2023) -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0) #include <linux/mm.h> static inline long NV_GET_USER_PAGES(unsigned long start, Doesn't seem to have anything to do with the postinstall pbl failure. Any ideas? -- David C. Rankin, J.D.,P.E.

30.12.2024 12:40, David C. Rankin wrote:
On 12/29/24 10:32 PM, Andrei Borzenkov wrote:
[ 158s] /.build_patchrpmcheck_scr: line 131: pbl: command not found [ 158s] postinstall script of nvidia-gfxG04-kmp-default-390.157_k6.4.0_150600.21-lp156.59.1.x86_64.rpm failed
pbl bootloader config manager is present in TW, but apparently not in 15.6? Can someone confirm, I don't have 15.6.
bor@10:~> ll /sbin/pbl -rwxr-xr-x 1 root root 9498 Sep 25 10:30 /sbin/pbl bor@10:~> rpm -qf /sbin/pbl perl-Bootloader-1.8.2-150600.3.3.1.x86_64 bor@10:~>
Thanks Andrei,
Anything special you can think of that I need to do in the .spec to ensure the 15.6 build sees pbl in the post-install script?
Does BuildRequires: perl-Bootloader help? Right now things are split
in the spec. The current 15.6 patch applied:
--- a/kernel/common/inc/nv-mm.h 2024-10-05 20:19:55.711917221 +0200 +++ b/kernel/common/inc/nv-mm.h 2024-10-05 20:13:24.440764986 +0200 @@ -49,7 +49,7 @@ */
// Rel. commit. "mm/gup: remove unused vmas parameter from get_user_pages()" (Lorenzo Stoakes, 14 May 2023) -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0) #include <linux/mm.h>
static inline long NV_GET_USER_PAGES(unsigned long start,
Doesn't seem to have anything to do with the postinstall pbl failure. Any ideas?

On 12/30/24 6:18 AM, Andrei Borzenkov wrote:
Does
BuildRequires: perl-Bootloader
help?
Oh yes it does, Will add conditional for 15.6 and see how it goes. What I don't understand is why without it TW builds but 15.6 fails. There is no special macro conditional to include it for any of the Leaps or TW? I guess it's not a standard dependency for 15.6 but is for TW? I'll dig deeper into it. -- David C. Rankin, J.D.,P.E.

On 12/30/24 6:18 AM, Andrei Borzenkov wrote:
Does
BuildRequires: perl-Bootloader
help?
Wait! Why is 15.6 failing when the .spec does include perl-bootloader for 15.6?? %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 BuildRequires: perl-Bootloader %endif ?? -- David C. Rankin, J.D.,P.E.

Citeren "David C. Rankin" <drankinatty@gmail.com>:
On 12/30/24 6:18 AM, Andrei Borzenkov wrote:
Does
BuildRequires: perl-Bootloader
help?
Wait!
Why is 15.6 failing when the .spec does include perl-bootloader for 15.6??
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 BuildRequires: perl-Bootloader %endif
??
That is not how these macros work. See https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto for the correct way to use them.

31.12.2024 01:14, Arjen de Korte wrote:
Citeren "David C. Rankin" <drankinatty@gmail.com>:
On 12/30/24 6:18 AM, Andrei Borzenkov wrote:
Does
BuildRequires: perl-Bootloader
help?
Wait!
Why is 15.6 failing when the .spec does include perl-bootloader for 15.6??
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 BuildRequires: perl-Bootloader %endif
??
That is not how these macros work. See https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto for the correct way to use them.
I do not see anything wrong in the way they are used nor anything on the referenced page that would explain it. Care to explain what is incorrect? These lines are straight from the official SUSE NVIDIA RPM: https://build.opensuse.org/projects/X11:Drivers:Video/packages/nvidia-gfxG04... and yes, I am also curious why they do not work.

Citeren Andrei Borzenkov <arvidjaar@gmail.com>:
31.12.2024 01:14, Arjen de Korte wrote:
Citeren "David C. Rankin" <drankinatty@gmail.com>:
On 12/30/24 6:18 AM, Andrei Borzenkov wrote:
Does
BuildRequires: perl-Bootloader
help?
Wait!
Why is 15.6 failing when the .spec does include perl-bootloader for 15.6??
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 BuildRequires: perl-Bootloader %endif
??
That is not how these macros work. See https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto for the correct way to use them.
I do not see anything wrong in the way they are used nor anything on the referenced page that would explain it. Care to explain what is incorrect?
My bad, I shouldn't be replying just before going to bed. There is nothing wrong with the use of these macros. I misread that these are OR-ed and not AND-ed.
These lines are straight from the official SUSE NVIDIA RPM:
https://build.opensuse.org/projects/X11:Drivers:Video/packages/nvidia-gfxG04...
and yes, I am also curious why they do not work.
participants (3)
-
Andrei Borzenkov
-
Arjen de Korte
-
David C. Rankin