Nowe wersje Wine 9.2 i Winlator 5.0. Dla jądra Linux zaproponowano sterownik ntsync

Zostało wydanie próbne otwartej implementacji Win32 API — Wine 9.2. Od wydania 9.1 zamknięto 14 raportów o błędach i wprowadzono 213 zmian.

Najważniejsze zmiany:

  • Silnik Wine Mono z realizacją platformy .NET zaktualizowano do wydania 9.0.0.
  • Poprawiona obsługa systemowego zasobnika.
  • Na platformach ARM poprawiono obsługę wyjątków.
  • Podczas budowy zastosowano makro YEAR2038 do użycia 64-bitowego typu time_t.
  • W sterowniku winewayland.drv poprawiono obsługę kursora.
  • Zamknięto raporty o błędach związane z działaniem gier: Elite Dangerous, Epic Games Launcher 15.21.0, LANCommander, Kodu.
  • Zamknięto raporty o błędach związane z działaniem aplikacji: Quick3270 5.21, digikam, Dolphin Emulator, Windows Sysinternals Process Explorer 17.05, Microsoft Webview 2 installer.

Ponadto opublikowano wydanie aplikacji Android Winlator 5.0, która zapewnia przystawkę nad Wine i emulatorami Box86/Box64 do uruchamiania aplikacji Windows na platformie Android. Winlator uruchamia środowiska Linux oparte na Ubuntu z Mesa3D, DXVK, D8VK i CNC DDraw, w którym przy użyciu emulatora i Wine na urządzeniach ARM z Androidem uruchamiane są aplikacje Windows skompilowane dla architektury x86. W nowej wersji poprawiono działanie menedżera zadań, zwiększono wydajność, dodano wsparcie dla zmiany motywów i poprawiono kompatybilność z XInput.

Można również zauważyć publikację w liście dyskusyjnej jądra Linux sterownika ntsync, który implementuje urządzenie znakowe /dev/ntsync oraz zestaw prymitywów synchronizacji stosowanych w jądrze Windows NT. Implementacja takich prymitywów na poziomie jądra pozwala znacznie zwiększyć wydajność gier Windows uruchamianych za pomocą Wine. Na przykład podczas korzystania ze sterownika ntsync w porównaniu do implementacji prymitywów synchronizacji NT w przestrzeni użytkownika maksymalny FPS w grze Dirt 3 wzrósł o 678%, w grze Resident Evil 2 — o 196%, Tiny Tina’s Wonderlands — o 177%, Lara Croft: Temple of Osiris — o 131%, Call of Juarez — o 125%, The Crew — o 96%, Forza Horizon 5 — o 48%, Anger Foot — o 43%.

Znaczący wzrost wydajności osiągany jest dzięki eliminacji narzutów związanych z używaniem RPC w przestrzeni użytkownika. Utworzenie oddzielnego sterownika dla jądra Linux tłumaczy się problemami z poprawną implementacją API synchronizacji NT na istniejących prymitywach w jądrze, na przykład operacje NtPulseEvent() oraz tryb 'wait-for-all' w NtWaitForMultipleObjects() wymagają bezpośredniego zarządzania kolejką oczekiwania. Łatki z sterownikiem ntsync są na razie w statusie RFC, czyli zostały wystawione do dyskusji i przeglądu przez społeczność, ale na razie nie ubiegają się o przyjęcie do głównego składu jądra Linux.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster