Nyílt forráskódú GPU kernel modulok alapértelmezés szerint

kami911 képe

Az NVIDIA kiadta a GNU/Linux, FreeBSD és Solaris rendszerekhez készült NVIDIA 560.28.03-as zárt és opensource részekkel rendelkező, tulajdonosi, béta állapotú grafikus eszközvezérlő illesztőprogramját, amely számos új funkciót és fejlesztést tartalmaz.

Új funkciók és támogatások

Miután az Nvidia nyílt forráskódúvá tette illesztőprogramjai kernel moduljait az NVIDIA 560-as verzió számos újítást ígér, beleértve egy frissített nvidia-installert, amely alapértelmezés szerint támogatja a nyílt forráskódú GPU kernel modulokat az olyan NVIDIA GPU-k esetében, amelyek kompatibilisek mind a tulajdonosi, mind a nyílt kernel modulokkal. Ilyen GPU-k például a NVIDIA Turing, Ampere, Ada Lovelace, Blackwell, Grace Hopper és Hopper architektúrák.

Ezenkívül az új illesztőprogram támogatja az EGL_KHR_platform_x11 és az EGL_EXT_platform_xcb kiterjesztéseket Xwaylanden, továbbá egy PipeWire hátteret (backend) is bevezet az NvFBC számára, amely lehetővé teszi, hogy Wayland kompozitoroknál is működjön, amennyiben azok támogatják a képernyőmegosztást az XDG Desktop Portálon keresztül. Az NVIDIA 560-as verzió több egyidejű kliens támogatását is lehetővé teszi az NvFBC közvetlen rögzítés esetén.

Egyéb fejlesztések

Az NVIDIA 560 támogatja a DRM-KMS explicit szinkronizációt az IN_FENCE_FD beállítási tulajdonságon keresztül, valamint a VRR (változtatható frissítési ráta) támogatást Wayland rendszeren a Volta előtti GPU-knál, illetve laptopok esetében is, amelyek nyílt GPU kernel modulokat használnak. További újításként az illesztőprogram már képes jelenteni a Vulkan információkat az nvidia-settings vezérlőpult számára.

Az új verzióval a glXWaitVideoSyncSGI() függvény is optimalizálásra került, amely hatékonyabb működést biztosít, csökkentve a képkocka-akadozást (frame stutter) bizonyos KDE Plasma konfigurációkban, amikor a GSP offload aktív. Az illesztőprogram forráskódból történő fordításához mostantól szükségesek a Vulkan fejlécek is, emellett több hibajavítást is tartalmaz.

A nyílt forráskódra való átállás

Az NVIDIA 560-as grafikus illesztőprogram megjelenése egy fontos lépést jelent az NVIDIA számára, mivel ezzel teljesen átállnak a nyílt forráskódú GPU kernel modulok használatára a Linux alapú operációs rendszerekben. Az NVIDIA két évvel ezelőtt adta ki az első Linuxos illesztőprogramot nyílt forráskódú GPU kernel modulokkal, amelyek idővel felváltják a jelenlegi tulajdonosi, zárt forráskódú meghajtókat.

Ez idő alatt az NVIDIA nyílt kernel moduljai számos új funkciót kaptak, mint például a HMM (Heterogén Memóriakezelés), a bizalmas számítástechnika (confidential computing), és a Grace platformok koherens memóriaarchitektúrái, amelyek alkalmassá teszik őket a szélesebb körű felhasználásra.

Fontos megjegyezni, hogy nem minden NVIDIA GPU kompatibilis a nyílt forráskódú GPU kernel modulokkal. A jelenlegi ismeretek szerint a Turing, Ampere, Ada Lovelace és Hopper architektúrájú GPU-k támogatottak. A Maxwell, Pascal és Volta architektúrák azonban még nem kompatibilisek ezekkel a modulokkal, így ezeknél az NVIDIA a tulajdonosi illesztőprogram használatát javasolja. Ezzel szemben a legújabb platformok, mint például a Grace Hopper és Blackwell, kizárólag a nyílt forráskódú GPU kernel modulokkal használhatók.

Az NVIDIA célja, hogy az új R560 illesztőprogrammal minden Linux felhasználó számára biztosítsa a nyílt forráskódú NVIDIA grafikus élményt.

Az NVIDIA 560.28.03 illesztőprogram letöltése.

Teljes változáslista (angolul):

  • Updated nvidia-installer to select the NVIDIA open GPU kernel modules by default on systems with GPUs that support both the proprietary and open kernel modules.
  • Fixed a bug that caused GPU driver installation to fail when the system used alternate implementations of the 'tr' utility, such as from the busybox or toybox projects.
  • Fixed a bug that could cause the wrong image format to be used for render pass image clears in Vulkan applications when using a VkImage created with VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT. This could lead to rendering corruption, as described in issues such as:
    https://github.com/doitsujin/dxvk/issues/3961
  • Fixed multiple issues that could cause crashes or unexpected behaviors when re-creating an NvFBC capture session.
  • Added support for EGL_KHR_platform_x11 and EGL_EXT_platform_xcb on Xwayland.
  • Fixed a bug that could cause some displays to appear multiple times in the nvidia-settings display layout configuration page on systems with multiple GPUs.
  • Added a PipeWire backend to NvFBC that allows it to work on the Wayland compositors that support screencasting via XDG Desktop Portal. This new interface will be available through an upcoming Capture SDK release.
  • Added support for multiple concurrent clients to NvFBC direct capture.
  • Added reporting of Vulkan information to nvidia-settings control panel.
  • Compiling nvidia-settings from source now requires Vulkan header files to be available.
  • Support DRM-KMS explicit synchronization via the IN_FENCE_FD mode setting property.
  • Support VRR (Variable Refresh Rate) for Wayland on pre-Volta GPUs.
  • Added support for Variable Refresh Rate on notebooks with the open kernel modules.
  • Updated glXWaitVideoSyncSGI() to be more efficient. This reduces frame stutter in some KDE configurations with GSP offload.
  • Fixed a bug that caused OpenGL triple buffering to behave like double buffering.