Bug 232645 - x11/nvidia-driver: Update to 410.78 (New GPU support), Create x11/nvidia-driver-390
Summary: x11/nvidia-driver: Update to 410.78 (New GPU support), Create x11/nvidia-driv...
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Alexey Dokuchaev
URL: http://us.download.nvidia.com/XFree86...
Keywords: needs-patch, needs-qa
: 236768 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-10-24 17:11 UTC by O. Hartmann
Modified: 2019-07-04 09:52 UTC (History)
13 users (show)

See Also:
bugzilla: maintainer-feedback? (danfe)
iwtcex: maintainer-feedback?


Attachments
410.93 update (8.15 KB, patch)
2019-01-30 14:53 UTC, Alex S
no flags Details | Diff
[new port] graphics/libglvnd-1.1.1 (5.20 KB, patch)
2019-04-18 18:46 UTC, Austin Shafer
no flags Details | Diff
418.56 update (10.67 KB, patch)
2019-04-20 18:55 UTC, Alex S
no flags Details | Diff
430.14 update (10.67 KB, patch)
2019-05-18 06:45 UTC, Alex S
no flags Details | Diff
430.26 update (10.71 KB, patch)
2019-06-14 02:16 UTC, Alex S
no flags Details | Diff
430.26 update (with 390.87 to 390.116) (11.97 KB, patch)
2019-06-16 06:10 UTC, Tomoaki AOKI
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description O. Hartmann 2018-10-24 17:11:13 UTC
nVidia has provided a new driver for the new RTX 20XX line of GPUs. Are there any chances to get those drivers online soon?

Thanks in advance,
oh
Comment 1 Tomoaki AOKI 2018-11-10 00:47:31 UTC
One important notice.

Starting from version 396 (Short Lived Branch), support for a bunch of old GPUs are dropped and 390.* became legacy GPU version. :-( [1]

So with updating MASTER nvidia-driver, new legacy port nvidia-driver-390 SHALL be created at the same time (or earlier).


See the list between terms

 "The 390.xx driver supports the following set of GPUs:"

and

 "The 367.xx driver supports the following set of GPUs:"

on [2] and [3] for detailed affected GPUs.


[1] https://www.nvidia.com/object/unix.html

[2] http://us.download.nvidia.com/XFree86/FreeBSD-x86_64/410.73/README/supportedchips.html

[3] http://us.download.nvidia.com/XFree86/FreeBSD-x86_64/396.54/README/supportedchips.html


Also, users of GRID K340, GRID K1 and GRID K2 needs nvidia-driver-367,
but there's no legacy branch upstream.
Comment 2 Alex S 2019-01-30 14:53:01 UTC
Created attachment 201533 [details]
410.93 update

Note that this patch includes glvnd libs, although it would be much better to package them separately from nvidia-driver. How should we proceed?
Comment 3 Alexey Dokuchaev freebsd_committer 2019-01-30 14:59:28 UTC
(In reply to Alex S from comment #2)
> How should we proceed?
I'm currently working on the update, given a chance to test it on RXT 2080, weighting different approaches; these new 410 series had indeed brought many disruptions to the driver.  Recent Linux-related updates had further complicated the logic, so I'm also considering offloading Linux-related bits to a separate port before updating the driver itself.  Sorry for the delay. :-(
Comment 4 Alex S 2019-01-30 16:36:25 UTC
I should probably cc dumbbell regarding glvnd (per https://devtalk.nvidia.com/default/topic/1035923/freebsd/do-freebsd-drivers-have-libglvnd-support-/).


(In reply to Alexey Dokuchaev from comment #3)

By the way, I'm also interested in your opinion on my (rather crude) glibc shim: https://forums.freebsd.org/threads/unreal-engine-4-20-4-21.66785/#post-397179. Currently, it is pretty much the only way get Vulkan (and 32-bit OpenGL with 410+ driver) working. I'm not quite sure what should I do with that thing.
Comment 5 Charlie Li 2019-02-23 05:55:48 UTC
libglvnd is indeed supported on FreeBSD:
https://github.com/NVIDIA/libglvnd/releases/tag/v1.1.0

Thinking about creating a port of this as a test.
Comment 6 Austin Shafer 2019-04-18 18:46:56 UTC
Created attachment 203770 [details]
[new port] graphics/libglvnd-1.1.1

Hi all,

The most recent version of the nvidia driver is now 418.56 and I'd love to see the port catch up. I know that the libglvnd changes have complicated supporting the 410* drivers, so I took a crack at creating a new port for it:

QA Performed:
portlint -a  : "looks fine."
poudriere (amd64, i386) : OK
libglvnd tests (make check) : OK 
    (all passing, but needed to modify tests/testglxmcthreads.sh to use libpthread.so instead of libpthread.so.0. Will file an issue with libglvnd to fix this)

QUESTIONS:
libEGL/libGL/libGLES libs were changed to lib*-GLVND.so to prevent conflicts with mesa-libs. I assume this is fine since the nvidia-driver port does a similar thing. Should they be changed to lib*-NVIDIA.so to keep consistent with nvidia-driver?

I also have myself as maintainer in the patch. I'm happy to maintain it if no one else wants to.

I hope this is useful and I'm more than happy to take a shot at fixing up nvidia-driver if you would like me to. Please let me know if there is anything I need to change.
Comment 7 Alex S 2019-04-18 19:24:08 UTC
> libEGL/libGL/libGLES libs were changed to lib*-GLVND.so to prevent conflicts with mesa-libs. I assume this is fine since the nvidia-driver port does a similar thing.

Looks like I didn't explain myself clearly. The whole point of libglvnd is to provide seamless switching between Mesa and Nvidia OpenGL implementations, which is mostly useful for Optimus laptops. That, however, requires compiling Mesa with whatever necessary settings which would presumably make Mesa depend on libglvnd by default (I don't use Mesa drivers, so no idea) and that is the bit that necessitates a separate libglvnd port.
Comment 8 Austin Shafer 2019-04-18 20:18:45 UTC
(In reply to Alex S from comment #7)

Ah that makes more sense. I'm not very knowledgable on mesa either, last I heard libglvnd support wasn't stable. I had misunderstood and thought the intention was to just replace the libs currently installed by nvidia-driver with the libglvnd ones. It would pretty much defeat the purpose of libglvnd but would let us update nvidia-driver without changing mesa to use libglvnd.
Comment 9 Schaich, Alonso 2019-04-20 13:29:56 UTC
Hi

The driver with the initial patch (410.93 update) fails to provide opengl over here.

Xorg.log contains these:

> [  1265.696] (EE) NVIDIA: Failed to load module "glxserver_nvidia" (module does not exist, 0)
> [  1265.696] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
> [  1265.696] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
> [  1265.696] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
> [  1265.696] (EE) NVIDIA(0):     you continue to encounter problems, Please try
> [  1265.696] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.
Comment 10 Alex S 2019-04-20 18:55:39 UTC
Created attachment 203837 [details]
418.56 update

(In reply to Schaich, Alonso from comment #9)

> The driver with the initial patch (410.93 update) fails to provide opengl
Fixed.
Comment 11 amvandemore 2019-05-10 01:37:56 UTC
This patch set works for me with a 2070. 

[    25.411] (II) NVIDIA GLX Module  418.56  Fri Mar 15 12:31:45 CDT 2019
[    26.303] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[    26.303] (--) NVIDIA(0):     DFP-0
[    26.303] (--) NVIDIA(0):     DFP-1
[    26.303] (--) NVIDIA(0):     DFP-2
[    26.303] (--) NVIDIA(0):     DFP-3 (boot)
[    26.303] (--) NVIDIA(0):     DFP-4
[    26.303] (--) NVIDIA(0):     DFP-5
[    26.304] (II) NVIDIA(0): NVIDIA GPU GeForce RTX 2070 (TU106-B) at PCI:1:0:0 (GPU-0)
[    26.304] (--) NVIDIA(0): Memory: 8388608 kBytes
[    26.304] (--) NVIDIA(0): VideoBIOS: 90.06.2d.00.c9
[    26.304] (II) NVIDIA(0): Detected PCI Express Link width: 16X
Comment 12 Alex S 2019-05-18 06:45:18 UTC
Created attachment 204442 [details]
430.14 update
Comment 13 amvandemore 2019-06-13 21:35:43 UTC
Updated patch doesn't apply for me.  Manually applying also resulted in failure.
Comment 14 Alex S 2019-06-14 01:47:03 UTC
(In reply to amvandemore from comment #13)

That's a really unflattering choice of words. There have been changes to port in the meantime, so yes, the patch doesn't apply after revision 503722.
Comment 15 Alex S 2019-06-14 02:16:38 UTC
Created attachment 205050 [details]
430.26 update
Comment 16 Tomoaki AOKI 2019-06-16 06:10:29 UTC
Created attachment 205098 [details]
430.26 update (with 390.87 to 390.116)

390 branch is now 390.116 until Feb.22.
Updated related parts.
As it runs fine without updating ports (just setting DISTVERSION=390.116 -DNO_CHECKSUM) for me, only updated version and distinfo.
stable/12, amd64.

I cannot test 430.26 as I don't have devices supported.
Legacy 390 branch is the latest for me. :-(
Comment 17 Alex S 2019-06-25 16:24:25 UTC
(In reply to Alexey Dokuchaev from comment #3)

> weighting different approaches

So, have you decided anything?
Comment 18 Alex S 2019-06-25 17:12:45 UTC
(In reply to Alex S from comment #17)

For the record, I don't remember adding maintainer-feedback flag, empty or otherwise.
Comment 19 Alexey Dokuchaev freebsd_committer 2019-06-25 18:15:56 UTC
Sorry, I got distracted by the big OCaml update which took longer than originally anticipated.  I'll switch my attention to nVidia driver ports(s) later this week.
Comment 20 Schaich, Alonso 2019-06-28 19:29:30 UTC
*** Bug 236768 has been marked as a duplicate of this bug. ***
Comment 21 robs0419 2019-06-29 20:26:06 UTC
Hello.


I am getting EQ overflow errors in my Xorg log. These correspond to my system freezing-up (or at least my mouse and keyboard stop working). The mouse and keyboard work for about 10 seconds before this happens.


    I'm Running FreeBSD 12.0 with generic kernel (also tried custom, without option VESA). I have switched off my on-board graphics in my AsRock AB350 bios. My primary display is on an nVidia 1660Ti with HDMI.

    The 430 driver was installed from a patched version of nvidia-driver in the /usr/ports tree. The patch was taken from this bug report page: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=232645

    I'm running nvidia_modeset and nvidia kernel modules (specified in /boot/loader.conf) and dbus and hald (specified in rc.conf). Also, I am using the xorg.conf generated automatically by nvidia-xconfig (430). I'm using vga textmode (in loader.conf) but it doesn't make any difference with/without.


Can someone offer advice on how to resolve this, please? I would be grateful.


Thanks,


Rob.


Various configs / logs can be viewed in this reddit post (where a forum member recommended posting my request for help here):

https://www.reddit.com/r/freebsd/comments/c6ay1n/eq_overflow_freebsd_120_nvidia_430_driver_ryzen/
Comment 22 Alex S 2019-06-29 20:42:25 UTC
(In reply to robs0419 from comment #21)

Would you mind posting that on https://forums.freebsd.org/?
Comment 24 robs0419 2019-06-29 20:57:34 UTC
(In reply to robs0419 from comment #23)

Awaiting approval to be shown publicly...