Linux + Wine + League of Legends
How To
Aby uruchomić grę trzeba wykonać kolejno:
Odinstalować kompletnie wine:
Skasować katalog roboczy wine:
Pobrać kod źródłowy wine, może być to paczka z repozytorium lub skądkolwiek, tutaj przykład pobrania paczki z repozytorium systemu (zamiast wine, możemy pobrać wine1.2 lub wine1.3):
lub rozwojowa wersja Wine z git (przedtem musimy pobrać pakiety git i prelink):
Kod: Zaznacz cały
sudo apt-get install git prelink
git clone git://source.winehq.org/git/wine.git ~/wine-git
Im nowsza wersja Wine tym lepsza w tym przypadku, więc rozważcie użycie repozytorium PPA z rozwojowym Wine albo najświeższa wersja własnie z gita.
Po przejściu do katalogu roboczego (apt-get utworzy odpowiedni katalog w ~, git utworzy katalog ~/wine-git/), pobieramy patch z WineHQ, niezbędny do działania League Of Legends:
Kod: Zaznacz cały
wget http://bugs2.winehq.org/attachment.cgi?id=25672 --output-document=ole-force-inproc-instead-of-local.patch
Aplikujemy ściągnięty patch do kodu źródłowego:
Kod: Zaznacz cały
patch -p1 < ole-force-inproc-instead-of-local.patch
Przy okazji: w wersji git codziennie dodawane są nowe commity poprawiające różne błędy. Aby w późniejszym czasie zaktualizować nasze wine z gita, należy: zdjąć nasz patch z WineHQ, ściągnąć nowe commity z gita i znowu wgrać nasz patch:
Kod: Zaznacz cały
git reset --hard
git fetch
git rebase origin
patch -p1 < ole-force-inproc-instead-of-local.patch
Teraz ściągamy wszystkie konieczne pakiety do kompilacji. Jest tego naprawdę dużo, nie przeraźcie się. Ale takie są wymagania kompilacji swoich wersji programów

Jeśli pobraliśmy źródła wine1.2 lub wine1.3, to w poniższym poleceniu też proszę tej wersji użyć:
Przechodzimy do konfiguracji źródła. Kompilowanie programów ze źródła wymaga posiadania w systemie wszystkich wymaganych bibliotek. Gdy jakiejś nie mamy, to, co prawda można kontynuować kompilację, ale tak skompilowany program może mieć ograniczoną funkcjonalność. Jeśli ściągnęliśmy wszystkie wymagane pakiety przez build-dep, to powinno być OK. Jeśli użyta była wersja git, to może czegoś brakować, z racji, że jest to wersja nie pochodząca z repozytorium Ubuntu.
To bardzo ważny etap, proszę czytać komunikaty wyplute przez polecenie:
Wszelkie komunikaty mówiące o brakujących zależnościach powinny być naprawione, trzeba znaleźć i zainstalować odpowiednie pakiety. Dodatkowo, jeśli ktoś ma 64bitowy system, musi zainstalować 32bitowe biblioteki do OpenGL (to w przypadku Nvidii, dla AMD nie wiem jak to działa):
Powtarzamy polecenie configure aż do skutku, gdy już nie będzie żadnych błędów, to przechodzimy dalej:
(gdzie 4 to ilość posiadanych rdzeni CPU)
(gdzie 4 to ilość posiadanych rdzeni CPU)
Jeśli wszystko się powiodło, to mamy skompilowane ładnie Wine, czekające na instalację. Jeśli kompilacja została przerwana, to trzeba dokładnie poczytać komunikaty i poszukać rozwiązania.
Instalujemy gotowe binarki do systemu:
Tym samym nasze nowe Wine jest zainstalowane w systemie, możemy to sprawdzić komendą:
Jeśli Wine się poprawnie zgłasza, to odpalamy konfigurację:
Na zakładce Libraries (Biblioteki) dodajemy bibliotekę "mmdevapi", po dodaniu odnajdujemy ją na liście i edytujemy, potwierdzając jej stan na disabled (wyłączony).
Na zakładce Applications (Aplikacje), ustawiamy zgodność z systemem Windows 2000.
Następnie ściągamy winetricks i aplikacje windowsowe wymagane przez grę:
Kod: Zaznacz cały
wget http://www.kegel.com/wine/winetricks
sh winetricks vcrun2005 ie6 d3dx9 wininet
Następnie w plikach konfiguracyjnych gry modyfikujemy wpisy, w katalogu /League of Legends/game/DATA/CFG/defaults. Bez tych wpisów można się spodziewać skoków 5-40 FPS w grze, nawet na najmocniejszym sprzęcie;)
Plik Game.cfg:
Plik GamePermanent.cfg:
Kod: Zaznacz cały
[FriendlyNametag]
Glow = 0
[EnemyNametag]
Glow = 0
[PlayerNametag]
Glow = 0
[FloatingText]
Glow = 0
Przechodzimy do katalogu z grą i włączamy Launcher:
Moje wrażenia:
U mnie było całkiem niezłe:D Rozegrałem już pierwszą swoją, linuksową rozgrywkę na 3v3

Ściąganie aktualizacji przez launcher bezproblemowe. Główna strona, profil w PVP.Net działają, chat, statystyki, wybieranie run i czarów - wszystko za wyjątkiem sklepu, który powoduje crash aplikacji. Dźwięk działa, żadnych problemów. Żadnych anomalii graficznych, w wysokich detalach 40-60 FPS, nawet w najbardziej gorących momentach. Jak ktoś ma mniej FPS, to na początek polecam wyłączyć cienie w ustawieniach.
Korzystam z wine-1.3.17-173-g6eed4c4, na Debian Testing 2.6.38-2-amd64.
Pod tym adresem znajdziecie pełno wskazówek, jak zoptymalizować wydajność gry i pozbyć się błędów.
http://appdb.winehq.org/objectManager.p ... &iId=19141
A tu kolejny workaround dla większej wydajności - ustawienie CPU affinity dla procesu z grą 3D - sprawdziłem to samo, rzeczywiście działa:
http://unixblogger.wordpress.com/2011/0 ... with-wine/
Miłej gry
