Nvidia 510 driver incoming (beta)

Release highlights:

  • Fixed several issues which caused the supported-gpus.json file to contain incorrect product information.
  • Fixed a bug that caused the nvidia-settings control panel to report inaccurate ECC error counts, and completely prevented the reporting of aggregate ECC error counts. ECC error counts reported by nvidia-smi were not affected.
  • Added a GUI control for setting Image Sharpening values in the app profiles page of the nvidia-settings control panel.
  • Fixed a bug which caused Vulkan applications to hang when the __GL_THREADED_OPTIMIZATIONS environment variable was set to enable threaded optimizations in the NVIDIA driver.
  • Fixed a bug where calls to vkWaitForPresentKHR would fail with VK_TIMEOUT on Maxwell and Pascal GPUs.
  • Added support for the VK_EXT_depth_clip_control extension.
  • Added support for the VK_EXT_border_color_swizzle extension.
  • Added support for the VK_EXT_image_view_min_lod extension.
  • Fixed a bug in the Vulkan compiler where 64-bit atomics were partially broken.
  • Fixed a bug in the Vulkan driver where VK_NULL_HANDLE was not properly handled as input to VkRenderingFragmentShadingRateAttachmentInfoKHR.imageView.
  • Added support for the VK_KHR_dynamic_rendering extension.
  • Added support for the bufferDeviceAddressCaptureReplay Vulkan feature.
  • Optimized the Vulkan fullscreen presentation path for X11 and direct-to-display swapchains.
  • Added AV1 decode support to the NVIDIA VDPAU driver. See the VDPAU Support appendix in the README for supported AV1 decoder profiles.
  • Added support for the VK_KHR_format_feature_flags2 extension.
  • Added support for the VK_KHR_maintenance4 extension.
  • Fixed a bug in the Vulkan driver where the SPIR-V Centroid interpolation decoration was not ignored when used in conjunction with FragCoord.
  • Fixed a bug in the Vulkan driver where unreferenced descriptor bindings were sometimes not ignored properly.
  • Fixed a bug in the Vulkan driver where vkCmdBindDescriptorSets would not properly handle pDynamicOffsets for compute pipelines.
  • Added support for the VK_KHR_shader_integer_dot_product extension.
  • Added support for the VK_EXT_primitive_topology_list_restart extension.
  • Added support for the VK_EXT_load_store_op_none extension.
  • Fixed a bug which caused OpenGL and Vulkan applications to generate excessive traffic over dbus while attempting to communicate with nvidia-powerd, even though nvidia-powerd was not running.
  • Removed the runtime loader (rtld) sanity test from nvidia-installer. This test has been made largely obsolete by GLVND.
  • Updated nvidia-xconfig to add a BusID to the “Device” section by default on systems with both NVIDIA and non-NVIDIA GPUs. This behavior can be suppressed by using the --no-busid option.
  • Enabled GSP Firmware by default on NVIDIA T4, A100, A30, A40, A16, A2, and several other Tesla products. Please see the “GSP Firmware” chapter in the README for details.
  • Fixed a bug in the Vulkan driver where some Ray Tracing shaders would timeout, resulting in device loss.
  • Fixed a bug in the Vulkan driver where unused input attributes to a vertex shader would corrupt the interpolation qualifiers for the shader.
  • Fixed a bug in the Vulkan driver where individual components of barycentric inputs could not be read.
  • Added support for the VK_KHR_present_id extension.
  • Added support for the VK_KHR_present_wait extension.
  • Added support for the VK_KHR_shader_subgroup_uniform_control_flow extension.
  • Fixed a bug where VK_NVX_binary_import was advertised as supported on unsupported platforms. This caused calls to vkCreateDevice to fail if applications attempted to enable VK_NVX_binary_import on such platforms.
  • Added support for the GBM API. This adds the new symlink nvidia-drm_gbm.so pointing to the file libnvidia-allocator.so.VERSION to implement a GBM backend driver usable with the GBM loader from the Mesa project version 21.2 and above, as well as the files libnvidia-egl-gbm.so.1.1.0 and 15_nvidia_gbm.json, which implement EGL support for the GBM platform (EGL_KHR_platform_gbm).
  • Add indicator for Resizable BAR support on compatible systems.
  • Fixed a bug that could cause the X server to crash when starting a new server generation on PRIME configurations.
  • Removed support for NvIFROpenGL. This functionality was deprecated in the 470.xx driver release.
  • Removed libnvidia-cbl.so from the driver package. This functionality is now provided by other driver libraries.
  • Changed the minimum required Linux kernel version from 2.6.32 to 3.10.
  • Updated nvidia.ko to load even if no supported NVIDIA GPUs are present when an NVIDIA NVSwitch device is detected in the system. Previously, nvidia.ko would fail to load into the kernel if no supported GPUs were present.
8 Likes

Hopefully this fixes all of the issues in 495, and so that would explain why they have left so many bugs open. :crossed_fingers:

Looks like it includes a number of useful fixes but also some regressions. Great. nvidia-powerd is back which might fix the dbus spam without requiring fake-powerd.

2 Likes

“Human readable changelog from user @birdie at Phoronix”

Primary changes:

  • Changed the minimum required Linux kernel version from 2.6.32 to 3.10.
  • Add indicator for Resizable BAR support on compatible systems.
  • Added a GUI control for setting Image Sharpening values in the app profiles page of the nvidia-settings control panel.
  • Added AV1 decode support to the NVIDIA VDPAU driver. See the VDPAU Support appendix in the README for supported AV1 decoder profiles.
  • Enabled GSP Firmware by default on NVIDIA T4, A100, A30, A40, A16, A2, and several other Tesla products. Please see the “GSP Firmware” chapter in the README for details.
  • Added support for the bufferDeviceAddressCaptureReplay Vulkan feature.
  • Added support for the GBM API. This adds the new symlink nvidia-drm_gbm.so pointing to the file libnvidia-allocator.so.VERSION to implement a GBM backend driver usable with the GBM loader from the Mesa project version 21.2 and above, as well as the files libnvidia-egl-gbm.so.1.1.0 and 15_nvidia_gbm.json, which implement EGL support for the GBM platform (EGL_KHR_platform_gbm).

New Vulkan extensions:

  • Added support for the VK_EXT_border_color_swizzle extension.
  • Added support for the VK_EXT_depth_clip_control extension.
  • Added support for the VK_EXT_image_view_min_lod extension.
  • Added support for the VK_EXT_load_store_op_none extension.
  • Added support for the VK_EXT_primitive_topology_list_restart extension.
  • Added support for the VK_KHR_dynamic_rendering extension.
  • Added support for the VK_KHR_format_feature_flags2 extension.
  • Added support for the VK_KHR_maintenance4 extension.
  • Added support for the VK_KHR_present_id extension.
  • Added support for the VK_KHR_present_wait extension.
  • Added support for the VK_KHR_shader_integer_dot_product extension.
  • Added support for the VK_KHR_shader_subgroup_uniform_control_flow extension.

Fixed bugs:

  • Fixed a bug in the Vulkan compiler where 64-bit atomics were partially broken.
  • Fixed a bug in the Vulkan driver where individual components of barycentric inputs could not be read.
  • Fixed a bug in the Vulkan driver where some Ray Tracing shaders would timeout, resulting in device loss.
  • Fixed a bug in the Vulkan driver where the SPIR-V Centroid interpolation decoration was not ignored when used in conjunction with FragCoord.
  • Fixed a bug in the Vulkan driver where unreferenced descriptor bindings were sometimes not ignored properly.
  • Fixed a bug in the Vulkan driver where unused input attributes to a vertex shader would corrupt the interpolation qualifiers for the shader.
  • Fixed a bug in the Vulkan driver where vkCmdBindDescriptorSets would not properly handle pDynamicOffsets for compute pipelines.
  • Fixed a bug in the Vulkan driver where VK_NULL_HANDLE was not properly handled as input to VkRenderingFragmentShadingRateAttachmentInfoKHR.im ageView.
  • Fixed a bug that caused the nvidia-settings control panel to report inaccurate ECC error counts, and completely prevented the reporting of aggregate ECC error counts. ECC error counts reported by nvidia-smi were not affected.
  • Fixed a bug that could cause the X server to crash when starting a new server generation on PRIME configurations.
  • Fixed a bug where calls to vkWaitForPresentKHR would fail with VK_TIMEOUT on Maxwell and Pascal GPUs.
  • Fixed a bug where VK_NVX_binary_import was advertised as supported on unsupported platforms. This caused calls to vkCreateDevice to fail if applications attempted to enable VK_NVX_binary_import on such platforms.
  • Fixed a bug which caused OpenGL and Vulkan applications to generate excessive traffic over dbus while attempting to communicate with nvidia-powerd, even though nvidia-powerd was not running.
  • Fixed a bug which caused Vulkan applications to hang when the __GL_THREADED_OPTIMIZATIONS environment variable was set to enable threaded optimizations in the NVIDIA driver.
  • Fixed several issues which caused the supported-gpus.json file to contain incorrect product information.

Other changes:

  • Optimized the Vulkan fullscreen presentation path for X11 and direct-to-display swapchains.
  • Removed libnvidia-cbl.so from the driver package. This functionality is now provided by other driver libraries.
  • Removed support for NvIFROpenGL. This functionality was deprecated in the 470.xx driver release.
  • Removed the runtime loader (rtld) sanity test from nvidia-installer. This test has been made largely obsolete by GLVND.
  • Updated nvidia.ko to load even if no supported NVIDIA GPUs are present when an NVIDIA NVSwitch device is detected in the system. Previously, nvidia.ko would fail to load into the kernel if no supported GPUs were present.
  • Updated nvidia-xconfig to add a BusID to the “Device” section by default on systems with both NVIDIA and non-NVIDIA GPUs. This behavior can be suppressed by using the --no-busid option.
1 Like

Yeah…it would be nice for them to write it explicitly fixed as bulletin number 0 :joy:

nvidia-beta 510 and related stuff is already in AUR…

Is it Free an Opet Source, yet?

2 Likes

5 Likes

Looks like dbus spam is fixed with 510.39.01. Whether it remains fixed is another question.

2 Likes

Also,They removed support for Kepler based GTX700 cards. But, not all 700 series, the 745/750/750ti are still supported as they are maxwell based. So, if you are using mainline nvidia drivers you might have to explicitly state/specify driver version now if you’re using a 700 series card; make sure you double check if you can upgrade drivers or not and don’t blindly just say yes!

Nvidia 510 beta is working here:

$ pacman -Qs nvidia
local/egl-wayland 2:1.1.9+r3+g582b2d3-1
    EGLStream-based Wayland external platform
local/libvdpau 1.4-1
    Nvidia VDPAU library
local/nvidia-beta-dkms 510.39.01-1
    NVIDIA driver sources for linux (beta version)
local/nvidia-installer-db 2.5.3-1
    Database for the script to setup nvidia drivers in EndeavourOS
local/nvidia-utils-beta 510.39.01-1
    NVIDIA drivers utilities (beta version)
local/nvtop 1.2.2-1
    An htop like monitoring tool for NVIDIA GPUs
1 Like

I thought that happened with 495xx?

2 Likes

If you install the beta does it automatically remove the current 495XX version? Then when it comes out of beta can we just update or we have to remove the AUR package?

It conflicts with the nvidia and nvidia-dkms, so in those cases it goes easily.
But if you have nvidia-lts, you have to remove that first.

I assume simple update is enough. But that remains to be seen.

1 Like

The beta release of 510 would send 495 to their production branch, correct? If so, how long does it tend to take before this occurs? Or does it need to clear ‘beta’ status to become the ‘new feature’ branch?

Basing this on their list here.

I’d guess some weeks?
But they may have other plans as well, since 510 supports only the latest Nvidia card afaik.

1 Like

Hmm, looks like you’re right. I just did a driver search on their page. Interesting how the few articles I read about the 510 said they’re killing kepler support with it. Well, it’s still good practice to check support for your card before upgrading drivers with nvidia! :grin:

1 Like
nvidia-driver-supported-branches
nvidia-installer-check

:wink: these commands should be used to check your card before any install action for the drivers

1 Like

This one is currently more reliable of these two. :wink:

But of course it doesn’t know about 510 series yet.

[scott@endeavourOS ~]$ nvidia-driver-supported-branches
NVIDIA card id: 1d10
Series 495: supported

Ah, looks like I’m all good then on my Nvidia MX150

[scott@endeavourOS ~]$ nvidia-installer-check
Sorry, no supported Nvidia driver found for your graphics card (id 5917).
[scott@endeavourOS ~]$ 

Uh, what the?!

Edit adding inxi -Fxxxza --no-host:

[scott@endeavourOS ~]$ inxi -Fxxxza --no-host
System:
  Kernel: 5.15.13-arch1-1 x86_64 bits: 64 compiler: gcc v: 11.1.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-linux
    root=UUID=2c6a8f39-939c-47a4-9d95-dabf69e6f5c6 rw nvidia-drm.modeset=1
    quiet loglevel=3 nowatchdog
  Desktop: GNOME 41.3 tk: GTK 3.24.31 wm: gnome-shell dm: GDM 41.0
    Distro: EndeavourOS base: Arch Linux
Machine:
  Type: Laptop System: Acer product: Aspire E5-576G v: V1.32
    serial: <superuser required>
  Mobo: KBL model: Ironman_SK v: V1.32 serial: <superuser required>
    UEFI: Insyde v: 1.32 date: 10/24/2017
Battery:
  ID-1: BAT1 charge: 14.7 Wh (100.0%) condition: 14.7/62.2 Wh (23.7%)
    volts: 12.7 min: 11.1 model: PANASONIC AS16B5J type: Li-ion
    serial: <filter> status: Full
CPU:
  Info: model: Intel Core i5-8250U bits: 64 type: MT MCP arch: Coffee Lake
    family: 6 model-id: 0x8E (142) stepping: 0xA (10) microcode: 0xEA
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
    L3: 6 MiB desc: 1x6 MiB
  Speed (MHz): avg: 3400 high: 3401 min/max: 400/3400 scaling:
    driver: intel_pstate governor: powersave cores: 1: 3400 2: 3400 3: 3401
    4: 3400 5: 3400 6: 3400 7: 3400 8: 3400 bogomips: 28808
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf
    mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
    IBRS_FW, STIBP: conditional, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel UHD Graphics 620 vendor: Acer Incorporated ALI driver: i915
    v: kernel bus-ID: 00:02.0 chip-ID: 8086:5917 class-ID: 0300
  Device-2: NVIDIA GP108M [GeForce MX150] vendor: Acer Incorporated ALI
    driver: nvidia v: 495.46 alternate: nouveau,nvidia_drm bus-ID: 01:00.0
    chip-ID: 10de:1d10 class-ID: 0302
  Device-3: Chicony HD WebCam type: USB driver: uvcvideo bus-ID: 1-7:4
    chip-ID: 04f2:b571 class-ID: 0e02
  Display: x11 server: X.Org 1.21.1.3 compositor: gnome-shell driver:
    loaded: modesetting,nvidia display-ID: :1 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x286mm (20.0x11.3")
    s-diag: 583mm (23")
  Monitor-1: eDP-1-1 res: 1920x1080 hz: 60 dpi: 142
    size: 344x194mm (13.5x7.6") diag: 395mm (15.5")
  OpenGL: renderer: NVIDIA GeForce MX150/PCIe/SSE2 v: 4.6.0 NVIDIA 495.46
    direct render: Yes
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Acer Incorporated ALI
    driver: snd_hda_intel v: kernel alternate: snd_soc_skl bus-ID: 00:1f.3
    chip-ID: 8086:9d71 class-ID: 0403
  Sound Server-1: ALSA v: k5.15.13-arch1-1 running: yes
  Sound Server-2: JACK v: 1.9.19 running: no
  Sound Server-3: PulseAudio v: 15.0 running: no
  Sound Server-4: PipeWire v: 0.3.43 running: yes
Network:
  Device-1: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi
    v: kernel bus-ID: 03:00.0 chip-ID: 8086:24fb class-ID: 0280
  IF: wlan0 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Acer Incorporated ALI driver: r8168 v: 8.049.02-NAPI modules: r8169
    port: 3000 bus-ID: 04:00.1 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp4s0f1 state: down mac: <filter>
Bluetooth:
  Device-1: Intel Wireless-AC 3168 Bluetooth type: USB driver: btusb v: 0.8
    bus-ID: 1-5:3 chip-ID: 8087:0aa7 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Drives:
  Local Storage: total: 238.47 GiB used: 148.63 GiB (62.3%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: SK Hynix model: HFS256G39TND-N210A
    size: 238.47 GiB block-size: physical: 4096 B logical: 512 B
    speed: 6.0 Gb/s type: SSD serial: <filter> rev: 1P10 scheme: GPT
Partition:
  ID-1: / raw-size: 237.97 GiB size: 233.17 GiB (97.99%)
    used: 148.63 GiB (63.7%) fs: ext4 dev: /dev/sda2 maj-min: 8:2
  ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
    used: 296 KiB (0.1%) fs: vfat dev: /dev/sda1 maj-min: 8:1
Swap:
  Kernel: swappiness: 10 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: file size: 512 MiB used: 0 KiB (0.0%) priority: -2
    file: /swapfile
Sensors:
  System Temperatures: cpu: 67.0 C pch: 60.5 C mobo: N/A gpu: nvidia
    temp: 58 C
  Fan Speeds (RPM): N/A
Info:
  Processes: 289 Uptime: 3h 21m wakeups: 5 Memory: 15.51 GiB
  used: 4.59 GiB (29.6%) Init: systemd v: 250 tool: systemctl Compilers:
  gcc: 11.1.0 Packages: pacman: 1327 lib: 303 flatpak: 0 Shell: Bash
  v: 5.1.16 running-in: tilix inxi: 3.3.11
[scott@endeavourOS ~]$ 

Any thoughts? Is this a false positive or something? Currently using the v495 Nvidia drivers, no issues.

Just installed the 5.16 kernel so I see how that goes first on my Nvidia!

1 Like