Which driver to use long - short

Hi,

I am getting a bit confused on which driver needs to be used, what driver (long or short) lived branch has the newer branch with better support for OpenGL, Vulkan and new features?

Which driver is best for gaming (GTX1080) on GNU/Linux?
410.x or 396.x?

The 396 driver is out of support, you should use the 410 driver.

https://developer.nvidia.com/vulkan-driver
(Windows driver version 399.41 and Linux driver version 396.54.09 provide new features for Vulkan developers to test their upcoming Vulkan applications.)

What does that mean exactly?
I presume the 396.54.09 has newer features then the 410.x?
Also why are the DVXK community only using the 396.54.x driver and not the 410.x driver?

Use the latest available (even if it’s beta) driver.

NVIDIA beta drivers are quite stable and I’ve never had any major issues with them. Also their latest beta driver 415.xx contains all the released Vulkan extensions.

The 396.54.09 has support for VK_EXT_transform_feedback which is not yet implemented in the mainline driver. So if you’re really,really in need for that specific Vulkan extension which is only useful for DX gaming with wine and isn’t loved by the VK devs (http://jason-blog.jlekstrand.net/2018/10/transform-feedback-is-terrible-so-why.html), you’ll have to use that. But be aware that it doesn’t compile/work with the latest kernel version.

Thanks for the info guys.

The ‘best’ driver IMHO is always the latest hassle-free driver, meaning the highest driver a package for your distro exists for so you never break your system by having to manually install it from the .run driver, which isn’t recommended for inexperienced users.

Well if they start naming their drivers short lived and or long lived branches this makes it a bit confusing isnt it?

If you search for the information about these branches, then you will find info regarding that the long lived branch only receives fixes and not any new features, and that the short lived branch does receive new features and so forth.

Experience or inexperienced has nothing to do with the fact that the drivers and versions are confusing.
Also how difficult is it to understand that if your distro pushes an kernel update, that you need to rebuild the nvidia kernel driver against the newly installed kernel.

Also just to come back at your comment about the 396.54.09 driver not compiling against the latest kernel is wrong, I have 4.19.2 installed and that driver does compile… Just saying.

short lived and or long lived is mostly relevant for professional users on workstations/servers relying on feature stability and enterprise distros. For gamers, ‘newer is always better’, so long lived, short lived, beta is meaningless.
Using the .run installer, it’s not only about the kernel module (use the --dkms switch on applicable systems) but there’s also the problem when users are installing it over an already installed distro package, problems with overwriting mesa files, glvnd and more. This forum is full of threads where users broke their system using the .run installer up to the point of having to reinstall their system. Especially on Optimus notebooks.

Its not meaningless, my main question really was which one would have the latest and greatest features for OpenGL and Vulkan. As the information from nvidia states long lived only receives fixes. No new features.
But then again everyone states you need to install the new drivers (410.x) but those are not the newest code base. Those are the LTS (Long Term support/ Most stable) code branch drivers.
Do you kind of understand where I am going?

I agree, that inexperienced users should not do that, and yes they should just use the nvidia drivers from their package manager. But please stop thinking that every user that posts here is inexperienced.

I know where you’re going, but there simply is no simple, have-it-all answer. Those micro releases are developer previews, so for a more or less limited time frame, those might contain features that later drivers lack but at the same time lack features/bug fixes/HW support that later drivers have. Changelog for 410/415:

======== Release 415 Entries ========

    * Improved error reporting in eglSwapBuffers() by generating codes for
      some missing error types, and adding additional detail to the already
      existing ones.

    * Improved the appearance and functionality of the nvidia-settings
      control panel when it is resized to small sizes.

    * Updated the nvidia-settings control panel to prevent some icons from
      being displayed incorrectly while using some GTK+ themes.

    * Fixed a bug that could cause WINE to crash on recent OS releases.

    * Fixed a bug that could cause an X server crash when exiting Vulkan
      applications running on X servers with UBB enabled.

    * Fixed an X driver bug that caused the "NoEdidModes" token of the
      "ModeValidation" X configuration option to reject non-EDID modes
      whose timings matched EDID modes.

    * Changed the NvEncCreateBitstreamBuffer API call in the NvEncodeAPI
      library to return NV_ENC_ERR_UNIMPLEMENTED instead of NV_ENC_SUCCESS when
      the encoder instance is configured to run in motion estimation-only mode.
      As an indirect consequence of this change, users running the AppEncME
      sample application from the Video Codec SDK prior to SDK version 8.2.16
      will observe a segmentation fault due to bugs in the NvEncoder class. It
      is recommended that users download the latest version of the SDK, where
      these bugs have been fixed, from
      https://developer.nvidia.com/nvidia-video-codec-sdk.

    * Fixed an OpenGL driver bug that caused the upper bounds of
      floating-point viewports, specified through the ARB_viewport_array
      extension, to be clipped incorrectly.

    * Added a new X configuration option "HardDPMS" which
      is disabled by default, but can be enabled to put displays to sleep with
      modesets rather than VESA DPMS. This may fix some displays that fail to
      sleep when DPMS becomes active. "HardDPMS" will be enabled by default in a
      future release.

    * Raised the minimum supported X.Org xserver version to 1.5 (video driver
      ABI version 4).

    * Enabled the NVreg_EnableBacklightHandler kernel module option by default.

    * Removed the LinuxThreads version of the /usr/lib/libnvidia-tls.so library
      and replaced it with the NPTL one that was previously installed in
      /usr/lib/tls/. This fixes crashes on Debian systems when the
      /etc/ld.so.nohwcap file is present.

    * Updated nvidia-installer to allow the --no-cc-version-check option to
      disable the compiler version check when installing with DKMS.

    * Changed the minimum required Linux kernel version from 2.6.9 to 2.6.32.

    * Fixed an OpenGL bug where conditional rendering (NV_conditional_render)
      was incorrectly affecting mipmap generation.

======== Release 410 Entries ========

    * Fixed a bug that could cause the X server to hang on systems booted in
      legacy VGA mode when using a DisplayPort Multi-Stream link.

    * Added support for the following GPUs:
        * Quadro RTX 4000
        * Tesla T4

2018-10-16 version 410.66

    * Added a USB-C display connector type identifier, such that a display
      connected using Turing's USB-C connector will be named, e.g., "USB-C-0"
      rather than "DP-5". Scripts and configuration files that use the DP
      identifier for this connector will be affected.

    * Added support for the following GPUs:
        * Quadro RTX 5000
        * Quadro RTX 6000
        * GeForce RTX 2070

2018-09-19 version 410.57

    * Added a graphics API visual indicator.  It can be toggled through
      nvidia-settings' "OpenGL Settings" panel, the
      __GL_SHOW_GRAPHICS_OSD environment variable, or the
      GLShowGraphicsOSD application profile.  See the README for more
      information.

    * Added support for X11 RandR transformations on outputs where the NVIDIA X
      driver is used as a synchronized RandR 1.4 output source (i.e., "PRIME
      Sync").

    * Fixed a bug that caused OpenGL corruption on outputs where the NVIDIA X
      driver was used as an RandR 1.4 output source (i.e., "PRIME"), and the
      output sink required a software cursor.

    * Fixed an X driver RandR output source (i.e., "PRIME") bug that could cause
      a duplicate cursor to appear on such outputs.

    * Exposed EGL 1.5 in the EGL version string. This does not add
      any extra functionality to the EGL driver. All EGL 1.5 features
      were already supported through EGL 1.4 plus extensions.

    * Added support for the following GPUs:
        * GeForce RTX 2080 Ti
        * GeForce RTX 2080
        * Tesla V100-SXM2-16GB-LS
        * Tesla V100-PCIE-16GB-LS
        * Tesla V100-SXM2-32GB-LS
        * Tesla V100-SXM3-32GB

    * Added the OptiX ray tracing engine, libnvoptix.so.1, to the driver
      package.

      This library is loaded by the liboptix.so.* library bundled with
      applications that use the OptiX API.

    * Updated nvidia-installer to allow the --no-cc-version-check option to
      disable the compiler version check when installing with DKMS.

    * Added experimental support for VK_EXT_global_priority.

    * Removed support for the VK_NV_glsl_shader Vulkan extension.
      This extension was added before the Vulkan ecosystem had mature
      SPIR-V compilers and tools.  Now that the SPIR-V compilers and
      tools have advanced, Vulkan developers are encouraged to use SPIR-V
      instead of GLSL.

    * Fixed a bug that caused VDPAU-decoded H.265/HEVC content to have
      interlaced artifacts when shared with OpenGL through the
      GL_NV_vdpau_interop extension.

    * Implemented support for Vulkan real-time ray tracing extensions
      (VK_NV_raytracing). Two new libraries, libnvidia-rtcore.so and
      libnvidia-cbl.so, have been added to support the new functionality.
      These new libraries are needed by Vulkan at run-time to expose the
      new extension. If they are not found, Vulkan will continue to work
      without VK_NV_raytracing support.

    * Removed OpenGL header files from the installer package, which were
      deprecated and not installed by default since release 260.19.04, but
      could still be installed with the '--opengl-headers' option.
      If your distribution doesn't provide a package with headers, up-to-date
      headers can be found at these locations:
      https://www.khronos.org/registry/OpenGL/index_gl.php
      https://github.com/NVIDIA/libglvnd/tree/master/include/GL

Thanks, those do show new features added. This is exactly my point. Its confusing…

Bet you are using patched package from AUR: https://aur.archlinux.org/packages/nvidia-vulkan/
Official 396.54.09 installer doesn’t work with 4.19 kernel.

Actually nope I was using: https://raw.githubusercontent.com/pchome/dxvk-gentoo-overlay/master/x11-drivers/nvidia-drivers/nvidia-drivers-396.54.09.ebuild