Nvidia 450 driver looks very promising

Nvidia 450.51 driver brings many new features and bugfixes

Owners of laptops with their HDMI wired to Nvidia should be happy now as Reverse-Prime has been introduced in 450.51. Along with a quite long list of other goodies, changelog has the following:

  • Added support for displays connected to NVIDIA GPUs to act as PRIME display offload sinks, also known as "Reverse PRIME". See the chapter titled "Offloading Graphics Display with RandR 1.4" in the README for additional information.

As of now it's possible to build and install this driver using AUR's nvidia-beta-dkms PKGBUILD. I'm running it now but I can't test reverse Prime since my display is wired to Intel GPU.

3 Likes

Does Nvidia 450 have new or changed stuff that would benefit desktop GPU users like me?

Well why don't you look into the changelog yourself? I don't know what you would benefit from.

  • Added support for Vulkan direct-to-display on DisplayPort displays which are connected via DisplayPort Multi-Stream Transport (DP-MST).
  • Added a new documentation file, supported-gpus.json, which exposes a machine-readable list of supported GPUs and features.
  • Added an implementation of glNamedBufferPageCommitmentARB, which was missing from the NVIDIA driver's support for the GL_ARB_sparse_buffer extension.
  • Fixed a bug that could cause a KDE Plasma session to crash when running under Wayland.
  • Fixed a bug that could cause some Swap Group configurations to present at half of the display refresh rate.
  • Added a new Connector-N display connector name alias type, with a unique alias assigned to each physical display connector on a GPU. See the README for more information.
  • Fixed a bug that prevented X11 EGL displays from being reinitialized.
  • The 450 driver series is the last that supports NvFBC's NVFBC_CAPTURE_TO_HW_ENCODER capture interface, which has been deprecated since NVIDIA Capture SDK 6.0 released in 2017. Future NVIDIA drivers after the 450 series will return NVFBC_ERR_UNSUPPORTED if that capture interface is requested.
    The recommended way to encode captured frames with NVENC is by using the NVIDIA Video Codec SDK.
    See: https://developer.nvidia.com/nvidia-video-codec-sdk
  • Implemented support for NVIDIA NGX. A new library, libnvidia-ngx.so, has been added to support the new functionality. This new library is needed by applications which link against any of the following SDKs:

NVIDIA DLSS SDK
NVIDIA NGX SDK

  • Fixed a bug which caused Vulkan applications to leak file descriptors when destroying Vulkan instances.
  • Added a fallback presentation path for PRIME Render Offload configurations where the DRI3 and/or Present extension are unavailable.
  • Fixed a bug where vkCreateSampler would fail with no borderColor data, even though it wasn't needed.
  • Fixed a bug where vkUpdateDescriptorSetWithTemplate would ignore the stride parameter for some VkDescriptorType values.
  • Fixed a bug causing the Plasma desktop panel to freeze when compositing is disabled (https://bugs.kde.org/show_bug.cgi?id=353983)
  • Improved Vulkan device enumeration under an X.Org X server environment. See the "Known Issues" in the README for more information.
  • Fixed a visual glitch of Vulkan applications when they stop flipping due to a window change, such as when alt-tab is used to change window focus.
  • Fixed a bug where XGetImage requests would return stale data for flipping Vulkan applications. In particular, this fixes screen-scraping tools such as VNC and import.
  • Removed libnvidia-fatbinaryloader.so from the driver package. This functionality is now built into other driver libraries.
  • Extended the dynamic runtime power management support in the NVIDIA driver to shut off power to video memory under certain conditions.
    See the chapter titled "PCI-Express Runtime D3 (RTD3) Power Management" in the README for more information.
  • Added HEVC 10/12 bit "decode only" support to the NVIDIA VDPAU driver.
    Note that VDPAU's presentation pipeline and OpenGL-VDPAU interop does not support 10- and 12-bit video surfaces yet. See the "VDPAU Support" appendix in the README for supported HEVC decoder profiles.
  • Added support for Image Sharpening for OpenGL and Vulkan applications
  • Added new VdpYCbCrFormats VDP_YCBCR_FORMAT_Y_U_V_444_16, VDP_YCBCR_FORMAT_P010 and VDP_YCBCR_FORMAT_P016 for accessing 16-bit surfaces via VdpVideoSurfaceGetBitsYCbCr() and VdpVideoSurfacePutBitsYCbCr() in the NVIDIA VDPAU driver.
  • Added support to create 16-bit video surfaces in the NVIDIA VDPAU driver.
  • Modified nvidia-persistenced and libnvidia-ml (NVML) to use libtirpc for communication instead of relying on the deprecated glibc RPC implementation.
  • Enabled GPU screens by default on X.Org xserver version 1.20.7 and higher.
  • Fixed a bug where rendering in a separate user namespace (unshare -U) would show black window and produce Xid 13 errors.
  • Removed support for "IgnoreDisplayDevices" X configuration option.
  • Added support for PRIME Synchronization when using displays driven by the x86-video-amdgpu driver as PRIME display offload sinks.
  • Added support for displays connected to NVIDIA GPUs to act as PRIME display offload sinks, also known as "Reverse PRIME". See the chapter titled "Offloading Graphics Display with RandR 1.4" in the README for additional information.
  • Removed 'libGL.la' libtool archive from the install package.
2 Likes

I'm only interested looking at the changelog for the driver itself, not the SDK stuff. Apologies if my request bothered you a bit since I didn't have the time to look for it myself when I asked about it. And thanks for sharing them, by the way.

1 Like

No worries, I just came here to add that I'm yet to face any issue with this new driver and post the changelog :slight_smile:

Ping @dglt @michaldybczak -- you guys might want to test the Reverse Prime:

To use the NVIDIA driver as an RandR 1.4 output sink provider, also known as “Reverse PRIME”, the X server needs to be configured to use the “modesetting” driver for its primary screen and to use the NVIDIA driver for the other graphics device. This can be achieved by placing the following in /etc/X11/xorg.conf:

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "intel"
    Inactive "nvidia"
    Option "AllowNVIDIAGPUScreens"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "<BusID for Intel device here>"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection
1 Like

Forum kindly sponsored by