Difference between revisions of "League of Legends"

From ArchWiki
Jump to: navigation, search
m (Add comment about no native version)
(Troubleshooting/Tips)
 
(114 intermediate revisions by 29 users not shown)
Line 1: Line 1:
 
[[Category:Gaming]]
 
[[Category:Gaming]]
There is currently only a Mac OS and a Windows version of LoL even if there is a [http://www.change.org/en-GB/petitions/petition-port-league-of-legends-to-linux-operating-systems petition for a GNU/Linux port].
+
[[Category:Wine]]
This page outlines working methods to get the Windows League of Legends version working on your arch system through Wine.
+
{{Poor writing|Style problems, little overview - see [[Help:Style]]}}
 +
There is currently only a Mac OS and a Windows version of LoL. This page outlines working methods to get the Windows League of Legends version working on your arch system through Wine.
  
== PlayonLinux Method ==
+
'''This guide was last tested with:'''
  
{{Note | This method did not work previously and it was advised to set up a chroot; which is outlined in the next section. However, it works now, regardless of architecture.}}
+
''Arch Linux Kernel:'' '''4.2.3-1-ARCH'''
 +
 
 +
''Wine Version:'' '''1.7.53'''
 +
 
 +
''LoL Version:'' '''5.20'''
 +
 
 +
'''Issues:'''
 +
* Icons for runes in the launcher store do not appear
 +
* Right clicking friends in the friend list (to invite to a game) does not work (this issue can be circumvented by using the invite button in the lobby)
 +
** [https://bugs.winehq.org/show_bug.cgi?id=35701#c5 Another workaround] to this issue is to mouse over your friend, press down right mouse button, press down left mouse button, release left mouse button, and then release right mouse button.
 +
* Lesser performance than running the game on windows
 +
* In a 64-bit Wine prefix the Patcher will be black (but pressing buttons will work) and launching a match will end up in a black screen.
 +
* The installer hangs when it should start the installation
 +
* The Basic Tutorial does not work.
 +
 
 +
== PlayonLinux Method ==
  
 
This is the easiest method. Just install {{Pkg|playonlinux}}.  
 
This is the easiest method. Just install {{Pkg|playonlinux}}.  
  
 
After installation run from the command line
 
After installation run from the command line
  # playonlinux
+
  $ playonlinux
  
When you first run it, playonlinux will install some necessary fonts. Afterwords, click Install, check the "testing box" and
+
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.  
 
then search for "League of Legends". The rest is self-explanatory.  
Enjoy!
 
  
== Chroot Method ==
+
=== Troubleshooting ===
  
=== Setup ===
+
* '''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 {{Pkg|lib32-libldap}}.
  
{{Note| If your architecture is i686, you can skip setting up the chroot. But, make sure that {{ic|Windows XP}} is set in your winecfg.}}
+
* '''Adobe air missing:''' To fix this you need to install {{Pkg|lib32-lcms2}}.
  
==== Set up a chroot ====
+
* '''The login server did not respond:'''
 +
PlayOnLinux seem to be missing a symlink from the generic version of {{Pkg|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.
  
The way to do this is outlined in [[Install bundled 32-bit system in Arch64]]. An even
 
easier method is to install {{AUR|arch32-light}} from the AUR [which automates the steps
 
outlined in the wiki article cited].
 
  
===== Install your graphics drivers =====
+
  $ cd ~/.PlayOnLinux/wine/linux-ARCH/VERSION/lib
 +
$ ln -s libgcrypt.so.11.* libgcrypt.so.11
 +
$ ln -s libgcrypt.so.11 libgcrypt.so
  
You will need to install your graphics drivers inside the chroot. You will need
+
If you are still unable to login after setting up the above symlinks, {{Pkg|lib32-gnutls}} may need to be manually installed or re-installed.
hardware acceleration drivers as well.
+
  
===== Install {{Pkg|wine}} in your chroot =====
+
* '''No sounds:''' install {{Pkg|lib32-alsa-lib}} (for pulseaudio users: {{Pkg|lib32-alsa-plugins}} and {{Pkg|lib32-libpulse}})
  
===== Create a wine PREFIX =====
+
* '''Store (for runes) is all black:''' [http://forums.eune.leagueoflegends.com/board/showthread.php?t=571456 install IE8] in the PlayOnLinux components.
  
Run:  
+
* '''Crash after champ select:''' [http://www.playonlinux.com/en/topic-11344-1.html install directx9] in the PlayOnLinux components.
  
# schroot -p winecfg
+
== Wine Method ==
to create a default 32-bit prefix at $HOME/.wine and take the chance to verify that it
+
is set on Windows XP
+
  
{{Note| If you do not have {{Pkg|schroot}} installed, follow the following guide to set it up:
+
{{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"}}
[[Install bundled 32-bit system in Arch64#Install and Configure Schroot]]}}
+
{{Warning|The installer does not currently seem to be working in Wine}}
 +
=== Create a 32-bit Wine PREFIX ===
 +
{{Tip|There is an experimental higher d3d performance [https://aur.archlinux.org/packages/wine-d3dstream-git/ patched version of wine] available in AUR, the performance boost it offers requires adding a registry key with regedit in Wine. I see my framerate go from 160 to 240 with this feature enabled, that is a solid +50% increase in framerate. See more at the bottom of the page.}}
 +
Install {{Pkg|wine}} on your system and run:
  
===== Install the following in chroot =====
+
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
{{Note| The following list is compiled from different users on different systems.
+
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.
Other users might need more or less then what is listed here. If you need something not listed here, please add it to the list.}}
+
  
* {{Pkg|gnutls}}
+
===  Install the dependencies ===
* {{Pkg|lcms}}
+
* {{Pkg|samba}}
+
  
====  Set up your base system ====
+
Install the required packages on your system:
 +
* {{Pkg|lib32-alsa-lib}} (for pulseaudio users: {{Pkg|lib32-alsa-plugins}} and {{Pkg|lib32-libpulse}})
 +
* {{Pkg|lib32-libldap}}
 +
* {{Pkg|lib32-lcms2}}
 +
* {{Pkg|lib32-gnutls}} 
 +
* {{Pkg|winetricks}}
  
Install {{Pkg|wine}} and {{Pkg|winetricks}} in your base system.
+
Install the following windows components using winetricks:
  
Install the following windows components using winetricks from your base system:
+
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winetricks d3dx9 vcrun2005 wininet corefonts adobeair ie8
  
# winetricks d3dx9 vcrun2005 wininet corefonts
+
If you run into problems installing adobeair, you need to make a little change in your Winecfg.
  
===== Install the following in your base system =====
+
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
{{Note| The following list is compiled from different users on different systems. Other users might need more or less then what is listed here. If you need something not listed here, please add it to the list.}}
+
  
* {{Pkg| lib32-libldap}}: This is required for running the installer
+
Access the libraries tab, find in the list of existing libraries (or add a new entry for it if it does not exist) '''dnsapi''', click Edit... and configure it for "'''Native then Builtin'''"
  
=== Install ===
+
=== Installation ===
 +
The installer is currently not working for me in Wine, but the command to execute it if you want to try would be the following:
  
==== Download the LoL installer ====
+
# GC_DONT_GC=1 WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine /path/to/installer.exe
  
You can download the installer from the league of legends website:
+
==== Get your hands on an installed 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.
  
[http://na.leagueoflegends.com/ League of Legends]
+
* 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.)
  
==== Download the Game ====
+
* 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.
Run the following command from your base system:
+
  
# GC_DONT_GC=1 wine $directory/LeagueofLegends.exe
+
* 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 {{Pkg|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.
  
where $directory is the directory where the installer is
+
* See if the installer works with {{Pkg|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)
located.
+
  
==== Install the Game ====
+
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):
Install the game from your base system. Find the setup.exe file and go
+
  
  # wine setup.exe
+
  # ln -s /mnt/windows/Riot\ Games/ $HOME/.wine32/drive_c/
 +
# mv /media/removable/Riot\ Games/ $HOME/.wine32/drive_c/
  
{{Note| This may happen automatically when the download finishes}}
+
==== Compatibility Steps ====
 +
 
 +
*'''Hostname''' (Fixes the 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)
 +
 
 +
*'''Texture Patch''' (Fixes in-game store crashing the game when it is opened)
 +
 
 +
You now need to patch away the mipmaps of the in-game shop icons. An alternative method is to patch [http://pastebin.com/xSNJjkMY Wine itself].
 +
 
 +
A better method is edit the .../Config/Game.cfg and under the [General] section add "x3d_platform=1" along with the other options instead of patching either wine or the texture files. This works in wine 1.7.53.
  
==== Patch the game ====
 
 
Download   
 
Download   
  
 
[https://github.com/A-Metaphysical-Drama/LoL-Linux-Tools/ LoL-Linux-Tools]
 
[https://github.com/A-Metaphysical-Drama/LoL-Linux-Tools/ LoL-Linux-Tools]
  
Follow the included instructions and apply the texture patch.
+
Extract the file to a location of your choosing, then edit config.py with an editor of your choice and set an absolute path.
This will prevent the game from crashing when you open the
+
lol_path = '/home/USERNAME/.wine32/drive_c/Riot Games/League of Legends/'
in-game store.
+
  
==== Running the Game ====
+
Then execute the patch with
 +
# python2 lol_linux.py texture_patch
  
Create a bash script with the following commands:
+
If all went well, you will see an output explaning what the patch is doing (unpacking a bunch of dds files from an archive, patching out the mipmaps in them, archiving them again, and then it will be done, this takes a few)
 +
And now your LoL client should finally be working!
  
 +
{{Warning|If you use this Texture Patch rather than patching Wine itself for compatibility with the original store icons, you will need to apply the patch again every time the game is updated. This is because if Riot Games add new icons or change existing ones, they will not be compatible with Wine anymore.}}
 +
You can create an alias in .bashrc to automate this process a bit.
 +
alias lol-update='python2 $HOME/.lol_patch/lol_linux.py texture_patch'
 +
The patch will only take long to finish the first time you run it, as it does not need to patch all of the files again, only the ones that are new or have changed.
 +
 +
=== Run the Game ===
 +
 +
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
 
  #!/bin/sh
  cd "$HOME/.wine/drive_c/Riot Games/League of Legends/RADS/system/"
+
  pushd $HOME/.wine32/drive_c/Riot\ Games/League\ of\ Legends/RADS/system/
  schroot -p -- wine "rads_user_kernel.exe" run lol_launcher $(ls ../projects/lol_launcher/releases/) LoLLauncher.exe
+
  WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine rads_user_kernel.exe run lol_launcher $(ls ../projects/lol_launcher/releases/) LoLLauncher.exe
 +
popd
  
Run the bash script and you should be good to go!
+
Make sure to remember to make the file executable
  
Enjoy playing LoL on your Arch System!!!!
+
# chmod +755 /bin/leagueoflegends
  
== Troubleshooting ==
+
Alias example: '''$HOME/.bashrc'''
 +
# alias League_of_Legends='popd $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 && pushd'
 +
 
 +
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/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.
 +
 
 +
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 minimap or exceedingly low FPS try disabling HUD animations in the in-game options for notable boost in performance.
 
* In case of flashing minimap 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.
 
* On certain intel cards, enabling vertical sync can lead to a big boost in performance.
  
* If the game crashes after champion select make sure to replace 'localhost' with your real hostname in /etc/hosts.
+
* If the launcher is all black, make sure you have a lib32 version of libgl installed {{Pkg|lib32-mesa-libgl}} {{Pkg|lib32-nvidia-libgl}} {{AUR|lib32-catalyst-utils}}/[[AMD_Catalyst#Installing_from_the_unofficial_repository|lib32-catalyst-libgl]]
 +
 
 +
*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 ingame audio with usb sound cards, installing [https://www.archlinux.org/packages/?name=wine-staging wine-staging] may resolve it.
 +
 
 +
* If the login server doesn't respond, you can try by removing wininet:
 +
 
 +
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg
 +
 
 +
Access the libraries tab, find in the list of existing libraries '''wininet''', click Remove...
 +
 
 +
*For further troubleshooting, go to [https://bbs.archlinux.org/viewtopic.php?id=183860 this thread].
 +
 
 +
==== 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, [https://bbs.archlinux.org/viewtopic.php?pid=1321578#p1321578 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/lol.launcher.exe
 +
 
 +
==== In-game shop crash ====
 +
 
 +
Edit the file {{ic|Config/game.cfg}} and add {{ic|1=x3d_platform=1}} to {{ic|[General]}} section.
 +
 
 +
[General]
 +
x3d_platform=1
 +
 
 +
This option should switch to the OpenGL renderer.
 +
 
 +
{{Warning|This may cause some moderate to severe graphic bugs and blurry textures, depending on setup.}}
 +
 
 +
==== 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 [https://www.playonlinux.com/en/app-1135-League_Of_Legends.html Play on Linux thread].
 +
 
 +
==== 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
  
* If you have no sound make sure alsa-lib is installed inside your chroot.
+
==== Hang after champ select with AMD proprietary fglrx driver ====
  
* If the launcher is all black, maybe you forgot to install your graphics drivers inside your chroot.
+
If you have the proprietary AMD fglrx driver installed, you should install trough winetricks the {{ic|directx9}} package (Not d3dx_y)

Latest revision as of 22:18, 21 April 2016

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#)

There is currently only a Mac OS and a Windows version of LoL. This page outlines working methods to get the Windows League of Legends version working on your arch system through Wine.

This guide was last tested with:

Arch Linux Kernel: 4.2.3-1-ARCH

Wine Version: 1.7.53

LoL Version: 5.20

Issues:

  • Icons for runes in the launcher store do not appear
  • Right clicking friends in the friend list (to invite to a game) does not work (this issue can be circumvented by using the invite button in the lobby)
    • Another workaround to this issue is to mouse over your friend, press down right mouse button, press down left mouse button, release left mouse button, and then release right mouse button.
  • Lesser performance than running the game on windows
  • In a 64-bit Wine prefix the Patcher will be black (but pressing buttons will work) and launching a match will end up in a black screen.
  • The installer hangs when it should start the installation
  • The Basic Tutorial does not work.

PlayonLinux Method

This is the easiest method. Just install playonlinux.

After installation run from the command line

$ playonlinux

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.

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.

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"
Warning: The installer does not currently seem to be working in Wine

Create a 32-bit Wine PREFIX

Tip: There is an experimental higher d3d performance patched version of wine available in AUR, the performance boost it offers requires adding a registry key with regedit in Wine. I see my framerate go from 160 to 240 with this feature enabled, that is a solid +50% increase in framerate. See more at the bottom of the page.

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 d3dx9 vcrun2005 wininet corefonts adobeair ie8

If you run into problems installing adobeair, you need to make a little change in your Winecfg.

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

Access the libraries tab, find in the list of existing libraries (or add a new entry for it if it does not exist) dnsapi, click Edit... and configure it for "Native then Builtin"

Installation

The installer is currently not working for me in Wine, but the command to execute it if you want to try would be the following:

# GC_DONT_GC=1 WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine /path/to/installer.exe

Get your hands on an installed 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/

Compatibility Steps

  • Hostname (Fixes the 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)

  • Texture Patch (Fixes in-game store crashing the game when it is opened)

You now need to patch away the mipmaps of the in-game shop icons. An alternative method is to patch Wine itself.

A better method is edit the .../Config/Game.cfg and under the [General] section add "x3d_platform=1" along with the other options instead of patching either wine or the texture files. This works in wine 1.7.53.

Download

LoL-Linux-Tools

Extract the file to a location of your choosing, then edit config.py with an editor of your choice and set an absolute path.

lol_path = '/home/USERNAME/.wine32/drive_c/Riot Games/League of Legends/'

Then execute the patch with

# python2 lol_linux.py texture_patch

If all went well, you will see an output explaning what the patch is doing (unpacking a bunch of dds files from an archive, patching out the mipmaps in them, archiving them again, and then it will be done, this takes a few) And now your LoL client should finally be working!

Warning: If you use this Texture Patch rather than patching Wine itself for compatibility with the original store icons, you will need to apply the patch again every time the game is updated. This is because if Riot Games add new icons or change existing ones, they will not be compatible with Wine anymore.

You can create an alias in .bashrc to automate this process a bit.

alias lol-update='python2 $HOME/.lol_patch/lol_linux.py texture_patch'

The patch will only take long to finish the first time you run it, as it does not need to patch all of the files again, only the ones that are new or have changed.

Run the Game

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/RADS/system/
WINEARCH=win32 WINEPREFIX=$HOME/.wine32 wine rads_user_kernel.exe run lol_launcher $(ls ../projects/lol_launcher/releases/) LoLLauncher.exe
popd

Make sure to remember to make the file executable

# chmod +755 /bin/leagueoflegends

Alias example: $HOME/.bashrc

# alias League_of_Legends='popd $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 && pushd'

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/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 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 minimap 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 ingame audio with usb sound cards, installing wine-staging may resolve it.
  • If the login server doesn't respond, you can try by removing wininet:
# WINEARCH=win32 WINEPREFIX=$HOME/.wine32 winecfg

Access the libraries tab, find in the list of existing libraries wininet, click Remove...

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/lol.launcher.exe

In-game shop crash

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 may cause some moderate to severe graphic bugs and blurry textures, depending on setup.

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.

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

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)