League of Legends in Linux

Тема в разделе "Архив", создана пользователем Ordos121, 23 апр 2012.

  1. Ordos121

    Ordos121 Старожил

    Насколько знаю, у некоторых людей возникал вопрос: "А как запустить LoL в линуксе?" Собственно, возник он и у меня, когда в принудительном порядке пришлось перейти на Linux Fedora 16. Благодаря пользователю bezzil, одному знакомому пользователю убунту, английским гайдам, ну и переходу на 32-битную версию линукса, мне удалось запустить ЛоЛ :unsure:

    Итак, что мне для этого понадобилось? Для начала оставлю ссылки на несколько английских гайдов: номер раз (здесь так же и обсуждение некоторых проблем + могут помочь. Но объясняться понадобиться на английском), номер два и номер три (по-моему наиболее толковый. Собственно, в итоге, по этому гайду у меня всё и заработало. По сути, я выложу перевод этого гайда). Так же, я буду писать примеры команд, которые вводил я (делайте соответсвтующие поправки).
    Нашел вроде как аналогичный старый гайд и на лол-гейме для пользователей убунту.

    Возможно, здесь будет что-то лишнее, а может чего-то будет не хватать. Надеюсь, меня кто-то поправит...

    Прежде, чем предпринимать любые действия, нужно установить проприетарные драйвера для вашей видеокарты. Тут уж гуглите сами, как ставить на свою систему, под нужную видеокарту драйвера. Дальше, нужно будет скачать исходники Wine: стабильная версия, последняя версия на данный момент (хотя какую версию ставить особо не принципиально, главное из исходников). Так же, надо будет создать файл (в дальнейшем патч), с любым названием и расширением *.patch, содержание которого выглядит так:
    commit 3ed9efa63394e500e9a7a4dbbe14303da8086f6c
    Author: Jan Zerebecki <[email protected]>
    Date: 2010-01-11 20:18:43 +0100

    ole32: force inproc instead of local server

    diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
    index 583a9cb..c23de80 100644
    --- a/dlls/ole32/compobj.c
    +++ b/dlls/ole32/compobj.c
    @@ -2261,6 +2261,11 @@ HRESULT WINAPI CoGetClassObject(

    TRACE("CLSID: %s,IID: %s\n", debugstr_guid(rclsid), debugstr_guid(iid));

    + if(CLSCTX_LOCAL_SERVER == dwClsContext) {
    + dwClsContext = CLSCTX_INPROC_SERVER;
    + WARN("forcing CLSCTX_INPROC_SERVER instead of CLSCTX_LOCAL_SERVER\n");
    + }
    +
    if (!ppv)
    return E_INVALIDARG;
    Если выдаёт ошибку при патчинге, можно скопировать текст здесь

    В моих примерах этот файл будет находиться в домашней папке и будет называться "11.patch". Для убунту, некоторые энтузиасты выкладывают в сеть уже пропатченный вайн, что избавляет вас от одного шага <_< . Об установке вайна несколько позже.

    Под вайном нормально запускается только ACE-клиент (никаких ру-лолов и официальных клиентов с официальных сайтов). Клиент находится здесь, патчи для него здесь. К сожалению, клиент автоматически не обновляется, так что ссылочку на патчи надо запонмить и регулярно качать (как впрочем и ждать).

    А теперь насчет установки вайна. Точно знаю, что ЛоЛ работает под 32-битный вайн. Под 64-битный - не знаю.

    Для установки нужна консоль.

    Сначала удаляем вайн, который стоял раньше (извините, как удалять в каждом дистрибутиве программы я не знаю - ищите сами).

    Для 32-битных систем:
    Устанавливаем зависимости для вайна:
    Для Ubuntu, например: $ sudo apt-get build-dep wine*версия вайна*
    Для Fedora 16, при помощи yum'a: $ yum-builddep wine

    Кокретнее об установках зависимостей, для каждого дистрибутива здесь.

    Для 64-битных:
    Так же устанавливаются зависимости для вайна:
    Например для Ubuntu вообще всё укладывается в 2 строчки:
    $ sudo add-apt-repository ppa:ubuntu-wine/ppa
    $ sudo apt-get build-dep wine
    А вот для Fedora 16 несколько сложноее (хотя тоже 2 строчки):
    $ yum builddep wine
    $ yum install alsa-lib-devel.i686 alsa-lib-devel audiofile-devel.i686 audiofile-devel cups-devel.i686 cups-devel dbus-devel.i686 dbus-devel fontconfig-devel.i686 fontconfig-devel freetype.i686 freetype-devel.i686 freetype-devel giflib-devel.i686 giflib-devel lcms-devel.i686 lcms-devel libICE-devel.i686 libICE-devel libjpeg-turbo-devel.i686 libjpeg-turbo-devel libpng-devel.i686 libpng-devel libSM-devel.i686 libSM-devel libusb-devel.i686 libusb-devel libX11-devel.i686 libX11-devel libXau-devel.i686 libXau-devel libXcomposite-devel.i686 libXcomposite-devel libXcursor-devel.i686 libXcursor-devel libXext-devel.i686 libXext-devel libXi-devel.i686 libXi-devel libXinerama-devel.i686 libXinerama-devel libxml2-devel.i686 libxml2-devel libXrandr-devel.i686 libXrandr-devel libXrender-devel.i686 libXrender-devel libxslt-devel.i686 libxslt-devel libXt-devel.i686 libXt-devel libXv-devel.i686 libXv-devel libXxf86vm-devel.i686 libXxf86vm-devel mesa-libGL-devel.i686 mesa-libGL-devel mesa-libGLU-devel.i686 mesa-libGLU-devel
    ncurses-devel.i686 ncurses-devel openldap-devel.i686 openldap-devel openssl-devel.i686 openssl-devel zlib-devel.i686 pkgconfig sane-backends-devel.i686 sane-backends-devel xorg-x11-proto-devel glibc-devel.i686 prelink fontforge flex bison libstdc++-devel.i686 pulseaudio-libs-devel.i686 gnutls-devel.i686 libgphoto2-devel.i686 openal-soft-devel openal-soft-devel.i686 isdn4k-utils-devel.i686 gsm-devel.i686 samba-winbind libv4l-devel.i686 cups-devel.i686 libtiff-devel.i686 gstreamer-devel.i686 gstreamer-plugins-base-devel.i686 gettext-devel.i686 libmpg123-devel.i686

    Подробнее об установках зависимостей для каждого дистрибутива здесь.

    Если у вас 64-битная система и вы хотите поставить 64-битный вайн, то вам сюда.

    И устанавливайте только зависимости! configure, make, make install пока писать не надо!

    Перезапускаем консоль (или выходим из режима root'a).
    В консоли прописываем команду: tar xaf /*путь и имя исходника вайна*. Например: tar xaf /home/oleg/Downloads/wine-1.5.2.tar.bz2
    Дальше, нужно зайти в папку с вайном: cd /home/*имя пользователя*/wine-*версия вайна*. Например: cd /home/oleg/wine-1.5.2
    Патчим вайн: patch p1 < *путь и имя патча*. Например: patch -p1 < /home/oleg/11.patch
    Предварительно патч можно перенести в папку с распакованным вайном. Тогда команда будет выглядеть так: patch p1 < *имя патча*. Например: patch -p1 < 11.patch
    Дальше вводится определённая команда, которая и установит вайн:

    Для 32-битных систем: ./configure --with-gnutls && make depend && make && su -c 'make install'

    Для 64-битных систем: ./configure --with-gnutls --enable-win64 && make depend && make && su -c 'make install'

    После этого придеться ждать... Очень долго ждать... В нужный момент понадобиться ввести пароль root'a.
    Когда всё закончится, можно уставить и пропатчить АСЕ-клиент ЛоЛа. По умолчанию ЛоЛ поставится в /home/*имя пользователя*/.wine/drive_c/games/League of Legends. Учтите, что каталог /.wine - скрытый. Правда вот играть ещё рановато. Чтобы играть в ЛоЛ нужно установить: шрифты Windows, DirectX9 или DirectX10, msvcp80.dll (входит в состав Microsoft Visual C++ 2005 Runtime Libraries), Adobe Air, Internet Explorer 6 или Intrnet Explorer 7. Всё это можно поставить вручную или с помощью winetricks.

    Опишу как это поставить при помощи winetricks:
    Для получения winetricks вводим: wget http://winetricks.org/winetricks
    Дальше устанавливаем cabextract (при помощи yum это выглядит так: yum install cabextract).

    Теперь можно и установить нужные компоненты:
    Для шрифтов: sh winetricks allfonts (лучше поставить все шрифты, базовых может не хватить)
    Для Microsoft Visual C++ 2005 Runtime Libraries: sh winetricks vcrun2005
    Для DirectX9: sh winetricks d3dx9 или для DirectX10: sh winetricks d3dx10
    Для Adobe Air: sh winetricks adobeair
    Для Internet Explorer 6: sh winetricks ie6 или для Internet Explorer 7: sh winetricks ie7
    Так же надо ввести эту команду: sh winetricks glsl-disable (без этой команды не будет видно ниодного активного объекта. Такой совет, с таким объяснением в гайдах стоит, хотя у меня работает и без этой команды)
    В последних патчах ЛоЛа наблюдается падение фпс. Это решается командой: sh winetricks win7

    Всё это можно сделать и одной командой: sh winetricks allfonts vcrun2005 d3dx9 adobeair ie6 glsl-disable win7

    Вот собственно можно и запускать ЛоЛ.
    Можно немного повысить фпс изменив конфиги, которые находятся в /League of Legends/game/DATA/CFG/defaults. В Game.cfg можно найти соответствующие строчки и поменять

    [MouseOverEffect]
    Style = 0

    В GamePermanent.cfg

    [FriendlyNametag]
    Glow = 0

    [EnemyNametag]
    Glow = 0

    [PlayerNametag]
    Glow = 0

    [FloatingText]
    Glow = 0

    Так же, кроме минимальной графики есть и другие проблемы: в клиенте не работает магазин (возможно ещё что-то, я не проверял), в самой игре возможно некоторые вещи могут выглядеть странно. После вылета/окончания матча постоянно вылетает баг-репорт (правда и отослать его не получится). Так же у меня наблюдается проблема с фпс: в самом начале игры - 45 фпс, которые плавно падают и к 10 минуте принимают значение 15-20 фпс и падают дальше (выход из игры и реконнект возвращают 45 фпс, но минут на 5-7).

    Вот и всё, что я могу написать об установке ЛоЛа в линуксе. К сожалению, я абсолютно не знаю что делать, если не запускается ЛоЛ.

    Возможно надо что-то добавить сюда. Прошу написать, чего именно не хватает.
     
    3 пользователям это понравилось.
  2. Manticore

    Manticore Фаворит форума

    Гораздо проще перестать корчить из себя программиста и установить Виндовс. gg wp.
     
  3. Ordos121

    Ordos121 Старожил

    ну я и не корчу... просто был 1 момент (слава богу я его смог пережить и поставить привычный виндовс). ну а некоторым будет полезно
     
  4. EvilCora

    EvilCora Старожил

    Устанавливал на комп отца Убунту, так как даже Хрюша у него тормозила. Лол туда установил без проблем. Правда, играл только с ботами на фаст террайн :lol:
    Может проблема именно в сборке пингвинчика?
     
  5. Ordos121

    Ordos121 Старожил

    как показывает практика, легче всего (ну вроде как) игры ставяться на убунту :)

    у меня на федоре 16 работает (но без особых плясок с библиотеками и зависимостями это удалось только на 32-битной системе), но как я писал - минут через 15-20 фпс с 45 падает до 1-5 на минимальной настройке (реконект спасает, но минут на 5-7). хотя я больше грешу на свою систему (да и на непонятный код риотов - у меня ХоН под вайном летал. хотя ещё 1 странность - клиент ХоНа для линукса у меня устанавливается, но не запускается :lol: ).
    как показывают тесты здесь ЛоЛ удовлетворительно ставился на: debian 7, ubuntu 10.10, ubuntu 11.10, kubuntu, opensuse 12,1, mint, archlinux и т.д.
    в винде у меня в ЛоЛе стабильно 60 фпс