Getting Tower Working in Wine (Working in Jan 2019)


#1

Tena koutou katoa! After a few weeks of brainstorming, tinkering, rinsing, and repeating, I’ve finally made a breakthrough. I’ll list all my findings and details here, so if you only want the instructions on how to get it working, please skip to the bottom!


Initially, I expected the Linux Depot to not exist, so that we could use Steam Play. This wasn’t the case, however. Attempting to download Tower through my native Steam doesn’t give us much to work with, as it only downloads user files, as well as the soundtrack (if you have it on Steam).

“Okay then,” I said to myself. “What if we trick Steam into thinking we’re wanting to install the Windows version, and run it through Steam?” So I grabbed my trusty NotePad++, and opened up the ACF for Tower.

For those not in the know, the ACF file essentially tells Steam what’s happening with the game. It lists the AppID, how large it is, the ID of the build, what depots are installed, if any DLC is disabled… It’s extremely helpful. However… Steam likes to keep writing to it.

Setting the installed depots to try and trick Steam into downloading the Windows version didn’t seem to work, as Valve seemed to have already thought of this, and throws errors if you set the ACF to read-only.

Okay, I’m starting to hit the end of my rope. What exactly is the problem with the broken Linux beta then, hmm?

Well, Mattio summed this up well - Tower wasn’t able to find a wide array of libraries, which exist.

So, what if Tower does find the libraries, through some brute force loading?
…not much.

It loads the menu well, but there’s no background. Not a good sign. It loads the models fine though, so maybe its okay…?

(Spoiler: It isn’t.)
The game fails to load into any form of map. And seeing as the development console for Tower isn’t enabled by default, I thought I’d do the most unholy sin of them all:

open the project file for Tower and debug from there.

To cut a long story short, no, it didn’t work.

So now we come to launching Tower through Wine. Read below for instructions.


INSTALLING TOWER FOR LINUX

WARNING: This assume that you have a decent amount of knowledge of how to use Linux. Not only that, but the steps may differ depending on what distro of Linux you’re using - I’m using Fedora 29, so things may be different!

You will need:
Wine: Currently tested with wine.x86_64 4.0-0.3.rc2.fc29
PlayOnLinux: Currently tested with playonlinux.noarch 4.3.4-fedora0
SteamSetup.exe
A functioning and stable internet connection

Dirty work
NOTE: If you have already installed .NET and Visual C++, then feel free to skip this section!

  1. Launch PlayOnLinux. We’ll need to use this to install some things so that we can ensure Tower will work correctly.

  2. Click “+ Install a Program”, then down the bottom right, choose “Install a non-listed program”.

  3. Click next, then choose “Edit or update an existing application”.

  4. Tick “Show virtual drives”, then choose default. Wine uses the default virtual drive by default (who’d’ve thought, huh?)

  5. Choose “Install some libraries”, as we’re going to install Visual C++ and .NET Framework. Make sure to choose “64 bits windows installation”!

  6. Scroll down until you find POL_Install_dotnet461. Tick this.

  7. Scroll down until you find POL_Install_vcrun_2010.

  8. Click next. PlayOnLinux will install the libraries. If it says that Wine crashed, or any errors occur, just continue through them - it should be fine.

  9. Once PlayOnLinux asks for an installation file, close the window and PlayOnLinux. We are now done with using PlayOnLinux, and will start on installing and using Steam!

Nice and Steam-y

  1. Run your SteamSetup.exe. If you have Wine integrated, you should be able to click the .exe . If not, install the program through the CLI integration of Wine.

  2. Once Steam finally installs, log in and install Tower Unite. You’ll notice that there is no “Runs on this computer via Steam Play”, because we’re essentially using the Windows version of Steam. [We’re not emulating Windows, before anyone says that, because Wine Is Not an Emulator.]

  3. Launch Tower Unite! It’ll install all the necessary things it’ll need, and Tower will boot!


TROUBLESHOOTING:

(if you have any issues, please let me know! I will try and keep this page up to date and I will try to answer questions if I can!)

Q: My audio keeps making little cuts and it sounds like someone keeps poking my ear with a very fine stick!

A: Wine is a little fascinating with how it produces sounds - audio will keep seeming to “flicker”. There’s nothing I can really do about that, to my knowledge.

Q: OH GOD WHY CAN I HEAR ABSOLUTELY EVERYTHING WHAT THE HELL

A: This is a fascinating bug with how Wine renders sounds, again. You can hear sounds from almost anywhere in the map - If you’re in bowling, you can hear people playing Grand Quest. It’s something we can’t really control, apart from the constant whirring if you’re in the plaza - it seems to cut out if you have all your audio settings below 50%.

Q: Why does Tower (and most of my games) re-download when I launch the other Steam?

A: Steam perceives the Wine version of Steam as the Windows version - seeing a Linux depot in Windows confuses Steam and makes it think “huh, shouldn’t we have the Windows version installed? I’ll just quickly correct the ACF and then download the correct version.”


Anyway, thank you for reading this long post! Please feel free to ask me any questions and such - I’m all eyes and ears!


#2

Moved to General, since you aren’t having trouble with the game.

Edit: On a related note, a Community Guides section would be nice.


#3

ah, i put it into support>linux cause it’d help support people, but fair enough! thanks for shifting it to the right area


#4

Interesting guide. As our Linux build seems broken, and there’s success in running the game in Wine (something I wasn’t able to do in previous versions), when we get back to the office we’ll look into dumping our current Linux depot and seeing how well the game runs in Steam’s Wine distribution.


#5

Thanks! Proton/SteamPlay works insanely well, I’ve been running The Witcher 3 at ultra with 50-60 FPS, it’s amazing. It’s sad that Valve are taking so long to allow Windows depots to be downloaded for SteamPlay despite having a Linux one, and since it has been requested a while ago on their Github. I really wanted to test TU with it.

Thanks Jcat for testing it out, I never wanted 2 versions of Steam so I never tried it, I always just hopped to my Windows boot to play, hopefully Proton will have a similar success.


#6

what
did I miss some optional lore-related dialogue

also how did Caboose amass more likes than the Linux wizard who actually made it work


#7

Yeah I was hoping that was going to be released very soon after but it doesn’t seem like they’re going to any time soon.


#8

Fanboyism perhaps?
Honestly i don’t know and i think it’s best if we don’t get involved


#9

nehh, i’m only a linux apprentice at best ^^;

(seeing as caboose is a developer, his words are extremely important and as such, liking it is a sign of showing that progress is welcomed and accepted…

either that or everyone loves caboose, which is not only true, but should be a tv show)


#10


#11

Even though you can view the edit history of every post, IIRC after some time posts become uneditable.


#12

You can always edit your posts.


#13

Weird, I was pretty sure the button had vanished on some old posts before… Was this changed?

I guess the page can be kept up to date without problems then!


#14

I can edit a post I made in May.


#15

The edit cut-off date was removed back in October (albeit in an unintended way).


#16

So an update, I went ahead and deleted our old Linux Beta, and tested the game using Steam Play and Proton.

This was tested on Ubuntu 18.04.1 LTS with a GTX 980 with the Proprietary Nvidia Drivers 390.77, and it seems to be working fine. You’ll need to have the latest Steam Beta client installed.

The only thing is you need to make sure in the Settings -> Steam Play menu, that Proton 3.16-4 is set, not 3.7-8. Proton 3.7-8 will cause the game to fatal error as Steam cannot initialize.

I’ve played around with it for 15 minute, it’s a bit laggier which is to be expected, and I wasn’t able to test sound, but everything seems to be working, including Workshop.

Results may vary, but it’s now available for you guys to play around with using Steam’s built in Wine.

Didn’t mean to hijack your thread @Jcat4609 haha.