Bug 271523

Summary: x11/nvidia-driver, x11/linux-nvidia-libs: update to 535.54.03
Product: Ports & Packages Reporter: Austin Shafer <ashafer>
Component: Individual Port(s)Assignee: Alexey Dokuchaev <danfe>
Status: Closed FIXED    
Severity: Affects Only Me CC: danfe, grahamperrin, junchoon, kbowling, rhurlin, thindil
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://www.nvidia.com/Download/driverResults.aspx/205466/en-us/
See Also: https://reviews.freebsd.org/D40168
Attachments:
Description Flags
x11/{nvidia-driver, linux-nvidia-libs} 535.54.03 kbowling: maintainer-approval? (danfe), danfe: maintainer-approval+

Description Austin Shafer 2023-05-20 00:16:05 UTC
PR for tracking update to the latest release series from the end of March.

https://www.nvidia.com/Download/driverResults.aspx/200483/en-us/

Notably with 530 enough of the patches are present in the base driver to where we can finally make a ports entry of nvidia-drm.ko. I'll wait for this update to land before sending out the nvidia-drm-*-kmod port reviews.

nvidia-drm: https://github.com/amshafer/nvidia-driver
nvidia-drm port: https://github.com/amshafer/freebsd-ports

Review: https://reviews.freebsd.org/D40168

The only infrastructure change here is that nvidia-driver now has a Makefile.version that related ports can use to reference the main driver version.
Comment 1 Bartek Jasicki 2023-05-20 08:14:19 UTC
Hello Austin, and thank you for your work.

1) The file x11/linux-nvidia-libs/distinfo contains checksum only for the latest release. Is it correct? I think it should have checksums for older version of the driver too.
2) This is more to the maintainer. ;) Nvidia-driver until now, always used the production branch of the driver, not the new features. The new features branch sometimes also brings new bugs. Thus, the question is, should we change the base branch for the package? Or, maybe, create a new package for the branch?
Comment 2 Alexey Dokuchaev freebsd_committer freebsd_triage 2023-05-29 11:23:11 UTC
(In reply to Bartek Jasicki from comment #1)
> 1) The file x11/linux-nvidia-libs/distinfo contains checksum only for the
> latest release. Is it correct?
It's not, but it doesn't matter much as `distinfo' is usually regenerated with "make update-distinfo" anyways.

> Nvidia-driver until now, always used the production branch of the driver,
> not the new features. The new features branch sometimes also brings new
> bugs.
That's exactly right, thus we do not track beta/prerelease versions.  It also brings extra maintenance burden.

> Thus, the question is, should we change the base branch for the package?
> Or, maybe, create a new package for the branch?
No, we shouldn't and won't.  We already have more than enough *production* versions to maintain.  530, shall it be nVidia's next version, would hit the tree when it becomes stable aka production.
Comment 3 Austin Shafer 2023-05-30 15:59:21 UTC
(In reply to Alexey Dokuchaev from comment #2)

> 530, shall it be nVidia's next version, would hit the tree when it becomes stable aka production.

530.41.03 is the latest stable production version. The beta for 535 was actually announced today as well.
Comment 4 Bartek Jasicki 2023-05-31 06:29:29 UTC
(In reply to Austin Shafer from comment #3)

Not exactly, unless Nvidia still doesn't update the page: https://www.nvidia.com/en-us/drivers/unix/ ;) Nvidia has a little confusing names for the drivers. 
1. Beta is a development version of the driver, currently 535.43.02, since 2023.5.30. New features and new bugs, usually.
2. The new features' driver should be called "beta", as it contains new, not fully tested code. Now it is 530.41.03, since 2023.3.23. 
3. The stable version is called "production" and it is the branch which the x11/nvidia-driver follows. Currently, 525.116.04 since 2023.5.9.
Comment 5 Austin Shafer 2023-05-31 14:34:16 UTC
(In reply to Bartek Jasicki from comment #4)

Ah that's right forgot about that distinction, in my last comment I was only thinking about beta vs non-beta releases.
Comment 6 Tomoaki AOKI 2023-06-15 09:53:50 UTC
And now "Latest Production Branch Version: 535.54.03".

One important note is that "Removed libnvidia-compiler.so.VERSION from the driver package. This functionality is now provided by other driver libraries." on Linux driver. This means we need to drop the library from x11/linux-nvdia-libs port.

 *Drop this from LINUX_LIBS and LINUX32_LIBS by default.
 *Should need check like below.
  The version is the one I've first noticed the change.
  Could be earlier version like 535.00000.

.if ${NVVERSION} >= 535.04302 # 535.43.02
PLIST_RE+=	'\,${LINUXBASE}.*libnvidia-compiler\.so,d'
.else
LINUX_LIBS+=	libnvidia-compiler.so.${PORTVERSION}
LINUX32_LIBS+=	libnvidia-compiler.so.${PORTVERSION}
.endif
Comment 7 Kevin Bowling freebsd_committer freebsd_triage 2023-06-28 18:43:40 UTC
Created attachment 243062 [details]
x11/{nvidia-driver, linux-nvidia-libs} 535.54.03

Patch for x11/{nvidia-driver, linux-nvidia-libs} 535.54.03.  I am using it on my desktop.  I plan to commit this in 2 weeks unless valid issues arise.
Comment 8 Alexey Dokuchaev freebsd_committer freebsd_triage 2023-07-10 07:43:55 UTC
Comment on attachment 243062 [details]
x11/{nvidia-driver, linux-nvidia-libs} 535.54.03

(In reply to Kevin Bowling from comment #7)
>  .if ${OSVERSION} >= 1400070
> +.  if ${NVVERSION} < 530.03002
Convention (through the Makefile) is to use && rather than two .if's, otherwise the patchset looks fine.
Comment 9 Tomoaki AOKI 2023-07-10 09:17:37 UTC
One thing to mention.
Should we completely drop the part below from x11/linux-nvidia-kibs/Makefile?

-.if ${NVVERSION} >= 525.08902 # 525.89.02
-LINUX_LIBS+=	libnvidia-egl-wayland.so.1.1.10
-LINUX_LINKS+=	libnvidia-egl-wayland.so.1.1.10 libnvidia-egl-wayland.so.1
-PLIST_RE+=	'\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.1.10/'


Not sure if anyone could be bitten, but if anyone bitten by 535.* but was fine on 525.* would want 1.1.10 support.

As 1.1.9 support is kept as below, the part above could be better kept .elif'ed.

 .elif ${NVVERSION} >= 495.02905 # 495.29.05
 LINUX_LIBS+=	libnvidia-egl-wayland.so.1.1.9
 LINUX_LINKS+=	libnvidia-egl-wayland.so.1.1.9 libnvidia-egl-wayland.so.1
 PLIST_RE+=	'\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.1.9/'
Comment 10 commit-hook freebsd_committer freebsd_triage 2023-07-11 14:01:12 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=67ae03d7eaf7f9fdfdd8f5d34cd623a617565ca7

commit 67ae03d7eaf7f9fdfdd8f5d34cd623a617565ca7
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2023-07-11 13:49:32 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2023-07-11 14:00:45 +0000

    x11/nvidia-driver, x11/linux-nvidia-libs: update to 535.54.03

    New production branch
    Changes https://www.nvidia.com/Download/driverResults.aspx/205466/en-us/

    PR:             271523
    Approved by:    danfe

 x11/linux-nvidia-libs/Makefile | 18 +++++++++++-------
 x11/linux-nvidia-libs/distinfo |  6 +++---
 x11/nvidia-driver/Makefile     | 12 ++++++++----
 x11/nvidia-driver/distinfo     |  6 +++---
 4 files changed, 25 insertions(+), 17 deletions(-)
Comment 11 Graham Perrin freebsd_committer freebsd_triage 2023-07-12 05:52:32 UTC
Thanks. 

D40168 updated. 

Wiki updated, <https://wiki.freebsd.org/action/info/Graphics?action=diff&rev2=100&rev1=99>. Someone should make a corresponding update to the FreeBSD Handbook.
Comment 12 Graham Perrin freebsd_committer freebsd_triage 2023-07-12 06:20:40 UTC
Committed locally, not yet pushed to freebsd main: 

% git -C /usr/doc log -n 1 --oneline
d8cce5f6a6 (HEAD -> main) FreeBSD Handbook: X …: NVIDIA … update, 535.54.03
%
Comment 13 commit-hook freebsd_committer freebsd_triage 2023-07-13 03:14:55 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/doc/commit/?id=b54c362ba634bc7ca080be3bfe8b05d62c8c8d71

commit b54c362ba634bc7ca080be3bfe8b05d62c8c8d71
Author:     Graham Perrin <grahamperrin@FreeBSD.org>
AuthorDate: 2023-07-12 06:14:02 +0000
Commit:     Graham Perrin <grahamperrin@FreeBSD.org>
CommitDate: 2023-07-13 03:10:50 +0000

    FreeBSD Handbook: X …: NVIDIA … update, 535.54.03

    https://docs.freebsd.org/en/books/handbook/x11/#x-configuration-nvidia

    Update the NVIDIA point of reference for x11/nvidia-driver.

    D40168 below was for ports, this is for doc.

                           https://bugs.freebsd.org/271523

    PR:                    271523
    Differential-revision: https://reviews.freebsd.org/D40168

 documentation/content/en/books/handbook/x11/_index.adoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)