Firma NVIDIA opublikowała wydanie własnościowego sterownika NVIDIA 580.76.05 (pierwsze stabilne wydanie nowej gałęzi 580.76). Sterownik jest dostępny dla Linux (ARM64, x86_64), FreeBSD (x86_64) i Solaris (x86_64). NVIDIA 580.x stała się jedenastą stabilną gałęzią po otwarciu przez firmę NVIDIA komponentów działających na poziomie jądra. Źródła modułów jądra nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko i nvidia-uvm.ko (Unified Video Memory) z nowej gałęzi NVIDIA, a także używane w nich wspólne komponenty, niezwiązane z systemem operacyjnym, są umieszczone na GitHubie. Firmware i biblioteki używane w przestrzeni użytkownika, takie jak stosy CUDA, OpenGL i Vulkan, pozostają własnościowe.
Główne zmiany:
- Zaktualizowane komponenty egl-x11 1.0.3 i egl-wayland 1.1.20.
- Do parametru MetaMode dodano atrybut „OutputBitsPerComponent”, który pozwala zarządzać liczbą bitów dla każdego komponentu koloru przesyłanego przez port wyświetlacza.
- Rozwiązano problemy z zawieszaniem się i awaryjnym zamykaniem aplikacji korzystających z interfejsu API Vulkan. Między innymi naprawiono awaryjne zamykanie aplikacji GTK 4 korzystających z backendu opartego na Vulkan w środowiskach Wayland, a także awaryjne zamykanie llama.cpp przy użyciu Vulkan.
- Dodano wsparcie dla protokołu Wayland fifo-v1, realizującego mechanizm FIFO (pierwszy przyszedł — pierwszy wyszedł) przetwarzania kolejki aktualizacji zawartości wyświetlanej powierzchni. Z praktycznego punktu widzenia protokół pozwala na użycie oczekiwania na zakończenie odchylania pionowego (vblank) zamiast wywołań callback przy każdej gotowości do wyświetlenia nowej klatki, co rozwiązuje problem z wysokim obciążeniem GPU przy użyciu VSync.
- Domyślnie włączony jest parametr RMIntrLockingMode, aktywujący tryb przetwarzania przerwań kontrolera wyświetlacza z minimalnymi opóźnieniami. Tryb ten jest przydatny do redukcji zawieszeń w systemach wirtualnej rzeczywistości w warunkach dużego obciążenia systemu.
- Dodano eksperymentalny tryb do skrócenia czasu procesora poświęcanego na przetwarzanie przerwań na ekranach z niskimi opóźnieniami. Aby go włączyć w module nvidia.ko, można użyć parametru „NVreg_RegistryDwords==RmEnableAggressiveVblank=1”.
- Rozwiązano problem z renderowaniem pustego ekranu podczas uruchamiania aplikacji GXL korzystających z pojedynczej buforowania pod kontrolą Xwayland.
- Usunięto błąd, który prowadził do zwiększonego zużycia pamięci w aplikacjach korzystających z X11 OpenGL i Vulkan po wybudzeniu z trybu uśpienia.
- Usunięto awarie zakończenia 32-bitowych aplikacji na systemach z nowymi wersjami glibc.
Źródło: opennet.ru
