directx11

#149. Kącik Techniczny nr 3

Skoro ostatnio było o Protonie, to teraz warto by było wspomnieć o małym projekcie, który wiele osiągnął, a mianowicie o WINE, którego rozwinięcie brzmi Wine Is Not Emulator.

Początkowo wydano go 4 lipca 1993, czyli jest nieco starszy niż ja. Zapoczątkował go Eric Youngdale, a od 1994 po dziś dzień prowadzi go Alexandre Julliard.

Zadaniem WINE jest dosłownie duplikować zachowanie Windowsa w stosunku do danego programu/gry – jest zakładką tłumaczącą zachowanie programu dla Linuxa. Twórcy dokonują tego przez implementacje WindowsAPI, czyli interfejsu programistycznego, graficznego, czy bibliotek do WINE. Chociaż jest to dosyć ciężkie zadanie, bo nie wszystko ma otwarty kod źródłowy, aby tak po prostu przestudiować, jak zostało to zrobione. Przykładem jest Directx11, który przez długi czas pozostawał poza zasięgiem.

W 1996 powstali CodeWeavers, którzy wpierw zajęli się konsultacją, a potem sprzedażą komercyjnej i nieco bardziej dopracowanej wersji WINE o nazwie CrossOver. Są oni głównym sponsporem WINE, który, w przeciwieństwie do CrossOver, ma pozostać darmowy. Wsparcie mają też od Google, które, poza komercyjnym sponsoringiem, często dofinansowuje ich w ramach Google Summer of Code.

Pierwsza stabilna wersja WINE (1.0) wyszła po 15 latach od pojawienia się programu, czyli w 2008, a obecnie wydawane są wersje 3.xx.

Moja przygoda z WINE zaczęła się w 2012 roku z wersją 1.6, kiedy to po stracie laptopa Smok przekonał mnie do spróbowania Linuxa, potem WINE i tak to się jakoś potoczyło. Chociaż wtedy było więcej zachodu z odpaleniem gry (nie każdej, ale jednak) to moją pierwszą windowsową grą odpaloną na Linuxie było Knights of the Old Republic. Potem zacząłem grać w Star Wars The Old Republic, które wtedy potrzebowało specjalnego skryptu, aby się uruchomić, a dziś działa bez problemu i nie wymaga już takich rozwiązań (niedawno ściągałem to miałem okazję sprawdzić ;)).

W mniej więcej 2015/2016 zacząłem używać wine-staging, która jest wersją z licznymi łatkami, a tym samym z usprawnionym działaniem. Dzięki temu miałem dostęp do gier lub programów z ograniczoną funkcjonalnością przy zwykłym WINE. Takim przykładem jest np. platforma Uplay. 🙂

Od sierpnia 2018, do gier na Steamie, używam Protona, o którym był już osobny wpis. 🙂

WINE posiada coś takiego, jak butelka (bottle) lub prefix. To jest coś w rodzaju osobnego folderu z ustawieniami programu. Dzięki temu możemy testować gry bez narażania naszej głównej butelki na uszkodzenie (co może się zdarzyć, jeśli zaczniemy doinstalowywać biblioteki, programy, itd.). Butelki mogą mieć 32-bitową lub 64-bitową architekturę, co pozwala manewrować między różnymi wymaganiami gier lub programów. Daje to spore poczucie bezpieczeństwa, kiedy chcemy (nawet bardzo drastycznie) coś sprawdzić, ale nie chcemy namieszać w obecnych ustawieniach.

Moje doświadczenie z WINE jest jak najbardziej pozytywne. Nie jest to idealny program, ale biorę pod uwagę ile przeciwności musi pokonać, aby dostarczyć coś, co pozwala mi zagrać w grę na systemie, który nie był do tego przeznaczony. Nie zliczę ile razy byłem zły, bo coś mi nie działało, ile razy cieszyłem się, bo przy nowej wersji naprawiano błędy uniemożliwiające mi rozgrywkę, ile razy pękałem z dumy, bo rozwiązałem problem. W pewnym momencie sam zacząłem wynajdywać rozwiązania i udzielać porad innym graczom.

Z tego, co słyszałem, WINE zapragnęli także niektórzy użytkownicy Windowsa, bowiem zapewnia on większe możliwości, jeśli chodzi o obsługę starszych gier niż tryb kompatybilności w Windowsie. Prośba jak na razie nie została spełniona i nie zapowiada się, aby twórcy poszli kiedykolwiek w tym kierunku – najpewniej dlatego, że już teraz mają wystarczająco do zrobienia.

Gdyby nie WINE to ten blog mógłby tak po prostu nie powstać. W końcu ten “buntownik” w tytule nie odnosi się tylko do jednej rzeczy. 😉

Mam nadzieję, że ten wpis, choć taki trochę chaotyczny, to jednak się podobał. Zamierzam wrzucić z czasem kilka porad i rozwiązań, które mogą przydać się początkującym użytkownikom. 🙂

Mefisto

#149. Kącik Techniczny nr 3 Read More »

#141. Kącik Techniczny nr 2

Valve zaskakuje mnie już od dłuższego czasu. Wpierw powstał SteamOS w oparciu o Debiana (jeden z systemów Linux), a teraz, ku mojej radości, wypuścili coś, co nazywa się Proton, który pojawia się też pod nazwą ValveSoftware lub Steam Play. (link do artykułu)

Screenshot at 2018-08-22 02-55-19

Proton to specjalnie przygotowany program wine (a najprościej tłumacząc jest to program służący do tłumaczenia zachowań gier operujących domyślnie na systemie Windows tak, aby rozumiał je Linux), który w połączeniu z ich jeszcze do nie dawna w tajemnicy fundowanym projektem dxvk (czyli dodatkową nakładką, które efektywnie tłumaczy grafikę generowaną przez DirectX11 na Vulkan). Oznacza to, że na linuksowej wersji Steama mogę instalować i odpalać gry, które zostały wydane tylko na Windowsa. Nie każda gra działa, bo to wciąż rozwijany projekt, ale spora część pozwala się już bezproblemowo uruchomić.

Zgodnie z wypowiedzią Valve, windowsowe gry odpalone poprzez Protona w aplikacji Steam będą liczyły się jako odpalone na systemie Linux/SteamOS, co pozwoli twórcom mięc wgląd w dokładnie statystyki na temat tego ilu użytkowników innych systemów niż Windows korzysta z gry. Oznacza to nic innego jak szansę na zauważenie przez deweloperów i – być może – wsparcie z ich strony.

Jestem zaskoczony i zadowolony. Dzięki dxvk gram bezproblemowo w takie gry jak Far Cry Primal, Dark Souls czy The Elder Scrolls Online. Uważam to za bardzo duży krok w stronę graczy korzystających z systemu Linux. Zostaliśmy zauważeni i coraz intensywniej jesteśmy włączani do coraz większego świata gier.

Screenshot at 2018-09-21 20-11-32
Screenshot z The Elder Scrolls Online

Moim marzeniem jest, aby kiedyś granie ograniczała jedynie wyobraźnia, a nie preferencje systemowe. Powoli tak się staje, a ja trzymam mocno kciuki za rozwój w tym kierunku!

Dla ciekawskich: tutaj jest lista z działającymi tytułami, które aktywnie zgłaszają gracze.

Mefisto

#141. Kącik Techniczny nr 2 Read More »

Scroll to Top