Wine, staging, esync, pba, dxvk, proton… jak żyć?

Ostatnie kilka miesięcy mocno obrodziło nam we wszelakiej maści wersje Wine oraz wszelakiej maści poprawki usprawniające wydajność. Najpopularniejsze to oczywiście dxvk oraz esync, za którymi stoi Valve, a które razem znane są pod nazwą Proton. Uporządkujmy zatem wszystkie wersje oraz ich zastosowanie:

 

Wine – czyli główny program translacyjny dla aplikacji windows dystrybuowany jest w kilku wersjach:

Wine stable – wersja stabilna, która wydawana jest raz na rok i nadaje się najlepiej do uruchamiania programów narzędziowych lub starszych gier. Obecna wersja stabilna do 3.20  https://www.winehq.org/

Wine (dev) – wersja deweloperska lub czasami nazywana wersją rozwojową, wydawana jest co 2 tygodnie. Na ogół jest to wersja, którą chcą używać gracze. Uzysk wydajności zwłaszcza dla bardziej wymagających gier, może być niewystarczający i ci gracze sięgną po co najmniej wersję staging.  Na stronie https://www.winehq.org/ oraz w bazie testów możemy wyszukać jaka konkretna wersja Wine najlepiej współpracuje z danym programem: https://appdb.winehq.org/. Z reguły warto brać pod uwagę dwie ostatnie wersje. Nie wszystkie dystrybucje dostarczają wersje historyczne, czasem jest to tylko ostatnia wersja.

Wine staging – testowa gałąź Wine, która bazuje na ostatniej oficjalnej deweloperskiej wersji Wine, a która zawiera szereg dodatkowych poprawek, które z różnych powodów nie mogły znaleźć się w wersji rozwojowej. Wersja dla graczy szukających najwyższej wydajności 🙂 https://wiki.winehq.org/Wine-Staging

Crossover (wine) – komercyjna wersja Wine sprzedawana przez firmę Codeweavers. Oferowana z nakładką graficzną oraz oficjalnym wsparciem. Warto dodać, że to Codeweavers sponsoruje oraz kontrybuuje do projektu Wine. Codeweavers pracował również z Valve nad Protonem. https://www.codeweavers.com/

 

Skoro już wiemy co nieco o różnych wersjach Wine warto przyjrzeć się ich mniej lub bardziej oficjalnych modyfikacjach.

Dxvk – najbardziej popularny zestaw, sponsorowany przez Valve. Pozwala na bezpośrednią translację Direct 3D 10/11 na api Vulkana z pominięciem OpenGLa. Fenomenalne wyniki dla gier opartych na DX11 z wydajnością niewiele mniejszą od windowsowej.  Instalacja Dxvk nie wymaga specjalnej wersji Wine chociaż zwykle ostatnia wersja staging lub rozwojowa jest rekomendowana. Wszystko ogranicza się do uruchomienia skryptu (bez kompilacji), który zmienia standardowe biblioteki wine na te od dxvk. https://github.com/doitsujin/dxvk

Kilka uwag i warunków koniecznych

 

Esync – druga modyfikacja do wine, sponsorowana również przez Valve. Instalacja wymagająca kompilacji, a która skupia się na zmniejszeniu użycia procesora w trakcie działania Wine. W dystrybucjach innych niż Ubuntu może istnieć potrzeba zwiększenia limitu jednocześnie otwartych plików w systemie: https://github.com/zfigura/wine/blob/esync/README.esync

 

Proton (steam play) –  nazwa kodowa projektu Valve, który umożliwia na Steamie uruchomienie prawie dowolnej gry, która nie posiada swojego natywnego portu na linuxa. Proton to nic innego jak zestaw: wine + dxvk + esync. Część gier jest oficjalnie wspierana przez protona, a część oczywiście nie lecz dla nich możemy wymusić użycie Protona i samemu sprawdzić rezultaty.

W internecie jest mnóstwo różnych zestawień czy dana gra jest wspierana i jak działa. Oczywiście sam Proton wchodzi już w skład klienta Steam więc żadna dodatkowa instalacja nie jest wymagana, no może oprócz posiadania nowego sterownika grafiki i zmian esyncowych dla dystrybucji innych niż Ubuntu.

 

Wine-pba – nieoficjalny zbiór poprawek dla Wine, wymgający kompilacji, a który optymalizuje translację na OpenGLa. Projekt zrodził się w związku z potrzebą optymalizacji World Of Warcraft, którego to wydajność byłą słaba od wydania dodatku legion. Po instalacji poprawek wydajność wzrasta naprawdę o 40-50% (w przypadku WoW) co jest znakomitym efektem. Poprawki należy dokompilować do wersji developerskiej lub staging: https://github.com/acomminos/wine-pba

 

Co jak ze sobą łączyć?

Zasada jest prosta: wine-pba nie łączymy z dxvk gdyż dxvk to vulkan, a pba to opengl. Natomiast jak najbardziej do łączenia nadaje się: dxvk+esync (najlepsza wydajność) lub esync+pba lub najprościej (bez kompilacji) dxvk + wine staging.

 

Jak żyć bez kompilacji?

Ciężko, ale można się tego nauczyć i polegać całkowicie na swoich siłach i potrzebach. Lecz jeśli z kompilacją nam nie po drodze to można sięgnąć po gotowe rozwiązania jak np Lutris, który jest nakładką graficzną, pozwalająca na ściąganie dowolnej wersji wine z odpowiednimi modyfikacjami: https://lutris.net/ bez potrzeby kompilacji czegokolwiek. Lutris powinien być dostępny w oficjalnych repozytoriach w każdej dystrybucji.

 

Głos rozsądku

Po pierwsze, chociaż wszystkie powyższe programy/poprawki bazują na otwartym oprogramowaniu warto mieć na uwadze co i skąd ściągamy.
Po drugie, należy pamiętać iż używanie wine lub jego modyfikacje (poza protonem w steamie) mogą powodować konflikty z oprogramowaniem używanym do zabezpieczenia gier, a zwłaszcza tych online co finalnie może skutkować banem 🙂

 

 

 

 

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.