r   e   k   l   a   m   a
reklama

Wine 3.0 już jest: nowe gry z Windowsa dziś ruszą na Linuksie, a kiedyś i na Androidzie

Strona główna Aktualności

O autorze

Hodowca maszyn wirtualnych i psów, poza tym stary linuksiarz, bonvivant i śmieszek. W 2012 roku napisał na DP o algorytmie haszowania Keccak i wciąż pamięta, jak on działa.

Miało być do końca 2017 roku, no cóż, nie udało się, ale oto już jest. Nowe stabilne Wine 3.0, najnowsze wydanie środowiska, pozwalającego uruchomić oprogramowanie pisane na Windows na systemach uniksopodobnych, przynosi ponad 6 tysięcy zmian i poprawek. Podczas gdy opiekunowie najpopularniejszych linuksowych dystrybucji już pracują nad przygotowaniem paczek, użytkownicy Archa czy Manjaro mogą wine sami sobie skompilować. Świeży skrypt już jest w repozytorium AUR.

Grafika 3D, 2D i fonty

Wine 3.0 to przede wszystkim wielki krok naprzód dla linuksowych graczy. Wydanie przynosi stabilne i dopracowane mechanizmy Direct3D 10 i 11, które były wcześniej testowane w gałęzi staging, w tym wsparcie dla shaderów obliczeniowych, nowych etapów potoku renderowania, (hull shader i domain shader), licznych nowych instrukcji shader modelu 4 i 5, nowych typów buforów, niebezpośrednich wywołań rysowania, współczynnika głębi, mipmappingu i wielu innych.

Poprawiono też wsparcie dla wywołań OpenGL w kontekście Direct3D, tak by zapewnić wyższą kompatybilność ze sterownikami Mesa dla układów graficznych AMD i Intela – nie będzie trzeba już przy nich ustawiać klucza rejestru MaxVersionGL by aktywować wsparcie dla Direct3D 10 i 11. Baza danych kart graficznych rozpoznaje też znacznie więcej modeli, a listę rozszerzeń OpenGL zaktualizowano do wersji 4.6 standardu.

Domyślnie wyłączona, ale w wielu przypadkach przydatna może okazać się funkcja wielowątkowego strumienia poleceń (CSMT), która łączy polecenia renderowania Direct3D z różnych wątków w pojedynczy wątek renderowania, celem zachowania poprawności grafiki.

Sporo zmian dotyczy grafiki 2D – rysowania obiektów geometrii Direct2D, kompatybilności z Graphics Display Interface, kodowania formatów grafiki z zadaną paletą poprzez windowsowe kodeki, rozszerzenia obsługi operacji graficznych GdiPlus. Dodano też wsparcie dla podstawiania glifów i nowych tabel znaków zgodnych ze standardem Unicode.

Ulepszone wsparcie dla DirectWrite pozwala teraz na nowe tryby rysowania fontów, mamy jednolite i proporcjonalne metody rozstawiania linii, obsługę symulacji pochyleń i wytłuszczeń, dodano dostępny dla aplikacji loader plików fontów w pamięci, dodano też wsparcie dla śledzenia znaków przycinania w trybach znakowym i słownym.

Android

Wraz z wersją 3.0, Wine staje się pełnoprawną aplikacją na Androida – można je zbudować jako plik APK, który będzie się zachowywał jak normalna aplikacja w systemie Google’a.

Wprowadzono też obsługę sterownika graficznego, póki co tylko w trybie pełnoekranowym. To wynik ograniczeń interfejsu zarządzania oknami Androida, ale w praktyce chodzi przecież o uruchamianie windowsowych gier, więc to nie problem. Tak samo Wine obsługuje już sterownik dźwięku Androida.

Niestety nie ma co liczyć jeszcze na grafikę wymagającą Direct3D na bazie biblioteki OpenGL ES. Wsparcie dla Direct3D zostanie wprowadzone podczas następnego cyklu prac. W wypadku OpenGL jakieś wsparcie jest, ale jest ograniczone tylko do mobilnego podzbioru (ES).

Pojawiły się też zmiany dla architektury ARM64, najważniejszej dziś z architektur sprzętowych wspieranych przez Androida, dotyczące obsługi liczb zmiennoprzecinkowych, działania preloadera i debuggera.

Kernel i sieć

Nowe Wine nie jest już (domyślnie) Windowsem XP. Teraz raportuje się jako Windows 7. Przynosi wsparcie dla windowsowego mechanizmu komunikacji międzyprocesowej poprzez potoki ze zdefiniowaną nazwą (named pipes), możliwość uruchamiania binarek PIE (Position Independent Executables).

Wine 3.0 automatycznie tworzy teraz urządzenia na porcie szeregowym i równoległym, tworząc odpowiadające im linki symboliczne, potrafi obsługiwać wiele wersji tej samej biblioteki DLL, oferuje znacznie większą wydajność w asynchronicznych wywołaniach I/O i pozwala obsłużyć dowolnie duże alokacje pamięci wirtualnej na 64-bitowych systemach.

Web Services obsługują teraz nasłuch protokołów TCP/UDP, wspierają binarny format .NET, mogą asynchronicznie otrzymywać wiadomości, dodano wsparcie dla wielu standardowych interfejsów HTML, obsługę plików MHTML i osadzanie dokumentów HTML w aplikacjach .NET.

Interfejs użytkownika i pulpit

Przeprojektowano wbudowane kursory myszy, te nowe wyglądają znacznie lepiej na ekranach wysokiej rozdzielczości, podobnie jak Shell Explorer, kontrolki Rich Edit i okna dialogowe. W trybie desktopowym wspierane są teraz różne wysokie rozdzielczości w różnych formatach ekranu. Dodano kontrolkę TaskDialog, wsparcie dla podwójnie buforowanego rysowania motywów graficznych, dialog wyboru źródła skanowania i możliwość przechowywania bitmap i metaplików w OLE Data Cache.

Poprawiono też integrację z pulpitami Linuksa i macOS-a. Łatwiej będzie przypisać okno do posiadającej je aplikacji dzięki automatycznemu generowaniu gotowych już plików .desktop wskazujących na windowsowy plik binarny, aplikacje windowsowe sprawniej powinny chwytać zawartość schowka, dodano możliwość wklejania metaplików, dodano wsparcie dla protokołu dynamicznej wymiany danych do manipulowania wpisami programów w menu. Automatycznie powinny być teraz też wykrywane urządzenia Plug and Play poprzez usługę HID.

Co dalej?

Za sprawą wprowadzonych zmian można się spodziewać możliwości uruchomienia przez Wine wielu nowych gier, korzystających z mającego już przecież ponad 8 lat interfejsu Direct3D 11, wśród nich takich tytułów jak Wiedźmin 3, Crysis 2, Deus Ex: Human Revolution (choć tu akurat jest wersja natywna) czy Prey 2017. Możliwe będzie też uruchomienie Microsoft Office 2016, tak jak to już pokazali deweloperzy CodeWeavers.

Wiele kwestii przełożono na następny cykl deweloperski. Wine 4.0 powinno przynieść nam między innymi wsparcie dla Direct3D 12 i Vulkana, a także możliwość wykorzystania na Androidzie OpenGL ES do realizacji poleceń Direct3D.

Przydatne linki

© dobreprogramy
reklama
r   e   k   l   a   m   a

Komentarze

reklama
Polecamy w WP TechnologieWP TechnologieTak wygląda historia PlayStation. Kiedy będzie PS5? Jeszcze długo poczekamy