League of Legends is a popular MOBA game released in 2009. Despite being almost 10 years old, the game still doesn’t have an official GNU/Linux client.
Through community effort, playing League on Linux has been possible by installing it through Wine.
There are some tutorials available which take advantage of Wine wrappers, such as Lutris or PlayOnLinux. However, due to the frequency the game gets updated and patched, using wrappers constantly breaks game functionality. This guide aims for a stable League installation using only Wine, and assumes you have already set your graphics drivers accordingly.
Step 1: Install wine-staging and winetricks from your favorite package manager.
Step 2: Create and configure a League prefix for Wine by typing the following command on your terminal:
After a few compilation warnings,
winecfg should successfully load.
Click on the graphics tab and make sure “Automatically capture mouse in full screen windows.” checkbox is disabled.
Next, click on the libraries tab and add msvcp140 to the list.
These are compatibility measures to reduce possible game client crashes.
Additionally, if you’re playing on a NVIDIA graphics card, proceed to the
staging tab and make sure the “Enable CSMT for better graphic performance (deprecated)” and “Enable VAAPI as backend for DXVA2 GPU decoding” checkboxes are enabled. *
Step 3: Navigate to League of Legends website and download the game installer. I’ll save you some time by direct linking its installer. Keep in mind you’ll need to change the server on this link depending on which server is your account located (NA, EUW, EUE, BR… etc).
Provided you’ve downloaded the installer into your default user folder, install the game (but DO NOT LAUNCH IT AFTER INSTALL YET!) using the following command in terminal:
WINEPREFIX=~/.LoL64 wine ~/Downloads/League\ of\ Legends\ installer\ NA.exe
(remember to change ‘NA’ to your server in case you’re located in another region/server).
Step 4: Install the needed DirectX library for correctly executing League.
WINEPREFIX=~/.LoL64 ./winetricks d3dx9
Step 5: pack the client launch into a firendly binary:
sudo nano /usr/local/bin/lol64
Paste (ctrl+shift+V) the following script into the file:
#!/bin/bash export WINEPREFIX=~/.LoL64 wine "C:/Riot Games/League of Legends/LeagueClient.exe"
Save it by hitting ctrl+X, then Y, then Enter. Before we can actually use the script we just created, we must mark it as an executable. Run the following command to do so:
sudo chmod +x /usr/local/bin/lol64
From this point forward, any time you wish to launch League, you simply need to enter this in the terminal:
Pin it to your panel once you have it executed, or create a desktop shortcut if that’s your flavour:
Make a text document named “League of Legends.desktop”, open it, and paste in the following:
[Desktop Entry] Version=1.0 Type=Application Name=League of Legends Exec=env lol64 Icon=4FC3_LeagueClient.0 Categories=Game;
Open a terminal and run the following command. The text document should then act like a normal desktop shortcut.
chmod +x ~/Desktop/League\ of\ Legends.desktop
That’s it. Now go feed games or carry your team the victory in Summoner’s Rift.
*Optionally, you can try to make OpenGL rendering (which in theory would lead to higher FPS rates), but I tried to make it work during several installs and configurations on my GTX 1050 Ti and it was a real pain for the little gain around.