Difference between revisions of "League of Legends"

From ArchWiki
Jump to: navigation, search
(Install the dependencies: removed old dependencies no longer necessary.)
m (use style)
 
(10 intermediate revisions by 4 users not shown)
Line 2: Line 2:
 
[[Category:Wine]]
 
[[Category:Wine]]
 
[[ja:League of Legends]]
 
[[ja:League of Legends]]
{{Poor writing|Style problems, little overview - see [[Help:Style]]}}
+
{{Archive|This duplicates work of Wine AppDB community, should we have an article on every popular windows application too?|Talk:Wine}}
 +
{{Style|Style problems, little overview - see [[Help:Style]]}}
  
 
[https://www.leagueoflegends.com League of Legends] is a multiplayer online battle arena video game developed and published by [http://www.riotgames.com/ Riot Games] for Microsoft Windows and OS X. This page outlines working methods to get the Windows version of League of Legends working through [[Wine]].
 
[https://www.leagueoflegends.com League of Legends] is a multiplayer online battle arena video game developed and published by [http://www.riotgames.com/ Riot Games] for Microsoft Windows and OS X. This page outlines working methods to get the Windows version of League of Legends working through [[Wine]].
Line 63: Line 64:
  
 
  # WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winetricks directx9 d3dx9_43
 
  # WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winetricks directx9 d3dx9_43
 +
 +
Run winecfg and add the following dll overrides under the libraries tab:
 +
 +
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
 +
 +
* msvcp140 (Native, then builtin)
 +
* msvcp120 (Native, then builtin)
 +
* vcomp120 (Native, then builtin)
 +
* atl120 (Native, then builtin)
  
 
==== Client installation ====
 
==== Client installation ====
 
===== Using Windows installer =====
 
===== Using Windows installer =====
 
{{Warning|The Windows installer may not work on some systems.}}
 
{{Warning|The Windows installer may not work on some systems.}}
Use the latest installer from riot games: https://signup.na.leagueoflegends.com/en/signup/redownload
+
Use the latest installer from riot games: https://riotgamespatcher-a.akamaihd.net/releases/live/installer/deploy/League%20of%20Legends%20installer%20NA.exe
Now unpack it and execute it using msiexec
 
 
 
mkdir /tmp/lol_installer
 
WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine /PATH/TO/INSTALLER.exe /extract:Z:/tmp/lol_installer
 
WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine  msiexec /i /tmp/lol_installer/LoL.XXX.msi
 
 
 
Where XXX is the region of the installer.
 
  
 
Follow the steps indicated on the installer menu.
 
Follow the steps indicated on the installer menu.
 
''Note for installing via installer: Uncheck the "Create desktop icon" and "Create start menu icon", it may causes the installer to hang. You can leave the "Run League of Legends" checkbox checked, it does not cause any issues''
 
  
 
===== Using an existing copy of the game =====
 
===== Using an existing copy of the game =====
Line 107: Line 108:
 
Bash script example: '''/bin/leagueoflegends'''
 
Bash script example: '''/bin/leagueoflegends'''
 
  #!/bin/sh
 
  #!/bin/sh
  pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/RADS/system/
+
  pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/
  WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine rads_user_kernel.exe run lol_launcher $(ls ../projects/lol_launcher/releases/) LoLLauncher.exe
+
  WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine LeagueClient.exe
 
  popd
 
  popd
  
Line 116: Line 117:
  
 
Alias example: '''$HOME/.bashrc'''
 
Alias example: '''$HOME/.bashrc'''
  # alias League_of_Legends='pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/RADS/system/ && wine32 rads_user_kernel.exe run lol_launcher $(ls ../projects/lol_launcher/releases/) LoLLauncher.exe && popd'
+
  # alias League_of_Legends='pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/ && wine32 LeagueClient.exe && popd'
  
 
Shortcut example (if you made a bash script, this can be useful for example if you want to launch the game from steam): '''/usr/share/applications/LeagueofLegends.desktop'''
 
Shortcut example (if you made a bash script, this can be useful for example if you want to launch the game from steam): '''/usr/share/applications/LeagueofLegends.desktop'''
Line 128: Line 129:
 
  Categories=Wine;Game;
 
  Categories=Wine;Game;
  
To be able to use an Icon for the application, you need to either convert the '''*/RADS/system/lol.ico''' to the png format (with imagemick or gimp), or download the icon separately and place it in the '''~/.icons/''' folder of your home directory. Here is a [http://img.informer.com/icons/png/48/4719/4719180.png 48x48 icon] you can download.
+
To be able to use an Icon for the application, you need to either convert the '''*/RADS/system/icon.ico''' to the png format (with imagemick or gimp), or download the icon separately and place it in the '''~/.icons/''' folder of your home directory. Here is a [http://img.informer.com/icons/png/48/4719/4719180.png 48x48 icon] you can download.
  
 
Run the bash script/alias/shortcut and you should be good to go!  
 
Run the bash script/alias/shortcut and you should be good to go!  
  
 
To test if the game is working, create a custom Summoner's Rift match with one bot. If it loads and you do not crash upon opening the in-game store, you are golden! Congratulations!
 
To test if the game is working, create a custom Summoner's Rift match with one bot. If it loads and you do not crash upon opening the in-game store, you are golden! Congratulations!
 
===== Use the League Client open beta =====
 
 
If you want to try out the new League Client, click on the upgrade button on the patcher. You have to add three overrides to your libraries for the client to start.
 
 
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
 
 
Access the libraries tab, and add :
 
* msvcp140 (Native, then builtin)
 
* vcomp140 (Native, then builtin)
 
* vcruntime140 (Native, then builtin)
 
 
Starting the client from the actual patcher seems to work, but you can also start it by improving the script above :
 
 
Bash script example: '''/bin/leagueoflegends'''
 
#!/bin/sh
 
#
 
 
case $1 in
 
    beta)
 
        pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/
 
        WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine LeagueClient.exe
 
        ;;
 
    *)
 
        pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/RADS/system/
 
        WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine rads_user_kernel.exe run lol_launcher $(ls ../projects/lol_launcher/releases/) LoLLauncher.exe
 
        ;;
 
esac
 
popd
 
 
And running the beta version by typing
 
 
# leagueoflegends beta
 
  
 
== Troubleshooting ==
 
== Troubleshooting ==
Line 180: Line 148:
  
 
*If there is no in-game audio with usb sound cards, installing [https://www.archlinux.org/packages/?name=wine-staging wine-staging] may resolve it.
 
*If there is no in-game audio with usb sound cards, installing [https://www.archlinux.org/packages/?name=wine-staging wine-staging] may resolve it.
 
=== Client update issues ===
 
 
===== first client update stuck on 47% =====
 
'''(tried in the Lutris installation version)''' I let the game updating the whole night while sleeping. By the time i woke up the client stuck in 47%. I just closed the game (and stoppped it from the Lutris GUI) and when I restarted, it worked like a charm (maybe I was just lucky) and this shouldn't be noted here, but who knows...
 
in concrete: the advice here is just to be really patient and generous with the time, in wine  that is usually required (in my case 8+ hours)
 
  
 
=== Connection issues ===
 
=== Connection issues ===
Line 231: Line 193:
  
  
If you are using mesa and are not using proprietary graphics drivers, you will need to set the following [[https://wiki.archlinux.org/index.php/Environment_variables Environment Variables]] before launching the game, otherwise in-game text will not render properly:   
+
If you are using mesa and are not using proprietary graphics drivers, you will need to set the following [[Environment variables]] before launching the game, otherwise in-game text will not render properly:   
  
 
   export MESA_GL_VERSION_OVERRIDE=4.5COMPAT
 
   export MESA_GL_VERSION_OVERRIDE=4.5COMPAT
  export MESA_GLSL_VERSION_OVERRIDE=450
 
  
 
==== Store Authentication Required ====
 
==== Store Authentication Required ====
Line 262: Line 223:
 
==== Low FPS ====
 
==== Low FPS ====
  
* On Wine configuration, in staging tab, set CSMT option checked
+
* On Wine configuration, in staging tab, set CSMT option checked (Note: You can alternatively install {{pkg|wine-staging-nine}} and enable gallium-nine in the staging tab instead)
 
* In game settings, set max FPS to 60 and disable vertical sync
 
* In game settings, set max FPS to 60 and disable vertical sync
  
Line 271: Line 232:
  
 
* If you cannot access the launcher store running d3dstream patched wine, you can bypass the problem by running the game from the default 64-bit prefix with the below command, just remember to restart the game before you try to go for another match.
 
* If you cannot access the launcher store running d3dstream patched wine, you can bypass the problem by running the game from the default 64-bit prefix with the below command, just remember to restart the game before you try to go for another match.
  wine .wine32/drive_c/Riot\ Games/League\ of\ Legends/lol.launcher.exe
+
  wine .wine32/drive_c/Riot\ Games/League\ of\ Legends/LeagueClient.exe
  
 
=== PlayOnLinux Troubleshooting ===
 
=== PlayOnLinux Troubleshooting ===

Latest revision as of 20:00, 29 November 2017

Gnome-colors-add-files-to-archive.pngThis article is being considered for archiving.Gnome-colors-add-files-to-archive.png

Reason: This duplicates work of Wine AppDB community, should we have an article on every popular windows application too? (Discuss in Talk:Wine)

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements.Tango-edit-clear.png

Reason: Style problems, little overview - see Help:Style (Discuss in Talk:League of Legends#)

League of Legends is a multiplayer online battle arena video game developed and published by Riot Games for Microsoft Windows and OS X. This page outlines working methods to get the Windows version of League of Legends working through Wine.


Installation

Lutris Method

Tip: The other methods are lot harder and/or buggy, probably not working at all in some cases. This one is easier and is reported to work on 18º of October 2017
  1. Install lutrisAUR from AUR
  2. Install from https://lutris.net/games/league-of-legends/
Here is an outdated video from the creator of the Lutris script that could be useful in case of doubt/troubleshooting https://www.youtube.com/watch?v=z5uwusZTlNM

PlayonLinux Method

Note: The PlayOnLinux script is out of date and may not work. There is a beta script that is reported to work.

To install League of Legends using this method, playonlinux must be installed in the system. When you first run it, PlayOnLinux will install some necessary fonts. Afterwards, click Install, check the "testing box" and then search for "League of Legends". The rest is self-explanatory.

If the installer fails saying that DirectX cannot be installed, make sure you install these packages first:

PlayOnLinux 5

  1. Install playonlinux5-gitAUR
  2. Open it and go to Apps -> Games -> "League of Legends BETA Client".
  3. Click install.
  4. Run the "League of Legends BETA Client" from Library.
  5. Upgrade to the BETA client.
  6. Wait for it to finish and close the launcher.
  7. Start the BETA client from the Library.

AUR Package

Note: You may need to add your user to games group.

leagueoflegendsAUR from the AUR is available to ease the installation of the game using the method used in the #Wine Method section. This package will download the game installer in /opt/games/leagueoflegends and configure the wine environment to run the game. Additionally, it creates a bash script and a .desktop file to launch the game.

Also you can use leagueoflegends-gitAUR do the same, but another way.

Wine Method

Note: The guide is written mostly for x86_64 systems, if your architecture is i686, you can skip setting up the new Wine Prefix (Just use the default wine prefix instead: .wine). You can also ignore WINEARCH/WINEPREFIX parts of commands· And to you, "lib32-lcms2" would just be "lcms2"

Create a 32-bit Wine PREFIX

Install wine on your system and run:

# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg

to create a default 32-bit prefix at $HOME/.wine. If it asks to install something (like Wine Mono or Wine Gecko or some such) just always click install. After this make sure Windows Version is set to Windows XP.

Install the dependencies

Install the required packages on your system:

Install the following windows components using winetricks:

# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winetricks directx9 d3dx9_43

Run winecfg and add the following dll overrides under the libraries tab:

# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
  • msvcp140 (Native, then builtin)
  • msvcp120 (Native, then builtin)
  • vcomp120 (Native, then builtin)
  • atl120 (Native, then builtin)

Client installation

Using Windows installer
Warning: The Windows installer may not work on some systems.

Use the latest installer from riot games: https://riotgamespatcher-a.akamaihd.net/releases/live/installer/deploy/League%20of%20Legends%20installer%20NA.exe

Follow the steps indicated on the installer menu.

Using an existing copy of the game

There are several ways to do this, the Windows version (as long as it can run the Installer which probably requires Windows XP or newer) here are a few methods.

  • Get access to a physical Windows based machine, in your home or at your neighbors/friends place, bring a 8GB USB flash drive or external HDD with you and install the game on it. (If you do not have a 16GB flash drive you can use a smaller one and make a few round trips after installing the game on the HDD instead.)
  • Install a virtualization software (like Virtualbox or VMWare Player) and set up a Windows installation inside of it. Make sure it has a network connection, then install League of Legends on it, set up a shared folder between the VM and the host machine, and move the League of Legends installation into it, then from the Host system you can proceed to the next step and move the installation from the shared folder into your Wine Prefix.
  • If you already have a Dual-Boot setup, you can just install League of Legends onto the Windows installation, load the hard drive to Linux (requires ntfs-3g, may also require you to set the exec option in /etc/fstab for the drive) then proceed to the next step and symlink the folder from your Windows drive to your Wine Prefix.
  • See if the installer works with playonlinux. If it does then install it, move the folder from the playonlinux wineprefix to the wine32 prefix and uninstall playonlinux again (or keep it if you would like)

After you get your hands on the game, either move or symlink it to your wine32 prefix, using either of these commands (assuming you have a dual boot setup and your windows partition is mounted at /mnt/windows, or you have the game on a USB flash drive mounted at /media/removable):

# ln -s /mnt/windows/Riot\ Games/ $HOME/.wine32/drive_c/
# mv /media/removable/Riot\ Games/ $HOME/.wine32/drive_c/

Run the game under Wine

Create an alias to execute the 32-bit Wine installation (in ~/.bashrc) this is not really a required step, but just a good practice since you can use this to run other programs that play better with a 32-bit wine prefix than a 64-bit one.

# alias wine32='env WINEARCH=win32 WINEPREFIX="$HOME/.wine32" wine'

The above alias will work with winecfg, it will however not work with winetricks (to run winetricks you need to do it like done formerly in this guide)

Create a bash script or an alias with the following commands:

Bash script example: /bin/leagueoflegends

#!/bin/sh
pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/
WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine LeagueClient.exe
popd

Make sure to remember to make the file executable

# chmod +755 /bin/leagueoflegends

Alias example: $HOME/.bashrc

# alias League_of_Legends='pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/ && wine32 LeagueClient.exe && popd'

Shortcut example (if you made a bash script, this can be useful for example if you want to launch the game from steam): /usr/share/applications/LeagueofLegends.desktop

[Desktop Entry]
Name=League of Legends
Comment=Runs League of Legends through a 32-bit Wine installation.
Exec=/bin/leagueoflegends
Terminal=false
Type=Application
Icon=LoL_Icon.png
Categories=Wine;Game;

To be able to use an Icon for the application, you need to either convert the */RADS/system/icon.ico to the png format (with imagemick or gimp), or download the icon separately and place it in the ~/.icons/ folder of your home directory. Here is a 48x48 icon you can download.

Run the bash script/alias/shortcut and you should be good to go!

To test if the game is working, create a custom Summoner's Rift match with one bot. If it loads and you do not crash upon opening the in-game store, you are golden! Congratulations!

Troubleshooting

Tips

  • In case of flashing mini-map or exceedingly low FPS try disabling HUD animations in the in-game options for notable boost in performance.
  • On certain Intel cards, enabling vertical sync can lead to a big boost in performance.
  • If the terrain is too dark, one solution would be to install the proprietary drivers of your graphics card.
  • Disabling Anti-Aliasing, Vertical Synchronization and Frame Rate Cap in the in-game options may greatly improve performance for some cards.
  • If there is no in-game audio with usb sound cards, installing wine-staging may resolve it.

Connection issues

Connection Error: connection failure unable to connect to the pvp.net server

Authentication and logging in works, however the connection then fails with the abovementioned error. One possible solution, according to https://appdb.winehq.org/objectManager.php?sClass=version&iId=19141 is disabling TCP timestamps:

# sysctl -w net.ipv4.tcp_timestamps=0

For a permanent solution:

# echo "net.ipv4.tcp_timestamps = 0" > /etc/sysctl.d/10-tcp-timestamps.conf

Login server does not respond

You need to properly configure wininet library:

# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg

In the library tab, you need to edit the configuration of the wininet library to Built-in then native.

Alternatively, you can disable the library by adding the following variable override to the launch command:

 WINEDLLOVERRIDES='wininet=b,n'

Launcher issues

Launcher screen is black

Install the 32-bit graphics driver listed in the OpenGL (Multilib) column in Xorg#Driver installation.

Using OpenGL

Edit the file Config/game.cfg and add x3d_platform=1 to [General] section.

[General]
x3d_platform=1

This option should switch to the OpenGL renderer.

Warning: This can cause some moderate to severe graphic bugs and blurry textures, depending on setup.


If you are using mesa and are not using proprietary graphics drivers, you will need to set the following Environment variables before launching the game, otherwise in-game text will not render properly:

 export MESA_GL_VERSION_OVERRIDE=4.5COMPAT

Store Authentication Required

If clicking "Browse the Store" causes a dialog box titled "Authentication Required" with the text "Please enter your username and password: Server store.XX#.lol.riotgame.com", do not enter your user/pass. Clicking OK leads to a screen filled with black text (highlight to confirm), and clicking Cancel probably gives some network timeout error.

A possible solution: After you log in, there is a home screen containing elements that link to youtube videos, patch notes, etc. In this home screen there are two or more elements that link to current sales within the in-game shop. If you click on one of those sales, for example, a skin that is on sale, it'll automatically authenticate and send you to the in-game shop, and as a result you won't get the session error and re-authentication bug.

Tip via Play on Linux thread.

Hang after champ select with AMD proprietary fglrx driver

If you have the proprietary AMD fglrx driver installed, you should install trough winetricks the directx9 package (Not d3dx_y)

Game failing to run after Champion Select screen

First you will want to find your hostname.

# cat /etc/hostname

Then you will want to make sure your /etc/hosts file uses your hostname over localhost, you can do this by opening /etc/hosts with an editor of your choice.

# nano /etc/hosts

Then replace all mentions of localhost with the hostname you got from the first command (this change requires a system restart, without this your game will fail after champion select with a "Bad Window" error)

In-game issues

Low FPS

  • On Wine configuration, in staging tab, set CSMT option checked (Note: You can alternatively install wine-staging-nine and enable gallium-nine in the staging tab instead)
  • In game settings, set max FPS to 60 and disable vertical sync

For d3dstream patched Wine

Warning: On some setups users may experience temporary game freezes during gameplay if using this patch, proceed with caution. If this happens to you, you may be better off using the official version of Wine as freezing is not tolerable in competitive games.
  • You need to add a registry key to Wine in order to apply the performance boost the patch offers, read this for more information on how.
  • If you cannot access the launcher store running d3dstream patched wine, you can bypass the problem by running the game from the default 64-bit prefix with the below command, just remember to restart the game before you try to go for another match.
wine .wine32/drive_c/Riot\ Games/League\ of\ Legends/LeagueClient.exe

PlayOnLinux Troubleshooting

  • Bugsplat opening patcher: To fix this you need to configure the PlayOnLinux's wine version by clicking the configure gear, change wine version to system from 1.9-LeagueOfLegends and if you have not done so already install lib32-libldap.
  • Adobe air missing: To fix this you need to install lib32-lcms2.
  • The login server did not respond:

PlayOnLinux seem to be missing a symlink from the generic version of libgcrypt to the specific version it ships. That can be fixed by finding the folders of the affected Wine versions and creating the links manually. Replace ARCH with either x86 or amd64, and VERSION with the Wine version you intend to fix.

$ cd ~/.PlayOnLinux/wine/linux-ARCH/VERSION/lib
$ ln -s libgcrypt.so.11.* libgcrypt.so.11
$ ln -s libgcrypt.so.11 libgcrypt.so

If you are still unable to login after setting up the above symlinks, lib32-gnutls may need to be manually installed or re-installed.

  • Store (for runes) is all black: install IE8 in the PlayOnLinux components.