Nadchodzi Wine 6.0 z ponad 8300 zmianami i to są najważniejsze

Kilka dni temu zaprezentowano nową stabilną wersję Wine 6.0, wersja, która pojawiła się po roku rozwoju i 29 wersjach eksperymentalnych.

W tej nowej wersji wprowadzono ponad 8300 zmian a wśród głównych osiągnięć zawartych w dostawie możemy znaleźć plik Podstawowe moduły Wine w formacie PE, backend oparty na graficznym API Vulkan dla WineD3D, nowa implementacja konsoli tekstowej, wsparcie dla DirectShow i frameworka Media Foundation.

Wine potwierdził, że w pełni funkcjonuje 5049 (4869 rok temu) programów dla systemu Windows, 4227 (4136 rok temu) programów działa doskonale z dodatkowymi konfiguracjami i zewnętrznymi bibliotekami DLL. Programy 3703 mają drobne problemy operacyjne, które nie przeszkadzają w korzystaniu z głównych funkcji aplikacji.

Główne nowości Wine 6.0

W nowej wersji Wine 6.0 możemy to znaleźć podstawowe pliki DLLw tym NTDLL, KERNEL32, GDI32 i USER32, zostały przeniesione do formatu wykonywalnego PE (przenośny plik wykonywalny) zamiast ELF. Korzystanie z PE rozwiązuje problemy z obsługą różnych schematów ochrony przed kopiowaniem, które weryfikują tożsamość modułów systemowych na dysku iw pamięci.

poza tym proponuje się nowy mechanizm dołączania bibliotek uniksowych do modułów P.E w celu zorganizowania dostępu do bibliotek uniksowych z plików PE, gdy konieczne jest wywołanie funkcji, których nie można przetworzyć za pośrednictwem interfejsu API Win32. Dodatkowe biblioteki Unix są identyfikowane przez obecność pliku z rozszerzeniem „so” i nazwą modułu PE (na przykład ntdll.so dla ntdll.dll).

Z drugiej strony wiązanie modułów Winelib z libwine.so zepsuło się a ładowanie libwine.so zostało wyłączone w czasie wykonywania. Z powodu tej zmiany utracono kompatybilność z poprzednimi wersjami, czyli moduły stworzone dla Wine 6.0 nie będą mogły być ładowane w poprzednich wersjach Wine.

Warto również zauważyć, że zaimplementowano obsługę składania modułów PE z zapisywaniem informacji o debugowaniu w oddzielnym pliku, zmniejszając rozmiar instalowanych plików.

Do podsystemu grafiki dodano obsługę rysowania łuków, elips i zaokrąglonych prostokątów za pomocą interfejsu API Direct2D.

Sterownik Vulkan zapewnia obsługę specyfikacji Vulkan Graphics API 1.2.162. Pod warunkiem wygenerowania manifestu JSON i wpisu rejestru używanego przez oficjalny moduł ładujący Vulkan.

Eksperymentalny silnik renderujący został zaimplementowany w Direct3D dla WineD3D, które tłumaczy wywołania Direct3D 12 na graficzny interfejs API Vulkan. Silnik wymaga biblioteki libvkd3d-shader, która obsługuje tłumaczenie kodu bajtowego 4 i 5 modeli shaderów na reprezentację pośrednią SPIR-V.

Zaimplementowano nowe funkcje Direct3D 11, takie jak niezależne stany złączenia, łączenie wielu źródeł, maski dla MSAA (Multi-Sample Anti-Aliasing) i żądania dodatkowych funkcji.

W D3DX zaimplementowano interfejs ID3D12ShaderReflection i funkcje do uzyskiwania parametrów obrazu, takie jak 3DX10GetImageInfoFromMemory (), a także nowe obiekty i funkcje jądra NT, niezbędne do działania systemów przeciwdziałających oszustwom, które ładują sterowniki jądra.

Kolejną ważną zmianą jest wdrożenie Media Foundation, która została znacznie ulepszona, w którym początkowo obsługiwane były komponenty Media Session, Streaming Audio Renderer (SAR), Video Renderer, EVR mixer, Topology Loader i Media Engine.

Video Mixing Renderer dodaje obsługę trybów bez okien i bez renderowania, możliwość automatycznej zmiany rozmiaru wideo w celu dopasowania do okna, przyspieszoną sprzętowo konwersję przestrzeni kolorów oraz formatowanie szerokoekranowe wokół zawartości w celu uzyskania odpowiedniego współczynnika.

Z innych zmian które wyróżniają się:

  • Nowe funkcje zostały dodane do API Media Detector.
  • Dodano obsługę konwersji formatów wideo i audio w celu filtrowania łącza przez GStreamer.
  • Ulepszony procesor wideo (EVR) obsługuje miksowanie za pośrednictwem interfejsu API DXVA2.
  • Dodano pełną obsługę normalizacji ciągów Unicode.
  • Ulepszona obsługa tabel odwzorowań kodowania znaków w systemie Windows.
  • Wbudowana implementacja funkcji matematycznych została dodana do środowiska uruchomieniowego C na podstawie kodu z biblioteki Musl.
  • Kod do generowania liczb zmiennoprzecinkowych został przeprojektowany i usunięty z powiązania z funkcją systemową printf.
  • Usunięto obsługę niedziałającej 32-bitowej architektury PowerPC.
  • Dodano obsługę obsługi wyjątków i rozwijania stosu w 32-bitowych i 64-bitowych systemach ARM.

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz skonsultować się poniższy link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.