Firma NVIDIA opublikowała stabilne wydanie nowego gałęzi własnościowego sterownika NVIDIA 570.124. Sterownik jest dostępny dla Linux (ARM64, x86_64), FreeBSD (x86_64) i Solaris (x86_64). NVIDIA 570.x stała się dziewiątą stabilną gałęzią po otwarciu przez firmę NVIDIA komponentów działających na poziomie jądra. Źródłowe teksty 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, zostały umieszczone na GitHubie. Firmware i używane w przestrzeni użytkownika biblioteki, takie jak stosy CUDA, OpenGL i Vulkan, pozostają własnościowe.
Główne zmiany:
- Panel sterowania nvidia-settings został dostosowany do korzystania z biblioteki NVML zamiast NV-CONTROL do zarządzania częstotliwością GPU i prędkością obrotową wentylatora. Przejście na NVML umożliwiło działanie nvidia-settings w środowiskach opartych na protokole Wayland, gdzie nie można używać rozszerzenia X NV-CONTROL. Niektóre operacje, które wcześniej były dostępne dla użytkowników bez uprawnień, teraz będą wymagały podwyższonych uprawnień.
- Dodano wsparcie dla VRR (Variable Refresh Rate) w konfiguracjach z wieloma monitorami, w tym w środowiskach z Wayland. VRR pozwala na adaptacyjne zmienianie częstotliwości odświeżania monitora, zapewniając płynność i brak zacięć podczas gier i odtwarzania wideo.
- Wdrożono wsparcie dla rozszerzenia Vulkan VK_KHR_incremental_present.
- Dla GPU obsługujących programową zmianę częstotliwości, w konfiguratorze nvidia-settings domyślnie włączone są opcje podkręcania GPU (overclocking). Wcześniej, aby takie opcje były dostępne, wymagana była aktywacja w pliku konfiguracyjnym poprzez sekcję „Coolbits”.
- Dla GPU opartych na architekturze Ada i nowszych, dla powierzchni stworzonych za pomocą API DRM Dumb-Buffers (na przykład, gdy używany jest DRM fbdev), wyłączono tryb oszczędzania energii. Zmiana ta rozwiązała problemy z pojawianiem się czarnego ekranu podczas renderowania przez bufor wyjściowy na ekran (front-buffer) zamiast przełączania buforów przy użyciu KMS.
- Do modułu jądra nvidia-modeset dodano parametr ‚conceal_vrr_caps’ do zarządzania aktywacją możliwości niektórych ekranów, takich jak LMB (Ultra Low Motion Blur), które są niekompatybilne z VRR (Variable Refresh Rate).
- Do pliku /proc/driver/nvidia/gpus/*/power dodano informacje odzwierciedlające stan korzystania z technologii zwiększania wydajności Dynamic Boost.
- W backendzie NVIDIA GBM został włączony tryb zgodności z aplikacjami 32-bitowymi.
- Dodano plik /usr/share/nvidia/files.d/sandboxutils-filelist.json z listą wszystkich plików sterownika używanych w środowiskach opartych na izolowanych kontenerach, takich jak nvidia-container-toolkit i enroot.
- Dodano obsługę aktywacji trybu uśpienia suspend-then-hibernate przez systemd.
- Domyślnie ustawiono parametry „nvidia-drm modeset=1” i „nvidia-drm fbdev=1”, przy których moduł nvidia-drm (Direct Rendering Manager) zostanie użyty jako zamiennik systemowej konsoli opartej na framebufferze. Zmiana ta rozwiązuje problemy z nieprawidłowym wyjściem podczas korzystania z jednego ekranu przez sterowniki nvidia-drm i simpledrm.
- Wprowadzono domyślnie wyłączony eksperymentalny 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. Aby go włączyć, w module nvidia.ko można użyć parametru „NVreg_RegistryDwords=RMIntrLockingMode=1”.
- Zapewniono wsparcie dla kompilacji z nowymi wydaniami jądra Linux.
- Dodano profil do zwiększenia wydajności gry „Indiana Jones and the Great Circle.”
- Dodano profil rozwiązujący problemy z nieprawidłowym wyświetlaniem na ekranie w grach Assassin’s Creed Valhalla i Assassin’s Creed Mirage.
- Rozwiązano problemy z wydajnością i zawieszeniami, które pojawiały się podczas przewijania okien w systemach z Wayland w systemach z oprogramowaniem GSP.
- Usunięto błąd, który powodował awarię niektórych aplikacji używających API graficznego Vulkan podczas przetwarzania zdarzeń zmiany rozmiaru okna.
- Usunięto błąd, który prowadził do awarii niektórych aplikacji wielowątkowych korzystających z OpenGL w środowisku opartym na Xwayland. Na przykład problem ten występował w grze Civilization 6.
Źródło: opennet.ru
