mattgadient.com

WoW BFA-prepatch, working on Linux through Lutris

In playing with the Dell laptop I previously wrote about, I figured it was worth seeing how easy (or hard) it would be to get WoW running on Linux.

If you’ve followed World of Warcraft development, beginning in v8.0 of the client (BFA prepatch), support was dropped for DirectX9, leaving DX11 and DX12 as the only options. Fortunately, DirectX11-to-Vulkan (DXVK) has been in development, and it’s very possible to run WoW via this method through Wine. And Lutris makes it somewhat easier than it would be if you had to muddle through everything on your own.

First, a screenshot of WoW running on Ubuntu 18.04:

WoW BFA client running on Wine via Lutris

On the Intel UHD 620 graphics (Intel i5 8250U), I did a few back-and-forth tests at various frame rates and settings. I tended to lose about 1/3 of the FPS compared to Windows. Note that I didn’t mess with any exotic settings so there could very well be an “fps killer” option somewhere that could be tweaked to lessen the loss. Alternately nV/AMD may be less susceptible. But it’s worth mentioning regardless. Stock install, potential performance hit.

Ok, so on to the process. I haven’t touched Wine in years and was essentially approaching this from a “newcomer” perspective. None of the guides seemed complete/current, who that’s to be expected with all the rapid development that’s been taking place in regards to Vulkan. And hey, if you consider this a guide, it probably won’t be current for all that long either. Keep that in mind.

So… I’m just going to paste a massive chunk of everything I had to use to get the game running at the time of this writing on Ubuntu 18.04. This isn’t in the exact order. Some may be superfluous. Use at your own peril.

sudo apt install libvulkan1 libvulkan-dev vulkan-util
sudo apt install mesa-utils
sudo add-apt-repository ppa:ubuntu-x-swat/updates
sudo apt update
sudo dpkg --add-architecture i386
sudo apt install mesa-vulkan-drivers


ver=$(lsb_release -sr); if [ $ver != "18.04" -a $ver != "17.10" -a $ver != "17.04" -a $ver != "16.04" ]; then ver=18.04; fi
echo "deb http://download.opensuse.org/repositories/home:/strycore/xUbuntu_$ver/ ./" | sudo tee /etc/apt/sources.list.d/lutris.list
wget -q http://download.opensuse.org/repositories/home:/strycore/xUbuntu_$ver/Release.key -O- | sudo apt-key add -
sudo apt update
sudo apt install lutris


sudo apt install libgnutls30:i386 libldap-2.4-2:i386 libgpg-error0:i386
sudo apt install ttf-mscorefonts-installer
sudo apt install libsqlite
sudo apt install libsqlite3-0:i386
sudo apt install mesa-vulkan-drivers:i386
sudo apt install libx11-6:i386
sudo apt install libasound2-plugins:i386
  • 1st chunk is to get Vulkan drivers installed. This *does* add a PPA to get some of the latest stuff driver-wise which you may or may not need.
  • 2nd chunk is the installation of Lutris as shown in their guide (currently). May be worth taking a gander at that site to see if anything has changed.
  • 3rd chunk is half some “prerequisites”, and half “stuff I needed because the game or Battle.net launcher wouldn’t run (status bar showed it ran then immediately quit)”. The Battle.net launcher is a little more picky than the client.

I don’t really recommend just copy/pasting this stuff unless you’re fine with a wipe/reinstall if your system gets wonky down the line (also AMD may and nVidia undoubtedly will require a different first bit). We’ve added i386 above, a PPA, a repo, and a bunch of other stuff that normally would show up as dependencies in a normal program install (where they autoremove nicely), but they’ll now live forever on our system even if we remove Lutris/Wine/WoW/etc unless of course we remember them all and manually remove them too.

Installing via Lutris

Note that you should probably restart your system after the above. Probably reasonable to “sudo apt upgrade” right before the restart too because we just added a lot of stuff and may as well ensure everything is up to date.

Oh, one other tidbit. Wayland on Ubuntu 18.04 results in screen-spinning when you touch the right mouse button. So Xorg only for now it would seem (selected on login screen).

Lutris should be installed after the terminal stuff above – on Ubuntu 18.04 hit the “Windows Key”, start typing “Lutris” and it should show up.

Once in Lutris, one of the initial options should point you to games on their website, so go there. Search for “Battle.net” once on their site and it should show up. Download/open the file in Lutris.

If all goes perfectly, Battle.net will install and run afterwards. If not, you’ll have to look at the Game/View_last_games_log menu in the Lutris program to see where it fell apart. Googling and guesswork normally come next.

Assuming you were fortunate enough to have Battle.net install and run without so much as a hiccup (I hate you), you may have missing text. Right-click Battle.net in the list, Winetricks, SelectTheDefaultWinetricks, InstallAFont,CoreFonts. Then try running Battle.net again.

From Battle.net you can install WoW as well as other Blizzard games. Hopefully it all goes well.

If by chance you decided to skip Battle.net installation and used the “World of Warcraft” one, you’ll probably have copied the WoW folder from a Windows installation too. That’s fine, but running Wow.exe will only work until there’s a patch, at which point you’ll probably have to get Battle.net working anyway.

Blizzard really wants you installing Battle.net.

A few screenshots from the configuration within Lutris:

Lutris WoW with -d3d11 WoW Lutris DXVK_HUD WoW Lutris DXVK version

  • 1st shows the “-d3d11” flag added to Wow.exe to ensure it doesn’t try starting in DX12 mode. If you launch via the Battle.net launcher you may have to add a custom argument from within the launcher.
  • 2nd screenshot was taken because by default you have that DXVK_HUD variable which will cause a little FPS meter to always be in the top left of the screen, along with some info. Replace the “devinfo,fps,frametimes” bit with a “0” if you’d like it removed (you probably will once you know all is working since it takes up a chunk of screen real estate).
  • 3rd screenshot shows the DXVK version. I used 0.64 which happens to be the newest at this time. You literally just type in the version you want here and (assuming the version exists) it’ll automatically find and download it. If you don’t know what the latest version is, you can always take a peak at https://github.com/doitsujin/dxvk/releases .

Keyboard Lag? Character keeps moving forward when key released!

When you’re playing, press the forward key for a few seconds and then release it. If you keep running for an extra second or two, you may have to disable “key repeat” in either the OS or your Desktop Environment. I know this happens with GNOME (default with Ubuntu 18.04), but it’s possible other desktops may have this problem too.

In GNOME you can find it by opening the Settings program (Windows-key, then start to type “settings”). Under Universal Access, you should find “Repeat Keys”. Turn it off. You’ll probably want to turn it back on once done playing.

Yes, it’s a huge annoyance. You’ll probably want to turn “Repeat Keys” off when you play, and back on when you’re done if you use your machine for anything other than games.

Hey… in the first image you had separate icons for Battle.net and WoW!

I personally prefer to just run the WoW client, and only use Battle.net when necessary for patching. I essentially installed the Battle.net part, copied a WoW install over from a Windows partition, and created a new “entry” for WoW. Once the entry was created I copy/pasted most of the stuff from the Battle.net configuration to the WoW configuration (environment variables, DXVK version, and added the -d3d11 bit).

There may be other (better) ways of doing this but I delved into the first method that popped into my head.

If you go the lengthy route I did, you’ll probably be missing the banner + icons. The kludgy way I got around this was to do a “World of Warcraft” separate “add game”, let it download the hundred or so megs of stuff (don’t actually install the game), find the images, save them, and use them as banner and icons when I created the manual entry.

Images for those interested are located at:

~/.local/share/icons/hicolor/32x32/apps/lutris_world-of-warcraft.png
~/.local/share/lutris/banners/world-of-warcraft.jpg

A few overall thoughts…

The need to disable key-repeat isn’t specific to Lutris, but is easily the thing that will drive me up the wall the most. Not having the option to use Wayland (due to screen spin with right mouse button) is a bit of a bummer. I did come across a couple extremely minor graphical glitches after a little more testing (chat text and different clipping behavior with overhead/rear objects/textures), though nothing terribly troublesome.

Looking at the positive, I’m really impressed with how well WoW actually runs. I even popped into a 40-man battleground and it played just as smoothly as in Windows. Note that in actual play sessions I do cap the foreground FPS at 20 (both Win and Linux) to keep the laptop fans from making much noise (gone are my days of dedicated cards and 60fps+). As much as a ~30% fps loss “on paper” (in testing) does irk me, I can’t say it really impacted me when I set things up to play.

Really, WoW is no longer a reason to boot into Windows. If I can get the few other games I sometimes poke into running on Linux I just might save myself a partition and simply bite my tongue every time I need to toggle key-repeat.

That said, getting things to the point of running is still a bit of a messy experience. Every fresh install of Ubuntu I decide “no PPAs, no repos, no manual dependency installs – not this time!“. I never make it 6 months. This was yet another case of it.

Maybe one day it’ll be as simple as “apt install lutris” followed by 1-click installs for all the Windows games (or who knows… a bunch of snaps full of dependencies perhaps).  But that day isn’t quite here yet. Hopefully it arrives soon because once you’re running it really is a good experience.

0 Comments

 | Leave a Comment

    Leave a Comment

    You can use an alias and fake email. However, if you choose to use a real email, "gravatars" are supported. You can check the privacy policy for more details.

    To reduce spam, I manually approve all comments, so don't panic if your comment doesn't show up immediately.