HowTo play LoL with WINE under Mac (better performance than Riots MAC Beta Client) english version

NOTE: Sorry for my english! It is my “school english” which I trained last time more than 3 years ago 🙂
ATTENTION: I made this tutorial as easy as possible, but I require that a little bit of command / shell / terminal usage and MAC, BSD or Linux is available.
First, I have to thanks kardus which helped me to get it all working on my MacBook Pro. I had a few exchange of ideas with him at the AppDB of the WINE HQ.
Because of the actually poor performance of the Mac Beta, I started to check out, what other ways are available to play LoL under OS X. After a short time I recognized, that there are very different ways to get it running. So I tried it with Parallels Desktop, VirtualBox and at least with the Mac Beta Client. All variants had has one minor issue: the performance!
At this time I remembered back to my time with Linux on my Desktop and WINE itself. So I tried to make the same thing like these days before and started to compile WINE on my MacBook. One big problem here are the dependencies. If you want to compile ALL stuff which WINE needs on your own, you are welcome. But this take you much time longer than to use an easier way. This way is based on a software, which enable a package management way like you maybe already know out of Linux and is called “macports”.This wonderful peace of software allows you to install OSS software like under Linux (for example the Debian way: apt-get install SOFTWARE).
Now that you know the background of why you should to this at all, we have some Requirements before we can start with macports and compile WINE for yourself.At first, get the DMG File from the macports Homepage: http://www.macports.org/install.php. It’s the normal way of install a software under MAC, so you should know how to deal with it.At next, we need an XServer for MAC. Why? The easy answear is, that WINE is build on X11, which is the standard graphical system for Linux. Because Apple / OS X has their one way of an graphical system we need for WINE the X11 standard. For this it exists another project which is called “XQuartz”. XQuartz proivdes for your MAC an normal X11 Server, which you can easily install. The XQuartz Server will only gets started up, when it is needed by an software. So now, grep the last XQuartz version from their offical homepage: http://xquartz.macosforge.org/ or get the last version which I was able to picking out for you (2011.01.31) http://xquartz.macosforge.org/downloads/SL/XQuartz-2.6.0.dmg. Install it on the same way like macports.
After these two actions, the requirements are nearly done. At least you will need the biggest one. For compiling on a MAC, you need the XDevelopment Tool from Apple with the SDK of your OS X itself. You will found this on your OS X installation DVD or on the Apple Homepage itself. I prefer you to use your installation DVD. If you want to download it from the Apple HP, you need an Developer account which is free.
The installation of the requirements can take sometime (especially the installation of XDevelop from Apple). But when you’re done with these steps above, we can beginning with the main part (compiling and installing WINE):

1. Open a terminal at your MAC. You can to this by searching for “terminal” at spotlight (right corner).

2. Once, if the terminal is opened up, start typing the following command into the terminal:

sudo port configure wine-devel

Let me explain it as short as possible, what happens now: sudo is the command to start something with administration privileges. port is the command for the macports, which we installed before. configure tells macports what it have to do. This means it should not install wine right now, it should only download it, so that we can manipulate it a bit. At least you see the same of the package, which we want to configure. Here it is “wine-devel”. There is another wine package available on macports, which is easily called “wine”. But the “normal” wine is the last stable version. “wine-devel” the last development release. We need the last development version at all.

3. Now, it can take some time before the terminal reports you, that it is done with working. At this time you can type in commands again and this is want we also want to do next 🙂

4. Change the directory with help of the command “cd” to get into the following directory:

Notice, that you have to change the names “_some_long_name_with_wine_in_it” and “wine-devel-x.x.x” to the versions, that are actually downloaded by macports. If you do this the first time, there is only one directory with these names, so change to it!

5. Next we need a patch for WINE. This have to be, because the LoL GUI uses some commands or something like that, which is not possible to deal with for WINE. But this is easy and you get this patch on an easy way. Type in your console:

to get the required patch from the Wine HQ. curl is an easy to use command line downloader.

6. Now, that we have the required patch, we patch the WINE code with it to make it possible to get LoL with WINE runinng at all. To do this enter in your terminal

patch -p1 < ole-force-inproc-instead-of-local.patch

This should not take longer than 3-5 seconds. Now you’re WINE is patched and ready to get build and installed.

7. With macports you don’t see the whole output of the build process of WINE at all. You will only see a summary, but thats absolutely enough! Now, to start the build process simply type the following command in your terminal:
sudo ports install wine-devel
So this will gonna take a really long time! Grab a cupple of beers and coffees and wait until it is finished. This can take up to 3 oder 5 hours! The simply reason for this is, that all the requierements for WINE itself are builded, too.

8. If the build step is finished you need one thing more, which is called “winetricks”. winetricks is a little script, which allows you to handle easy installations for your WINE prefix, for example Direct X. We need 3 things to get LoL to statup and launch. To get this 3 things type at first following in the terminal:

sudo port install winetricks

With this command the little script get be downloaded and installed in your system. After that you will be able to use it. So, let us get the 3 requirements for LoL itself! Enter in the terminal:

winetricks vcrun2005 d3dx9 ie6

In this case winetricks will get you the Visual Runtime 2005, DirectX 9 in the last version and Internet Explorer 6.

9. That’s it! You’re done! You can now easily navigate with the command “cd” in your terminal where your lol.launcher.exe is located or otherwise you navigate to directory where your installer for LoL is located. You can also patch your LoL version. I tested it 2 oder 3 times and it worked without any errors.

If you have the problem, that ingame is no sound available type into your terminal

winecfg

to start the WINE configuration dialog. Now navigate to “Libraries” click onto “Add” and enter mmdeavapi.dll. At least select the added DLL click on edit an set it to “disabled”.
If your game will freeze, while you chat ingame, start also winecfg , but set easily on the first page your windows version to 2000. After that this should also be fixed!
I hope this little Tutorial will help you to get LoL running under your MAC. If you only want WINE without any patch (for example for other programs and games) you can step point 6. If you do this, the last wine-devel will be build and installed without any special patches or something like that.
If you have any questions, you’re welcome. I’m also thinking about an automatic script for that … I will see if I do that 😉
PS: Want to improve the game settings / performance a little bit? Go to http://appdb.winehq.org/objectManager.php?sClass=version&iId=19141 (official WINE AppDB) and try the game performance hints.

UPDATE: I’ve also wrote an article of how to improve the performance of the game here. This article has some additional informations which aren’t available at the AppDB of WINE.

Post navigation

74 thoughts on “HowTo play LoL with WINE under Mac (better performance than Riots MAC Beta Client) english version”

Great guide, and I’m with you up until after setup I can’t find where it’s placed the launcher in my hard drive. I type wine lol.launcher and it gives me: cannot find L”C://windows//system32//lol.launcher”. Where do I go from here? Thanks very much for you help.
-Cody

it looks like that you are in the wrong directory when you try to start the LoL Launcher with WINE.

If you installed LoL with the normal Installer you have to navigate in the terminal with cd to “/Users/USERNAME/.wine/drive_c/Riot\ Games/League\ of\ Legends/” otherwise navigate to the directory where you have copied your LoL Installation.
After that try it again with wine lol.launcher.exe and everything should run fine.

If you want to get a litte performance boost, try to start LoL of the following way: “WINEDEBUG=-all wine lol.launcher.exe”. If you do this, all messages will not be shown in the terminal.

Thank you for your post, I’ve gotten one step closer. Okay, now I have a new stopping point: after getting into the directory and typing: “winedebug=-all wine lol.launcher.exe” it comes up with a message saying it’s already running, and in the second menu “The program lol.launcher.exe has encountered a serious problem and needs to close. We are sorry for the inconvenience. This can be caused by a problem in the program or a deficiency in Wine. You may want to check … for tips about running this application.”

For this you can try to enter in the terminal “wineboot”. This emulates an reboot of Windows in WINE. After that try it again.

If this also not helps, easily restart your machine and try it again. If it now also not going to work, please copy the while log of WINE out of the terminal and post it on http://pastebin.com/ and give me the link here.

WINE can’t find the lol.launcher.exe. The output on nopaste says me, that you done before the command “ls” which is list all the content of a actually directory on your system. You are in the folder “League of Legends”. Now, look at the output of “ls”. As you can see, there is no lol.lauchner.exe. The only thing which is available is “lol.launcher.exe.dmp”. I actually have no idea what the .dmp file is, but try the following at the directory:

mv lol.launcher.exe.dmp lol.launcher.exe

In this case, the file lol.launcher.exe.dmp will be renamed to lol.launcher.exe. If this was the right file, you can start the lol.launcher.exe after this command with WINE.

Still no dice. I uninstalled it and immediately re-installed from the directory: /users/aqualero/leagueoflegends/

After installation it asked if I wanted to run the program, I selected yes but it crashed and gave me the usual wine crash window. I then tried running lol.launcher.exe directly with wine and got a message that it was already running and did I want to start a new instance? I selected yes, and it crashed again. The

Thanks for the great guide! I was able to get everything up and running up to a point.

When I am in the game, and i join a match, after the count down finishes and it goes to load the actual match I get a directX error that reads “An unknown DirectX error has occurred. Please make sure you video card supports shader model 2.0 and that it is using drivers from the manufacture.”

I cant seem to find anything on google despite my best efforts. You seem to have really put some effort into getting this thing to work and I was wondering if you would be able to help.

I’ve you want to go “an easier way”, you have to try the MAC Riot Beta Client. But, the last test for me (3 or 4 weeks ago) ended with an 20 FPS while all settings on low … anyway teamfights I had about 2 FPS …

for me it also starts up fine, even under Linux and MAC with wine 1.3.19.

But I also had some issues with the latest patch processes. You can try to download the latest setup from the League of Legends Homepage and uninstall the game under WINE in reinstall it. I have done the same, as I get the known League of Legends error while patching.

Oh yeah, and many other errors above, like
err:ole:CoGetClassObject class {312fb6f1-b767-409d-8a6d-0fc154d4f05c} not registered
err:ole:CoGetClassObject no class object {312fb6f1-b767-409d-8a6d-0fc154d4f05c} could be created for context 0x1
…

Guess there is a wrong version of sth, but what exactly?
Thank you for any help!

remember, that it is actually not possible to get LoL running anymore because the new League of Legends Patcher… so, we have to wait until a real solution, but the download and installation of the game should work fine.

and i have to say, i’ve been playing a tweaked mac beta that works fine, mostly around 25 fps, but it’s still glitchy and laggy and sometimes things just freeze and i can’t return to menu screens and all that weird stuff

actually, I can’t help you without an terminal output of the “tons of errors”. Anyway, I have to say, that the MAC Beta from Riot is going better and better and is now nearly as good as the solution with WINE.

So, eventually you should stay at the Beta? – Look here at my blog for a few performance boosts, which are also boosts up the Mac Beta 😉

Hello, before I get to my problem I’d like to say thank you for the excellent guide and thank you for taking the time to help us struggling unix newbies.

I’m running OS X 10.6.6 and am trying to get LoL to work in Wine because the performance of the Mac beta is so bad. I’ve followed your guide with a slight difference. The current version of wine-devel that macports downloads for me is 1.3.26 as opposed to 1.3.25. Could this be the root of my problem I wonder? I wouldn’t know since I am awfully new at this and I don’t know how to install previous versions of wine. Also, I’ve been using the ACE client to avoid the patcher that doesn’t quite work with Wine.

Anyways, everything works fine except for the shop (which isn’t my problem) in the lol.launcher.exe and the pvp.net client. However, when I try to start an actual game, I see the league of legends logo and then I get either a “Bug Splat” error or something akin to “The program League of Legends.exe has encountered an error…” and then it takes me back to the pvp.net client. (quite a few lines read:
“err:avicap:query_video_device Video 4 Linux support not enabled”
in the terminal while this happens, if that provides any useful information)

I’ve been hacking away at this problem for almost a week now, but I’m afraid I simply don’t know what I’m doing. Help!

Notice, that you have to change the names „_some_long_name_with_wine_in_it“ and „wine-devel-x.x.x“ to the versions, that are actually downloaded by macports. If you do this the first time, there is only one directory with these names, so change to it!”

how do i find the version that i have downloaded to make the change?
thanks
Bart

Hey the tutorial is great i on the other hand am not so good with comps everything has gone smooth up until changing the directory, i am currently typing it into terminal and it say the directory doesent exist its probably simple im just not seeing it. Thanx for your time

I think you should write an updated tutorial since mac beta is no longer available. WHen i try to patch it doesn’t work so I tried continuing but the installer after i hit accept is all white. Please re write this tutorial also make it more user friendly by showing pictures.

Hi, thanks for the guide. I would just like to ask about step 5. Im running your guide under Mac OS X Lion 10.7.2 (11C74) and whenever I type in “curl http://bugs2.winehq.org/attachment.cgi?id=25672 > ole-force-inproc-instead-of-local.patch-bash: ole-force-inproc-instead-of-local.patch: Permission denied” as indicated; I would get “-bash: ole-force-inproc-instead-of-local.patch: Permission denied” in return. Could you guide me through this point and on, please? Thanks.

it looks like, that you aren’t the owner of the directory, which you want to download the ole-force patch. You have two options:

1) Try to set your actually logged in user to the owner of the directory or

2) Try “sudo” in the front of curl: sudo curl …

Anyway, the solutions which you actually try to get League of Legends running under your Mac, isn’t working anymore. Actually, there is no possobilitie to get League of Legends working with WINE (this means for Linux and Mac OS X)!

First: congrats on the work!
I`ve just got my mac and I am still learning how to do anything…
Yet, your guide could get me to run some .exe applications that i actually need for College!!!
But, of course, the MAIN OBJECTIVE here is to play LOL!!!
Well, every time I go for the commands for “wine PROGRAM” in the Terminal i get it to work, but not with League of Legends… When i try that one, I get the message:
–
My command input: wine Documents/wine/LeagueofLegends
fixme:ntdll:find_reg_tz_info Can’t find matching timezone information in the registry for bias 180, std (d/m/y): 20/02/2011, dlt (d/m/y): 16/10/2011
err:seh:setup_exception_record nested exception on signal stack in thread 0009 eip 7bc66462 esp 7ffcfb80 stack 0xab2000-0xcb0000
–

Well…. I don`t have a clue! Time zone? Whats join on in there?
Thanx a lot for everything!

at first, the Downloader (I think this is what you gonna try to start here) doesn’t work actually. You have to use a downloaded version / downloaded setup to install it with WINE.

My last entry about League of Legends and WINE is just a simple overview of what actually have to be done to get the game working with WINE. So, yes Step 8 is just what I wrote in the article, but remember, that you don’t have to install the ie6 anymore.

So i’ve got it up and running now, but i used ACE-client. I tried with a downloaded version, but i only got it working once; After that the window was just stuck where i couldn’t press play, it didn’t patch(seems like a connection problem).

Anyway, when i comes to performance, i have yet only experienced worse than the beta. I have used all those tips from wine’s AppDB, so i can’t see how i should improve it… So i was wondering if you have tried in bootcamp? 🙂

[…] When you have registered, you’ll need to download a game client for PC, wait until it patches and then you can log in through the client. The game client is currently available on PC’s only (02/02/2012), but I’ve found this guide on how to install it on MAC too, I hope this helps: https://unixblogger.wordpress.com/2011/01/31/howto-play-lol-with-wine-under-mac-better-performance-th… […]

Hi and thanks much for the elaborate guide. I am running a 2011 Macbook Pro running on OSX 10.6.7 with Xtools 3.2. On the 7th step after entering ‘sudo port install wine-devel’ I get the following error. Can you help me with that? Thank you.

—> Computing dependencies for wine-devel
—> Cleaning wine-devel
couldn’t change working directory to “~”: no such file or directory
while executing
“cd ~”
(procedure “foreachport” line 27)
invoked from within
“foreachport $portlist {
array unset portinfo
# If we have a url, use that, since it’s most specific
# otherwise try to map the…”
(procedure “action_target” line 10)
invoked from within
“$action_proc $action $portlist [array get global_options]”
(procedure “process_cmd” line 95)
invoked from within
“process_cmd $remaining_args”
invoked from within
“if { [llength $remaining_args] > 0 } {

# If there are remaining arguments, process those as a command
set exit_status [process_cmd $remaining…”
(file “/opt/local/bin/port” line 4784)

hey i have a problem,,i just installed bioshock infinite on wine when it finished it says error something cause direct3d 11 is not installed on the windows but the installation is complete anyway,,then i tried running it and it says bad format what should i do???…
can you help me please…