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,
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. :-( 
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:"
"The 367.xx driver supports the following set of GPUs:"
on  and  for detailed affected GPUs.
Also, users of GRID K340, GRID K1 and GRID K2 needs nvidia-driver-367,
but there's no legacy branch upstream.
Created attachment 201533 [details]
Note that this patch includes glvnd libs, although it would be much better to package them separately from nvidia-driver. How should we proceed?
(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. :-(
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.
libglvnd is indeed supported on FreeBSD:
Thinking about creating a port of this as a test.
Created attachment 203770 [details]
[new port] graphics/libglvnd-1.1.1
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:
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)
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.
> 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.
(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.
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.
Created attachment 203837 [details]
(In reply to Schaich, Alonso from comment #9)
> The driver with the initial patch (410.93 update) fails to provide opengl
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
Created attachment 204442 [details]
Updated patch doesn't apply for me. Manually applying also resulted in failure.
(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.
Created attachment 205050 [details]
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.
I cannot test 430.26 as I don't have devices supported.
Legacy 390 branch is the latest for me. :-(
(In reply to Alexey Dokuchaev from comment #3)
> weighting different approaches
So, have you decided anything?
(In reply to Alex S from comment #17)
For the record, I don't remember adding maintainer-feedback flag, empty or otherwise.
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.
*** Bug 236768 has been marked as a duplicate of this bug. ***
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.
Various configs / logs can be viewed in this reddit post (where a forum member recommended posting my request for help here):
(In reply to robs0419 from comment #21)
Would you mind posting that on https://forums.freebsd.org/?
I have done so:
(In reply to robs0419 from comment #23)
Awaiting approval to be shown publicly...
I confirm 430.26 update patches work for me (GTX850M), however 430.34 is already out. I'm working on an optimus port and I need these updates to be merged before I can make any PR.
(In reply to Alexey Dokuchaev from comment #19)
Alexey, if you keep being distracted, would you at least then consider reviewing and possibly merging attached patch before your planned Linux bits refactor?
What is needed for this to move forward?
Is the 430.26 update the latest and is that patch ready to go in. If alexy is to busy this is past the two week window for maintainer timeout with no real large objections or issues with what people want to or how they want to do it.
This has been open for 9 months over. So even if more works is needed as long as it doesn't hurt anyone I propose we submit the 432.26/390.116 patch.
The 430.26 is *not* the latest driver any more. nVidia released two further versions for the 430 series and one for the 390 one.
The patch also doesn't apply to the current ports: applying it to an old ports checkout and copy-pasting the resulted x11/nvidia-driver into a new ports checkout results in a usable driver though.
The 430.26 drivers work over here with my quadro k2000 and p620 cards. They massively improve KDE usability over the ports version of the driver even on the 5 year old k2000, as the move to wayland we did last year exposed lots of regressions to nvidia users, most of which are handled by the 400 series updates. We also have FreeBSD-12 now which is not (officially) supported by the ports version of the driver.
... And because noone else mentioned it before: the attached driver ports also address CVE‑2018‑6260, see https://nvidia.custhelp.com/app/answers/detail/a_id/4772 for details.
Created attachment 206228 [details]
(In reply to Schaich, Alonso from comment #29)
> The 430.26 is *not* the latest driver any more.
> nVidia released two further versions for the 430 series
> and one for the 390 one.
I don't see the point in updating the patch for every minor driver version, hashes aren't the interesting part there.
> The patch also doesn't apply to the current ports
Oh, but it does. At least with git.
Thanks Alex for the quick patch to update. I'm trying to ping some other port committers to get this in as a maintainer timeout. If I have time I might also try to add the latest version of 390 to your patch like Tomoaki AOKI did above or if you have time to do this also great.
There are several things needed to be done here before actually bumping the version. I've accumulated some technical debt here, admittedly, but would appreciate if you guys could give me several more days to finally start moving this forward, thank you.
Created attachment 206272 [details]
430.40 update (with 390.87 to 390.129)
Updade 390 bits for 430.40 update patch to latest 390.129.
Not tested 430.40 bits as I currently don't have hardwares to try with.
Created attachment 206516 [details]
430.40 update v2
Forgot about libnvidia-cbl.so.
Ok, where are we now?