Play Tower Unite on Linux with Steam Play

Greetings TUx Enthusiasts,

In November of 2016, we announced that we were releasing a Linux Public Beta, which was a native build of Tower Unite for Linux. This version had some bugs and glitches, but for the most part worked well enough for our Linux players to enjoy Tower Unite.

However, a couple months ago, we made some changes to the engine, and unfortunately this broke our Linux Public Beta. The game would get to a point where it would load to the main menu, but then refuse to load any of the maps. As we’re a small team, the Linux Public Beta wasn’t the highest of priority, so it sat as it was.

Fast forward a couple months, and Valve announces a new version of Steam Play, which is bundled with a modified version of Wine named Proton. With Proton, Windows games can be run on Linux, without the game having to be packaged for Linux in the first place. The one caveat is that Steam Play only works with games that don’t have a native Linux build, which at the time of release, Tower Unite did.

Today, we took the dive and deleted our broken Linux Public Beta branch, will allowed Steam Play to be used with Tower Unite. The results were very exciting.

We conducted the test on a Linux machine running Ubuntu 18.04.1 LTS with NVIDIA’s Proprietary Drivers (Version 390.77). The machine sports an Intel Core i5-3570k, 16GB of RAM, and a NVIDIA GeForce GTX 980.

The image below is with all settings set to Ultra.

Most of the issues that were found during the Linux Public Beta are gone when playing the native Windows version using Steam Play. In our tests, there doesn’t appear to be any issues with effects, the ocean shader, VOIP, Steam Cloud, or the Media Player. Even Workshop works without any issue.

In fact, one of the only issues we noticed, as that in the Plaza, none of the sounds are distanced based, and due to this, the player will constantly hear all of the casino games running at once, which as it’s very annoying, we suggest turning down the Effects volume while in the Plaza.

While everything works, results may vary, and there is a performance hit due to how Proton operates. Still, it has a major advantage over the Linux Public Beta, in that it works, and doesn’t require a separate build to be created, allowing Linux players to get updates at the same time as Windows players.

Here’s a small guide on how to take advantage of Steam Play.

First, make sure that you are enrolled in the Steam Client beta. You can check this by clicking Steam -> Settings and clicking Account. Once there, if "Beta Participation: " says “Not Participating”, click on the button “Change…” and select “Steam Beta Update”.

Once Steam restarts, click Steam -> Settings and click on Steam Play. Make sure to check both “Enable Steam Play for supported titles” and “Enable Steam Play for all titles”. You also want to change the Compatibility Tool from “Proton 3.7-8” to “Proton 3.16-4”. This is important, as “Proton 3.7-8” will cause the game to fatal error when the Main Menu is displayed, and result in the game crashing.

Steam will restart again. After this, you should now be able to install and play Tower Unite without any other changes.

We hope you enjoy playing Tower Unite on Linux once again.

13 Likes

Does this mean a proper Linux build won’t ever be developed in favor of a Proton only Build? or is this just sort of a temporary thing till development finishes, and a proper Linux build could be built. This has been kind of a worry in the linux community for awhile now that developers would forgo proper linux builds in favor of Proton.

1 Like

This performs better than the native Linux build of Unreal 4 (in the version we are using) and upgrading Unreal versions is costly and has more issues with other aspects of the game.

Unfortunately Epic doesn’t really support Linux all that well, as it was their change to the engine that broke it in the first place.

1 Like

Working nicely, no idea why the audio does what it does but it’s functional at least :smiley:

Thought I’d just add that the Condo files are kept in the same location as native Linux build, in;
~/.steam/steam/userdata/[SOME_UNIQUE_NUMBER]/394690/remote/Condos/

But the config files are in;
~/.steam/steam/steamapps/compatdata/394690/pfx/drive_c/users/steamuser/Local Settings/Application Data/Tower/Saved/Config/WindowsNoEditor/

^Because sometimes knowing these locations comes handy.

1 Like

Good job! It works well on my PC, but I had to use the DX10 version, since DX11 has major graphical bugs. It might be exclusive to Vega/Mesa tho. Still it works even better now, and I am happy you managed to make it work with Proton!

1 Like

Eyy, thanks. Appreciate it.

I forgot to mention this as well, but I updated the Crash Dump guide to include the location for crash dumps when using Steam Play, as since the game is the Windows version, it produces Windows crash dumps.

https://forums.pixeltailgames.com/t/how-to-report-crashes/4688

1 Like

Thx now I can Play TU on the go :slight_smile:
Are there plans to use the Vulkan API to increase compatibility with other Platforms ?

So far, it seems to work fine on my machine, running Arch Linux with an Intel Core i5-4590, 16GB of DDR3-1600 RAM, and an XFX Radeon RX 580 with 8GB of video memory. Honestly, it seems to even load faster off of the hard drive than running natively on my Windows 10 install, as that seems to absolutely chug unless I use my SSD as the install location. While a native port would still be ideal IMO, I’m fine with Steam Play as long as it works.

1 Like

Hi guys, I’ve found a fix for the audio issues, it fixes the audio attenuation and crackling etc.

Open up your terminal and open Steams prefix with winecfg, this only affects TU as there’s a config per game, so it won’t affect other games using SteamPlay, Run this;

WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/394690/pfx/ winecfg

Bear in mind your location should be the same but double check.

In winecfg go to Libraries tab, click the dropdown for overrides and search xaudio2_7, select it and click add. It should be added like this:
4

Apply and hit OK and you’re done. Let me know results, this has worked for me but Linux will be Linux.

2 Likes

This topic was automatically closed after 7 days. New replies are no longer allowed.