Została wydana eksperymentalna wersja otwartej implementacji Win32 API — Wine 9.5. Od wydania wersji 9.4 zamknięto 27 raportów o błędach i wprowadzono 264 zmiany.
Najważniejsze zmiany:
- W kompilatorze języka opisu interfejsu WIDL (Web Interface Definition Language) dodano początkowe wsparcie dla generowania biblioteki typów (TypeLib) w starym formacie (SLTG).
Dla ABI ARM64EC (ARM64 Emulation Compatible) wprowadzono obsługę wyjątków. ARM64EC jest stosowane w celu uproszczenia portowania aplikacji pierwotnie napisanych dla architektury x86_64 na systemy ARM64, poprzez umożliwienie uruchamiania w środowisku ARM64 poszczególnych modułów z kodem x86_64 za pomocą emulatora.
- Ulepszono wsparcie dla kompaktowych zrzutów pamięci w formacie Minidump.
- Zamknięto raporty o błędach związane z działaniem gier: Elder Scrolls Online, RE:D Cherish, Fallout Tactics, Tomb Raider 3, Rocket League, ArmA: Cold War Assault, Final Fantasy XI Online, Far Cry 3.
- Zamknięto raporty o błędach związane z działaniem aplikacji: WhatsApp Desktop, Smartflix, Squirrel Installers, OneDrive, CDBurnerXP, Overwatch, RadiAnt DICOM Viewer, Grand Theft Auto V Rockstar Editor, YI Home, Alune Klient 14.03.2022. WeCom 4.x, Totem Arts, Acrom Controller, QQ 8.9.6.
Jednocześnie wydano wersję projektu Wine Staging 9.5, która oferuje rozszerzone kompilacje Wine, zawierające nie w pełni gotowe lub ryzykowne poprawki, które nie są jeszcze gotowe do włączenia do głównego branża Wine. W porównaniu do Wine w Wine Staging dostępnych jest 435 dodatkowych poprawek. W nowym wydaniu Wine Staging zsynchronizowano bazę kodu z Wine 9.5 i vkd3d, usunięto poprawki ws2_32-TransmitFile oraz ntdll-Threading, przeniesiono do głównego składu Wine poprawki do shell32 (rozwiązano problemy z SHFileOperation(FO_MOVE) i wyszukiwaniem w rejestrze), wined3d (włączono tekstury bindless dla shaderów GLSL) oraz user32 (dodano stub LoadKeyboardLayoutEx).
Firma Valve opublikowała 16 wersję beta pakietu Proton 9.0, opartego na bazie kodu projektu Wine, mającego na celu uruchamianie aplikacji gier w systemie Linux, stworzonych dla systemu Windows i przedstawionych w katalogu Steam. Proton umożliwia bezpośrednie uruchamianie w kliencie Steam dla Linux aplikacji gier dostarczanych tylko dla systemu Windows. Pakiet zawiera implementację DirectX 9/10/11 (opartą na pakiecie DXVK) oraz DirectX 12 (opartą na vkd3d-proton), działające poprzez translację wywołań DirectX do API Vulkan, zapewnia ulepszoną obsługę kontrolerów gier oraz możliwość korzystania z trybu pełnoekranowego niezależnie od wspieranych w grach rozdzielczości ekranu. W celu zwiększenia wydajności gier wielowątkowych wspierane są mechanizmy „esync” (Eventfd Synchronization) oraz „futex/fsync”.
W nowym wydaniu Proton dokonano synchronizacji z wydaniem Wine 9.0. Z Proton do upstream przeniesione zostały nagromadzone specyficzne łatki, które teraz wchodzą do głównego składu Wine. Do wersji 2.3 zaktualizowano warstwę DXVK, która translatuje wywołania do API Vulkan. VKD3D-Proton, odgałęzienie od vkd3d stworzone przez Valve w celu poprawy wsparcia dla Direct3D 12 w Proton, zaktualizowano do wersji 2.11.1. Pakiet Dxvk-nvapi z implementacją biblioteki NVAPI nad DXVK zaktualizowano do wersji 0.6.4. Rozwiązano problemy w wielu grach. W porównaniu do poprzedniej wersji beta dodano wsparcie dla Steamworks SDK 1.59 i usunięto problemy w grach Command & Conquer Red Alert, Carmageddon: Max Damage, Risk of Rain 2, DayZ, Last Of Us Part I oraz Trove.
Ponadto wydano projekt GE-Proton 9-2, w ramach którego entuzjaści tworzą niezależne od firmy Valve rozszerzone wersje pakietu do uruchamiania aplikacji Windows w Proton, różniące się nowszą wersją Wine, rozwinięciem FFmpeg w FAudio oraz włączeniem dodatkowych łat, które rozwiązują problemy w różnych aplikacjach gier. W Proton GE 9-2 przeniesiono zmiany z nowych baz kodowych wine 9, proton 9, steamclient, vkd3d-proton, dxvk-nvapi oraz dxvk. Rozwiązano problem z odtwarzaniem plików w formacie wmv.
Źródło: opennet.ru
