In-Depth HOW TO: Install League of Legends in Wine on 64bit Linux (100% Functional)

12345 ... 11
Comment below rating threshold, click here to show it.

Sk8rjwd

This user has referred a friend to League of Legends, click for more information

Member

12-30-2012

So it took me about a day to figure this out and I thought I would write up a short, but all inclusive guide to how I got my League of Legends working in Wine with 40 FPS and both the in-game and client shops working. Keep in mind that this guide is written with the idea that you already have League of Legends installed somewhere else OR you can get a copy of the "Riot Games" folder located in Program Files in Windows. I don't know if it is 100% legal to upload your own personal folder, but if anyone knows it is or doesn't mind uploading their own, please give it a shot and I will include the link in this original post.

This guide includes information gathered from the following links:


Step 1: Installing Wine + Winetricks

In LinuxMint, I used Software Manager to install the newest version of Wine (at the time of this writing it is: 1.5.20) and I recommend using a software manager to install Wine if one comes installed with your version of Linux, but I have also included the terminal code to install Wine manually.

  • Go to Step 1a to install Wine from Software Manager
  • Go to Step 1b to install Wine from Terminal

Step 1a
  1. Open up Software Manager
  2. Search for "wine"
  3. Click the first item in the list (wine, Microsoft windows compatibility layer)
  4. Click Install
  5. When Wine is finished installing, you can skip to Step 2

Step 1b
Run the following in terminal:
  1. sudo add-apt-repository ppa:ubuntu-wine/ppa
  2. sudo apt-get update
  3. sudo apt-get install wine1.5

Step 2: Installing Winetricks Extras

This is mostly copy/pasted from SxeAzn's (2) thread.
Run the following lines of code in terminal:
  1. winetricks vcrun2005
  2. winetricks ie8
  3. winetricks wininet
  4. winetricks d3dx9
  5. winetricks corefonts
  6. winetricks adobeair

Step 3: Configuring Wine

Run the following line of code in terminal:
  1. winecfg

Then change the Windows Version setting to Windows 8.

Step 4: Moving your League of Legends Install

Copy and paste the "Riot Games" folder (probably found under C:/Program Files) into:
  • "/home/USERNAME/.wine/dosdevices/c:/Program Files/"
(replace USERNAME with your username)

Step 5: Patching League files so that the In-Game Store works properly

This step is going to be mostly copied from Metaph's thread (3). You can visit Metaph's thread for more information about why this works, I will just be showing you how to do it.

First things first, download the Python Patcher that Metaph created at the following link:
https://github.com/A-Metaphysical-Drama/LoL-Linux-Tools
(Click the button that says "ZIP" towards the upper-left hand corner)

Second, extract the folder to a directory of your choosing. (Desktop is fine)

Third, open the included config.py in a text editor of your choosing and change the "lol_path" to your League of Legends directory.
If you followed this guide correctly, yours should be:
  • /home/USERNAME/.wine/dosdevices/c:/Program Files/Riot Games/League of Legends/

Next, open up terminal and navigate to the directory that contains the "lol_linux.py" file that you extracted by running:
  • cd /PATH/TO/lol_linux.py
  • (if extracted to desktop = cd /home/USERNAME/Desktop/LoL-Linux-Tools-master)

And finally run the following commands:
  • python lol_linux.py texture_patch

Now this script requires certain dependencies to work 100%, so if it fails to run, the terminal will say which "imports" didn't work. This may be different on each machine, but I will give an example of how to fix this. My terminal said that I needed gnutls and yacc, so upon searching in google, I came up with the following commands to run in terminal (byacc is not a typo):
  • sudo apt-get install byacc
  • sudo apt-get install gnutls-bin

Now if that still didn't solve your problem try running:
  • sudo apt-get install NAME
(replace NAME with the name of what failed to import)

And if that also doesn't work, try googling or asking here.

This script does take some time to run so make sure that you haven't opened your League of Legends game and that you don't exit the script before it is completely finished. (It will show a 'Patching Succesful' echo)

Step 6 (optional): Configuring League for Maximum FPS
I was able to get 40 frames per second with my setup.

Step 6a: Editing LoL Settings
Navigate to:
  • /home/USERNAME/.wine/dosdevices/c:/Program Files/Riot Games/League of Legends/Config/
and open Game.cfg with your favorite text editor.

The following are my game settings, be sure to use your own resolution:
Quote:
[General]
SystemMouseSpeed=0
GameMouseSpeed=10
Width=1680
Height=1050
Colors=32
WaitForVerticalSync=0
PredictMovement=0
Windowed=0
EnableLightFx=0
UserSetResolution=1
BorderlessWindow=0
EnableAudio=1
[HUD]

ItemShopItemDisplayMode=0

ItemShopStartPane=1

ShowTimestamps=1
LockCamera=0
FlipMiniMap=0
EnableLineMissileVis=1
EnableSnowEffect=0
DrawHealthBars=0
SmartCastOnKeyRelease=1
DrawCenterHudWall=0
ObjectTooltips=0
AllChannelChatHiddenMsg=1
ShowAllChannelChat=1
AllChannelChatHiddenMsgSpectator=1
PerformanceProfileHiddenMsg=1
NumericCooldownFormat=1
[Performance]

EnableHUDAnimations=0
AutoPerformanceSettings=0
CharacterQuality=0
EnvironmentQuality=0
Full3DModeEnabled=0
GammaEnabled=0
EffectsQuality=0
ShadowQuality=0
FrameCapType=1
AdvancedShader=0
EnableParticleOptimizations=0
AdvancedReflection=0
PerPixelPointLighting=0
ShadowsEnabled=1
MouseOverEffect=0
[FloatingText]
SpellDamage_Enabled=1
Damage2_Enabled=1
Heal2_Enabled=1
Critical2_Enabled=1
Experience2_Enabled=1
QuestReceived_Enabled=1
QuestComplete_Enabled=1
Score_Enabled=1
ManaHeal_Enabled=1
ManaDamage_Enabled=1
Critical_Enabled=1
EnemyCritical_Enabled=1
LegacyCritical_Enabled=1
Legacy_Enabled=0
Debug_Enabled=1
Experience_Enabled=1
[Volume]
MusicVolume=0.5000
VoiceVolume=0.5000
[ColorPalette]
ColorPalette=2
[Replay]
EnableDirectedCamera=1
EnableHelpTip=0
EnableDefaultChat=1
Step 6b: Make LoL use only one core (better for 32bit installations of Wine)
Only do this step AFTER you have completed ALL of the others

Start up a game of LoL.
Once in game, switch out and open up terminal.

Run:
  • ps ax | grep League

Now it might show multiple entries, but look for one like this:
  • 18049 pts/2 Sl+ 29:30 Game\League of Legends.exe 8390 lol.launcher.exe Air\LOLClient.exe
That first number (18049) is the Process ID (PID).

Now run:
  • taskset -p 1 PID
Make sure you replace PID with your process ID. My command would be:
  • taskset -p 1 18049

Step 7: Creating a Launcher script

Create a new text file wherever you would like. I placed mine on my desktop.

Copy and paste the following into your new text file:
Quote:
cd "/home/USER/.wine/dosdevices/c:/Program Files/Riot Games/League of Legends/RADS/system"; WINEDEBUG=+ntdll wine "rads_user_kernel.exe" run lol_launcher $(ls ../projects/lol_launcher/releases/) LoLLauncher.exe
(make sure to replace USER with your username)

Save this file as whateveryouwant.sh (no, literally whatever you want as long as it has the extension .sh)

Now we need to make this file executable, so navigate to the directory that you saved this file in through terminal.
If you saved it on your desktop the command would be:
  • cd /home/USER/Desktop

And type the following command:
  • sudo chmod 755 YOURFILENAME.sh
(be sure to replace YOURFILENAME with the actual name of your file)

Step 8: Run it! (FINALLY)
Run your script file either by clicking it or navigating to the directory it is in through terminal and typing:
  • sudo bash FILENAME.sh
(be sure to replace FILENAME with the actual name of your file)

And...

Congratulations!! You now have a working League of Legends on your Linux computer!

If you have any questions, comments or concerns or need to point out an error or something that I have missed, please feel free to leave a comment and I will try to get back to you as soon as possible. I hope I helped out some people!

Linked below are pictures of the working store!
http://i.imgur.com/zWz9O.jpg


Many thanks to the people that wrote the original threads that I obtained all of my information from.

Known Bugs:

Missing wldap32.dll
Fix:
Login Errors
("server is busy", "failed for unknown reason" or "Retrieving data from server")
Fix:
Quote:
Originally Posted by weekendbowyer View Post
Run:
  • winetricks --force wininet
with ie6 installed.

to anyone else following this guide: you might want to install wininet after you install ie.
In-Game store not working for TT/Dom
Working on a solution. If anyone has one let me know. The error has to do with the mipmapped objects

Out-of-game store: Runes + Purchasing RP not working
Working on a solution. If anyone has one let me know. I think this error has to do with the way that wine gets the certificates from IE.

User Suggestions:
Quote:
Originally Posted by RigiRulz View Post
Hey bro, thought I should let you know:

I tried your guide on Mint 15, works great (thank you), there was just 1 problem. The in-game chat was invisible because it was missing the appropriate fonts. I fixed this by taking the contents of my C:/Windows/Fonts folder from my Windows partition and dumping them in the appropriate Wine folder (/home/user/.wine/dosdevices/c:/windows/Fonts). There's like 650 files in there and I'm sure you only need 1 of them, but I couldn't figure out how to pinpoint exactly which one I needed.

I think it's worth including on your guide.

Thanks again, Rigi.
Quote:
Originally Posted by swatikart View Post
If you have a persistent RADS error, try running \lol.launcher.admin.exe instead of \lol.launcher.exe

Just spent about 7 hours straight trying to fix what wasn't broken...


Comment below rating threshold, click here to show it.

WisdomWin

Recruiter

12-30-2012

Very helpful guide Thank you


Comment below rating threshold, click here to show it.

yurklol

Junior Member

12-31-2012

Working through this guide, thanks for providing it.

1 typo so far: in step 2 "winetricks d3dxp" should be "winetricks d3dx9". at least i'm 90% sure.


Comment below rating threshold, click here to show it.

fists of awaking

Junior Member

12-31-2012

Good work \m/ many thanks


Comment below rating threshold, click here to show it.

fists of awaking

Junior Member

12-31-2012

Many thanks, good job


Comment below rating threshold, click here to show it.

Sk8rjwd

This user has referred a friend to League of Legends, click for more information

Member

12-31-2012

Quote:
Originally Posted by yurklol View Post
Working through this guide, thanks for providing it.

1 typo so far: in step 2 "winetricks d3dxp" should be "winetricks d3dx9". at least i'm 90% sure.
You are 100% correct. FIxed it!
I'm glad you like it


Comment below rating threshold, click here to show it.

Satanwillpwnu

This user has referred a friend to League of Legends, click for more information

Junior Member

12-31-2012

Very nice tutorial keep it up, good job


Comment below rating threshold, click here to show it.

Sk8rjwd

This user has referred a friend to League of Legends, click for more information

Member

12-31-2012

If you guys have any questions let me know.


Comment below rating threshold, click here to show it.

Renthy

Junior Member

12-31-2012

Does this run on snow leopard 10?


Comment below rating threshold, click here to show it.

Sk8rjwd

This user has referred a friend to League of Legends, click for more information

Member

12-31-2012

Quote:
Originally Posted by Renthy View Post
Does this run on snow leopard 10?
No idea. ANything is possible.


12345 ... 11