Mesa 26.1 obsługuje Vulkan 1.4 i przyspiesza grafikę w maszynach wirtualnych

Kluczowe punkty:
  • Pełne wsparcie dla nowego interfejsu graficznego Vulkan 1.4 w głównych sterownikach dostępnych na rynku: ANV, RADV, NVK, HoneyKrisp i Turnip.
  • Implementacja VirtIO-GPU w sterownikach Intel, umożliwiająca maszynom wirtualnym wysyłanie bezpośrednich poleceń do fizycznej karty graficznej.
  • Sterownik translatora Zink umożliwia sprzętowe przyspieszenie obsługi OpenGL ES 2.0 na urządzeniach PowerVR, które są wyłącznie kompatybilne z Vulkanem.
  • Sterownik Rusticl OpenCL wymaga teraz statycznie łączonej biblioteki standardowej C++, aby uniknąć konfliktów w czasie wykonywania.
  • VirGL nie jest już rozwijany i zostanie trwale usunięty z bazy kodu, jeśli nie znajdzie się nowy opiekun.

Tabela 3D, sterowniki Linux

Kilka dni temu zespół programistów za projektem Mesa dał mi znać poprzez ogłoszenie o dostępności wersja eksperymentalna 26.1.0, który stanowi referencyjną implementację open source dla interfejsów API graficznych OpenGL i Vulkan.

Ta wstępna aktualizacja Oznacza to ogromny krok naprzód dzięki zapewnieniu pełnej kompatybilności z Specyfikacja Vulkan 1.4 Wśród głównych kontrolerów dostępnych na rynku znajdują się kontrolery ANV (Intel), RADV (AMD), NVK (NVIDIA), HoneyKrisp (Apple) i Turnip (Qualcomm).

Oprócz aktualizacji protokołów, ta wersja radykalnie zmienia sposób interakcji środowisk wirtualnych ze sprzętem fizycznym i restrukturyzuje obsługę urządzeń o niskim poborze mocy. Dzięki wprowadzeniu akceleracji maszyn wirtualnych, strategicznej ekspansji OpenGL za pomocą translatorów takich jak Zink oraz zbliżającemu się usunięciu przestarzałych sterowników, takich jak VirGL, Mesa 26.1.0 nie tylko dodaje nowe funkcje, ale także oczyszcza bazę kodu, aby utorować drogę do przyszłej stabilnej wersji dla środowisk produkcyjnych.

Przyspieszenie grafiki w maszynach wirtualnych

jeden z najbardziej niezwykłych osiągnięć w tej odsłonie jest Implementacja bezpośredniego dostępu do GPU dla maszyn wirtualnych poprzez protokół VirtIO-GPU, początkowo dostępne dla sterowników Intel (Iris, Crocus i ANV). Wcześniej, gdy maszyna wirtualna (system „gościa”) potrzebowała renderować grafikę 3D, musiała tłumaczyć i przesyłać polecenia graficzne przez wiele warstw emulacji i protokołów pośrednich, aż dotarły do ​​systemu operacyjnego hosta (zwanego „hostem”), co generowało znaczne opóźnienia i ograniczało wydajność wymagających gier lub aplikacji.

z Wdrożenie dostępu VirtIO-GPU eliminuje to wąskie gardło. System gościa może teraz pakować polecenia graficzne w swoim natywnym formacie i przesłać je bezpośrednio do fizycznej karty graficznej hosta, pomijanie emulacjiTechnologia ta radykalnie zmienia wydajność wirtualnych procesorów graficznych, umożliwiając granie w gry i uruchamianie wymagającego oprogramowania w maszynie wirtualnej z wydajnością niemal identyczną, jak w środowisku natywnym.

Wsparcie dla Technologia OpenGL rozszerza się również na architektury mobilne i energooszczędne. Kontroler Zink włączył obsługę OpenGL ES 2.0 przez sprzęt PowerVR, umożliwiając akcelerację sprzętową na nowoczesnych urządzeniach, które natywnie obsługują tylko API Vulkan. Dodatkowo sterownik Panfrost, zaprojektowany dla architektury ARM Mali, Asymiluje rozszerzenie GL_EXT_shader_image_load_store.Tymczasem sterowniki AMD i Broadcom dodają obsługę krytycznych rozszerzeń semaforów i cieniowania.

Upadek VirGL i nowoczesna standaryzacja

Wszystkie te modernizacje niosą ze sobą nieuchronną przestarzałość starszych podzespołów, które nie spełniają już obecnych standardów wydajności. Sterownik VirGL, który przez lata stanowił podstawę implementacji wirtualnych procesorów graficznych w emulatorze QEMU, Oficjalnie uznano go za pojazd bezobsługowy..

El Zespół Mesy ostrzega że, jeśli żaden zewnętrzny programista nie zaoferuje wzięcia odpowiedzialności za swój kod w krótkim okresie, VirGL zostanie trwale usunięty z głównej gałęzi. Decyzja ta podkreśla całkowite zaufanie projektu do nowego ekosystemu VirtIO-GPU i oznacza koniec ery wirtualizacji grafiki opartej na otwartym kodzie źródłowym, zmuszając branżę do przejścia na znacznie wydajniejsze i prostsze protokoły.

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w następujący link.

Jak zainstalować sterowniki Mesa w systemie Linux?

L Pakiety Mesa można znaleźć we wszystkich dystrybucjach Linuksa, więc jego instalację można przeprowadzić, pobierając i kompilując kod źródłowy (Wszystkie informacje na ten temat znajdziesz tutaji) lub w stosunkowo prosty sposób, który zależy od dostępności w oficjalnych kanałach dystrybucji Twojej firmy lub osób trzecich.

Dla tych, którzy są Użytkownicy Ubuntu, Debiana i pochodnych, W tych dystrybucjach Mesa zwykle znajduje się w oficjalnych repozytoriach. Aby zainstalować lub zaktualizować:

sudo apt update && sudo apt upgrade -y
sudo apt install mesa-utils mesa-va-drivers mesa-vulkan-driv
ers

Jeśli chcesz Najnowsza wersja z PPA (dla Ubuntu i pochodnych):

sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade -y

W przypadku tych, którzy są użytkownikami Arch Linux i pochodne, Instalujemy je za pomocą następującego polecenia:

sudo pacman -S mesa mesa-utils mesa-demos mesa-libgl lib32-mesa lib32-mesa-libgl

Kimkolwiek są użytkownicy Fedory, powinieneś wiedzieć, że zaktualizowane pakiety są dostępne w ich repozytoriach i wystarczy, że uruchomisz:

sudo dnf install mesa-dri-drivers mesa-va-drivers mesa-vulkan-drivers

Jeśli chcesz mieć nowsze wersje, możesz skorzystać z repozytorium Mesa Copr:

sudo dnf copr enable grigorig/mesa-stable
sudo dnf update

Na koniec dla tych, którzy są Użytkownicy openSUSE, możesz zainstalować lub zaktualizować wpisując:

sudo zypper in mesa


Dodaj jako preferowane źródło