Jump to content

Running The Game On Ubuntu + Steam Play


83 replies to this topic

#1 ohartenstein23

    Member

  • PipPip
  • Little Helper
  • 20 posts

Posted 06 September 2018 - 03:57 AM

#*** Edit 01 May 2019: The original post's method is out-of-date, the proper way to get MWO running on Ubuntu with either Wine or Steam Play is to edit and compile Wine or Proton. ***

Instructions for using Wine: https://mwomercs.com...ost__p__6195387

Instructions for using Proton and Steam Play: https://mwomercs.com...ost__p__6235120

#*** Edit 19 May 2019: Lutris has a wine variant available with the MWO patch, thanks p5yc0runn3r for providing instructions on using it to run the game without having to compile anything! ***

Instructions for using Lutris: https://mwomercs.com...ost__p__6260238

#*** Ignore the instructions below, they are out of date ***

After some hours of fiddling and experimenting with it, I'm reporting my findings for how to get the game mostly running on linux through Steam Play. For those interested in trying, let me first give the following pro/con list:

Cons:
  • The game will crash on startup more often than not. Expect to take 10-20 minutes simply re-launching the game.
  • Keeping your user settings, keybindings, and weapon groupings saved isn't really an option.
  • You will experience a crash pretty much every time you finish a match and are going back to the mechlab.
Pros:
  • You can play Mechwarrior Online on Linux!
Also, for reference's sake, I'm running this on Ubuntu 16.04 LTS, I'll report again when I decide to update to 18 LTS.




The steps I take to get the game running and minimize the number of crashes experienced:
  • Turn on Steam Play through Steam > Settings > Steam Play - tick the "Enable Steam Play for supported titles" box, then under advanced tick both the "Enable Steam Play for all titles" and "Use this tool instead of game-specific selections from Steam" boxes, and select the latest Proton from the drop-down menu. I've tested mostly with Proton 3.7-5 Beta.
  • Restart Steam and install MWO. You should be able to run the game at this point. Hurray for not having to set up your Wine environment manually!
  • When you do eventually crash, I believe it's due to reading the user settings and logs files incorrectly - you'll need to delete them and restart the game. This is where I spend most of my time restarting the game, deleting and trying again. My user files are found in ~/.steam/steam/steamapps/compatdata/342200/pfx/drive_c/users/steamuser/Saved Games/MechWarrior Online/. Delete the entire contents of that folder and try starting the game again.
I know this sounds super frustrating, and it is. However, sometimes you just have to have your fix of piloting a big stompy git shooting other big stompy gits, even when you refuse to pay for an OS.





Addendum:
For reference, here are the locations I've noticed tend to have the most crashes:
  • Just after the NVIDIA splash screen, right before the Piranha Games splash screen. This is where I figured out that it may have been loading user files incorrectly on Linux, as it would crash consistently here as soon as I checked the "Remember my email" box on the login screen, and removing the configuration file that saved that setting often prevented this crash.
  • The first loading screen after logging in, the static "MechLab" image. Don't know why it crashes here, it's more or less random.
  • Right before you enter the MechLab, just before the new events/news pop-up. Again, I don't know what causes this, so sometimes you just have to keep trying.
  • After exiting a match and re-entering the MechLab. Just gotta pay the troll toll for not running Windows.
If you're also attempting to play on Linux, I'd love to hear from you, especially if you've figured this out better than I have!

Edited by ohartenstein23, 19 May 2019 - 11:53 AM.


#2 NARC BAIT

    Member

  • PipPipPipPipPipPipPip
  • Ace Of Spades
  • 518 posts
  • Twitch: Link
  • LocationAustralia

Posted 06 September 2018 - 03:30 PM

as far as I'm aware, you've got the furthest ....

#3 Dan Skara

    Rookie

  • Moderate Giver
  • 6 posts

Posted 07 September 2018 - 03:34 AM

Curious, do we have to re download the game or can we just copy paste the game folder?


(yeah my internet is 3rd world grade)

#4 ohartenstein23

    Member

  • PipPip
  • Little Helper
  • 20 posts

Posted 07 September 2018 - 05:44 AM

View PostDan Skara, on 07 September 2018 - 03:34 AM, said:

Curious, do we have to re download the game or can we just copy paste the game folder?


Do you mean migrating the game from a Windows install to a Linux partition to play? Theoretically yes, you can just copy the files as the compatibility layer in Steam Play should just run the Windows files, but I haven't tested how moving the files would interact with installing the game and loading it through Steam.

#5 Dan Skara

    Rookie

  • Moderate Giver
  • 6 posts

Posted 07 September 2018 - 07:23 AM

View Postohartenstein23, on 07 September 2018 - 05:44 AM, said:

Do you mean migrating the game from a Windows install to a Linux partition to play? Theo...


Yea, might have to try it myself one day.

#6 Ch_R0me

    Member

  • PipPipPipPipPipPipPip
  • The Named
  • The Named
  • 609 posts
  • Twitter: Link
  • Twitch: Link
  • LocationIn DireStar with Heavy Naval PPC

Posted 07 September 2018 - 08:53 AM

Great job @ohartenstein23 Posted Image

Anyway try again using oibaf's driver if using open AMD or Intel driver, or newest nVidia blob. Also - upgrading to newest Ubuntu is quite recommended as well Posted Image

EDIT:
Is there a chance to get a log from Steam Play for diagnostic and debug purposes?

Edited by ManganMan, 07 September 2018 - 08:56 AM.


#7 ohartenstein23

    Member

  • PipPip
  • Little Helper
  • 20 posts

Posted 07 September 2018 - 05:41 PM

View PostManganMan, on 07 September 2018 - 08:53 AM, said:

Great job @ohartenstein23 Posted Image

Anyway try again using oibaf's driver if using open AMD or Intel driver, or newest nVidia blob. Also - upgrading to newest Ubuntu is quite recommended as well Posted Image

EDIT:
Is there a chance to get a log from Steam Play for diagnostic and debug purposes?


I am using the latest nvidia drivers, but I will see if the situation improves at all when I update to Ubuntu 18.04.

Here are the Steam Play logs for all the crash situations I mentioned in my first post - after glancing through them and seeing that they're over 30 MB of text, I say good luck to being able to get something out of them: http://www.mediafire...shlogs.zip/file

#8 Ch_R0me

    Member

  • PipPipPipPipPipPipPip
  • The Named
  • The Named
  • 609 posts
  • Twitter: Link
  • Twitch: Link
  • LocationIn DireStar with Heavy Naval PPC

Posted 08 September 2018 - 08:47 AM

So I did a brief check.
Logs mostly shows using various libraries from the DirectX.
I wonder if there is a way to use DirectX installer within Proton bottle...
In the last one I saw many warnings in GLSL shaders.

#9 Throe

    Member

  • PipPipPipPipPipPipPipPip
  • The Marauder
  • The Marauder
  • 1,027 posts

Posted 08 September 2018 - 02:15 PM

[deleted by user]

Edited by Throe, 09 November 2018 - 11:51 AM.


#10 NARC BAIT

    Member

  • PipPipPipPipPipPipPip
  • Ace Of Spades
  • 518 posts
  • Twitch: Link
  • LocationAustralia

Posted 09 September 2018 - 05:12 PM

View PostThroe, on 08 September 2018 - 02:15 PM, said:

My previous idea was simply to run a Windows 10 VM inside Linux, which can probably also be achieved, and may run better than this solution.

current builds of windows 10 allow you to run linux as a substem ... guess it depends what you really want to do with it ....

kill cortana, never use the store, never login with a microsoft account, dont forget some anti-virus and windows 10 will generally behave fairly well ...

#11 ohartenstein23

    Member

  • PipPip
  • Little Helper
  • 20 posts

Posted 10 September 2018 - 04:23 AM

View PostManganMan, on 08 September 2018 - 08:47 AM, said:

So I did a brief check.
Logs mostly shows using various libraries from the DirectX.
I wonder if there is a way to use DirectX installer within Proton bottle...
In the last one I saw many warnings in GLSL shaders.


It doesn't seem like DirectX is an issue here, as I don't have any graphical glitches or crashes during the game itself. You can probably run a DirectX installer as steam creates a full wine prefix directory for each game that it's running through Proton, although it does automatically install these libraries on first startup of the game.

View PostThroe, on 08 September 2018 - 02:15 PM, said:

This gives me hope. I'm probably going to end up upgrading Windows 7 to Linux, since M$ seems intent to continue with their ******** they're pulling with Windows 10 indefinitely at this point, and somewhat surprisingly, they're experiencing a modicum of success in so doing. More and more I see Linux popping up as being minimally compatible with various games.

My previous idea was simply to run a Windows 10 VM inside Linux, which can probably also be achieved, and may run better than this solution.


I actually ended up putting win10 on an unused partition of an older laptop I had in order to play. I wouldn't run it as a VM, that is just an unnecessary hit to performance when you can just dual-boot.

Edit: I've updated to Ubuntu 18.04 and nvidia-390 for the video driver, just getting the crash right before the login window now, can't reach the actual game.

Edited by ohartenstein23, 10 September 2018 - 11:14 AM.


#12 VaudeVillain

    Member

  • PipPipPipPipPip
  • Ace Of Spades
  • 136 posts

Posted 13 September 2018 - 04:18 PM

I've been playing around with MWO on Lutris and on Steam's Proton and both tend to crash after the Nvidia screen. Deleting that whole folder in the Saved Games folder did take it past the Nvidia screen once for me.

Hopefully someone at PGI will take an interest and help us to get MWO working with Wine and DXVK.

Lutris makes it easy to install MWO and not have to know too much about Wine, so I'll go over doing the standalone install with Lutris on Ubuntu.

Install Mesa Vulkan Drivers and Vulkan (AMD Video Cards)
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update
sudo apt-get-upgrade
sudo dpkg --add-architecture i386
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386
sudo apt install libvulkan1 libvulkan-dev vulkan-utils

Install Nvidia Vulkan Drivers and Vulkan
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt upgrade
sudo apt install nvidia-graphics-drivers-396 nvidia-settings vulkan vulkan-utils (Might be nvidia-396)

Install Lutris
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.open...e/xUbuntu_$ver/ ./" | sudo tee /etc/apt/sources.list.d/lutris.list

wget -q http://download.open...ver/Release.key -O- | sudo apt-key add -

sudo apt-get update
sudo apt-get install lutris

Reboot

Install Microsoft True Fonts
sudo apt-get install ttf-mscorefonts-installer

Install MWO
Log onto the MWO site and download the MWOPortalInstaller.exe

Go to the Lutris site and select to install Mechwarrior Online. (The script doesn't have all the necessary installs or winetricks.)

After the installer launches, close it but let the Lutris install complete so it creates your Wine prefix in the /Home/Games/mechwarrior-online folder.
Close Lutris and open Terminal and run Lutris -d so you can see things progress.
Right-click on Mechwarrior Online then select Wine Configuration and set it to Windows 7
Right-click on Mechwarrior Online then select Winetricks
Select Install an application
Click Cancel on the packages
Select Install a font. I usually do one at a time andgo back, but install corefonts and Tahoma
After that, select Install a Windows DLL or component
Do these one at a time. (The Lutris debug window lets you see what's happening so you don't think things locked up.)

dotnet40
d3dx9_43
d3dx11_43
dinput
directplay
dsound
flash
msxml3
msxml4
msxml6
quartz
vcrun2010

After that, go back to the Wine Configuration and make sure it still indicates Windows 7. Some winetricks change it to XP

Also, be sure and download and Visual C++ Runtime 2010 64-bit and install it by right-clicking Mechwarrior Online and Run EXE inside wine prefix

Install the MWOPortal.exe file by doing the Run EXE inside wine prefix and let it install .NetFramework 4.5.2. (seems to work better than doing Winetricks with .Net 4.5.2 and you can't use Winetricks to install 4.5.2 after installing 4.0)

If you already have the game files somewhere else, copy the Mechwarrior Online folder to /Home/Games/mechwarrior-online/drive_c/Program Files (x86)/Piranha Games. If not, let the MWO Portal install the game.

Right-click on Mechwarrior Online in the Lutris library and select Wine Registry

Go to HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Piranha Games\Mechwarrior Online\Production\Install

Add these 2 registry entries.
"ROOT_LOCATION"="C:\Program Files (x86)\Piranha Games\"
"INSTALL_LOCATION"="C:\Program Files (x86)\Piranha Games\MechWarrior Online\"

Close the MWO Portal and relaunch it and the game will Launch, but one other thing.

Right-click Mechwarrior Online in the Lutris library, then select Configure
Go to the Runner options tab and check the box to Enable DXVK
In the DXVK version box, put in 0.71 (or whatever the latest version is), then click Save

After that, launch the game.

If someone wants to troubleshoot it more in depth, go to Configure and under Runner Options, select Full under Output debugging info. Be sure and run Lutris using Lutris -d from the terminal then run the EXE within the Wine prefix and run the MWOClient.exe in the Bin64 folder or it will take a really long time to launch the portal so you can launch the game.
**PSA: Never run Overwatch with the Wine debug window running as you may get banned.

This is where Steam puts Mechwarrior Online after it installs it
.steam\steam\steamapps\common\MechWarrior Online

Edited by VaudeVillain, 13 September 2018 - 05:24 PM.


#13 ohartenstein23

    Member

  • PipPip
  • Little Helper
  • 20 posts

Posted 18 September 2018 - 01:31 PM

Attempted again on the latest patch and Steam's Proton updated to 3.7-6 Beta, no improvement.

#14 VaudeVillain

    Member

  • PipPipPipPipPip
  • Ace Of Spades
  • 136 posts

Posted 19 September 2018 - 07:11 PM

It didn't work with the latest esync 3.15 for Lutris either.

For people who don't want to do the winetricks install manually, install Lutris.

Copy and paste the info into a text file then rename it to MWO.json and put it in your Documents folder, then go to Terminal and type lutris -i $HOME/Documents/MWO.json

name: Mechwarrior Online
game_slug: mechwarrior-online
version: Standalone
slug: mechwarrior-online-standalone
runner: wine

script:

game:
arch: win64
exe: drive_c/Program Files (x86)/Piranha Games/MWO Portal/MWO Portal.exe
prefix: $GAMEDIR

files:
- installer:
filename: MWOPortalInstaller.exe
url: https://mwomercs.com...alInstaller.exe

installer:
- task:
arch: win64
name: create_prefix
prefix: $GAMEDIR
- task:
app: win7
name: winetricks
prefix: $GAMEDIR
- task:
app: corefonts
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
app: tahoma
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
app: xp
name: winetricks
prefix: $GAMEDIR
- task:
app: dotnet40
name: winetricks
prefix: $GAMEDIR
- task:
app: win7
name: winetricks
prefix: $GAMEDIR
- task:
app: msxml3
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
app: msxml4
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
app: msxml6
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
app: vcrun2010
name: winetricks
prefix: $GAMEDIR
- task:
app: d3dx9_43
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
app: dinput
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
app: dsound
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
app: directplay
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
app: quartz
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
app: win7
name: winetricks
prefix: $GAMEDIR
- task:
app: d3dx11_43
name: winetricks
prefix: $GAMEDIR
silent: true
- task:
executable: $installer
name: wineexec
prefix: $GAMEDIR
wine:
version: esync-3.15-x86_64

#15 ohartenstein23

    Member

  • PipPip
  • Little Helper
  • 20 posts

Posted 10 October 2018 - 03:52 AM

Steam updated Proton to 3.7-7 Beta, tested and it doesn't really help with the issues that we've reported. However, I did figure out that restarting after every crash reduces the frequency of the crash just after the NVIDIA splash screen, though I'd only recommend trying this if your OS is on a SSD.

#16 JohnnyJorgen

    Rookie

  • Mercenary
  • Mercenary
  • 2 posts

Posted 11 November 2018 - 09:01 PM

Hi, I'm on Mint 19 (based on ubuntu 18.04) and just found this thread. I really want to play this game again - used to play it on mint 18 a lot before the 64bit update.

Anyway, this post is just an FYI:

The wine guys know exactly what's up with this bug, here's their thread on it:

https://bugs.winehq....ug.cgi?id=46022

If you scroll to the bottom, you'll see this stuff:


Quote

Summarizing: It just works by chance on Windows and maybe sometimes on Wine, depending on heap usage.

There are multiple ways to solve this:

Game vendor (Piranha games):

1) upgrade to newer Boost libary (>= boost-1.65.0). There will be still corruption in TEB, now in 'FiberData' member but it wouldn't harm anymore for per-thread curdir ('SubSystemTib')

2) additionally modify boost::context lib to zero init everything returned by 'fixedsize_stack::allocate()'


.. they then go on to say that it COULD be fixed in wine, but it'd be a nasty hack, so it is very unlikely that any wine update will fix this issue.

However, if you scroll up on that page a guy did successfully play the game without issue after he patched and built his own version of wine. I guess this means that wine-staging could get a patch for MWO, but I'm not sure how that whole patch submission thing works. I doubt such a patch would ever make it into mainstream wine however.

#17 ohartenstein23

    Member

  • PipPip
  • Little Helper
  • 20 posts

Posted 12 November 2018 - 05:59 AM

Hi JohnnyJorgen, thanks for finding this explanation! Just to be clear, the fix you're referring to for building your own version of wine was applying the commit "nulled stack only for Windows" to a copy of boost-1.62.0, compiling the boost library, then re-compiling wine after linking it to this 'fixed' library? That sounds like it could be worth a try, and perhaps could work for Proton too if it's not too hard to compile your own version of it.

Otherwise, I wouldn't be opposed to lobbying PGI that they upgrade to a newer version of boost.

Edited by ohartenstein23, 12 November 2018 - 06:01 AM.


#18 JohnnyJorgen

    Rookie

  • Mercenary
  • Mercenary
  • 2 posts

Posted 15 November 2018 - 07:27 AM

Little Helper, yes, however I've noticed he's got a different description of the patch near the bottom of the page:

Quote

I've tested a patch which removes the legacy WIN16_SUBSYSTEM_TIB access in case of win32/win64 and the client starts fine. A proper implementaton of per-thread curdir for win32/win64 wouldn't help here anyway.

.. I'm a bit lost as he's talking about zeroing memallocs before that, then is talking about removing some old win16 support code. I guess if you're proficient at compiling wine (I've never *quite* succeeded) you'll understand what he's saying on that page better than I.

As for lobbying PGI, I wouldn't know how to do that either, this site doesn't seem to have any better avenues than this specific thread.

#19 ohartenstein23

    Member

  • PipPip
  • Little Helper
  • 20 posts

Posted 15 November 2018 - 03:25 PM

I've never compiled Wine before, but I'd be willing to try if I knew what needed editing, but given that he doesn't offer a link to the patch itself, I'd only be guessing at what to change.

As for getting PGI's attention, perhaps a moderator reading this could get a developer to look into it?

#20 Wulfex

    Rookie

  • Bridesmaid
  • Bridesmaid
  • 2 posts

Posted 30 November 2018 - 05:12 PM

I'm honestly glad to see this thread, I'm going to try to get it to launch. If I can get MWO to run in Linux, I wouldn't even need Windows. I'd be happy as a clam. I don't play much because I've been waiting for the day this is playable in linux.

If anyone gets MWO up and running ( even just partially ) don't forget to rate it over at https://www.protondb.com/app/342200. The proton reports say it's broken, but the game launches for me and that's highly encouraging!

edit:

After deleting logs and trying over and over again (as mention by the OP), I was able to play a game! It ran perfectly, like it does on Windows. Just needs a little love in the login and mechlab and the game would have no issues on linux. Super exciting!

Edited by Wulfex, 30 November 2018 - 05:44 PM.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users