Psychonauts

Psychonauts

Not enough ratings
How to fix the Linux port of this game (to the best of my ability)
By Scott
The Linux port of this game is...kinda ass. Proton isn't perfect either, what with it having lower audio quality and totally borking controller inputs. But what if there were a way to fix the port yourself? Well, you're in luck! This guide should help you fix some of the bigger issues with the port. If anyone has any extra recommendations, please do leave them in the comments.
   
Award
Favorite
Favorited
Unfavorite
Disclaimer
This guide will realistically ONLY be useful to people who are only using Linux computers. If you have a Windows computer and are looking to get cloud saves working between your PC and Steam Deck (or another Linux machine), I hate to say this, but Proton is your best bet. Cloud saves are *technically* compatible between platforms, but a lot of stuff (mostly controller configurations) will be completely screwed up when transferring to the other OS.

I repeat: I recommend ONLY using this guide if you ONLY have/use Linux machines (yes, that includes Steam Deck). Otherwise you might be SOL. Don't like that? Me neither! But it's Double Fine's decision to let the game rot in outdated software hell and there's not really a whole lot we can do about it besides encourage them to update the damn port already. No X-input support in 2024 is clinical insanity.
Cloud Saves
First thing's first: cloud saves! They don't work. However, they ARE configured, they just try and sync the wrong folder. Nothing a bit of Linux-based pissery can't fix!

To get the saves going to the right area, the easiest way to do this I've found is with command arguments. The argument should be something like this:
XDG_DATA_HOME=/path-to-steam-folder/steamapps/common %command%
Obviously, replace path-to-steam-folder with the...well, path to your Steam folder, specifically the one the game is stored in. If you have the game installed on an external drive, make sure to type in the path to the external drive's common folder, not your internal drive's.

TL;DR on why this happens if you're interested; Double-Fine set up the cloud saves to sync all files located in game-install/profiles/profile X (with X being the folders 1-3). On Windows and Mac this is all fine and dandy, but for some reason on Linux they chose to make the save data go to $XDG_DATA_HOME/Psychonauts/profiles, which on most systems is ~/.local/share/Psychonauts, and failed to configure Steam Cloud to account for this. As a result, Steam looks for files in the game's install directory, in a folder that doesn't exist, predictably finds nothing, and predictably syncs nothing. That command line argument temporarily sets the XDG variable to the game's install, making the game save its data to the area Steam looks for it when cloud saving, and as such, it successfully saves the data.
Controller Support
Okay here's a tough one, and the one that gave me the most trouble.

So, due to extremely poor controller integration on the Linux version, the in-game control bindings menu basically doesn't work. It detects controllers' analog triggers as inputs that are always on. For this reason, to change control bindings, you will need to either hold the analog triggers on your controller exactly in the middle the whole time, or change the bindings manually via your user's .ini file. We'll obviously be going with the latter option.

The .ini file in question should be wherever your save data is (see last section), in Psychonauts/profiles/profile X/Profile X - Name.ini. "X" and "Name" will depend on which save file and name you chose at the beginning of the game, respectively. It shouldn't be hard to find.

While manually editing a .ini file may be daunting, I basically did all the work for you. You can change these bindings however you want, but for a standard Xbox/X-input/Steam Input controller, your .ini file should look something like this:
Do I ever wish Steam allowed for plain text in dropdown menus. Anyway, there's only one caveat; even when changing controls in-game, I could never get it to bind the triggers to any actions. So how did I figure out what to type into the .ini file?

I'm glad you asked!

Anyway, I set LT's function to L on the keyboard and RT's to R. I couldn't figure it out, so I gave up. My solution for the time being is using Steam Input to bind L on the keyboard to LT, and R on the keyboard to RT. It causes some icon weirdness, but ultimately it works, and I don't have any other solutions. If you do, I'd love to hear them.

TL;DR, if you're using an Xbox controller, or using a controller through Steam Input, copy what I put in teh above screenshot into your own .ini file, and bind the left trigger to L on the keyboard and the right trigger to R.
Controller Icons
At this point, the game should be basically finished. However, the game will still show generic D-input numbered icons. While this generally shouldn't affect your experience with the game, there is a solution! And it's pretty easy to fix, too.

I'll cut the crap, go to this page[www.pcgamingwiki.com] on PCGamingWiki, go to the section titled "Generic controller button icons (Linux)", follow the instructions there, and you're good to go. It won't change the wonky L/R keyboard icons from the last step, but it should fix the rest of them. Hell, since this isn't cloud synced, you can even set it to have different icons on different devices if you use say a PS4 controller on your main PC or something.
That should be all!
In conclusion! Double Fine needs to fix this port. Really badly. It is screwed six ways from sunday and it's barely playable without heavy modification as you've seen. Having such a fantastic game like this fixed up and made proper in the modern day would be an absolute godsend, and I can't imagine why no such fixes have yet come, even after the release and success of Psychonauts 2. Maybe one day, but for now the idea of Psychonauts being verified on Steam Deck is only something we can hope for.
4 Comments
Pyrate 6 Jan @ 9:44am 
@Scott, yep. I just gave up myself, I tried earlier today and followed your guide but nothing worked, and I'm not really having a great day too so I'm just gonna go play something else.
Scott  [author] 6 Jan @ 8:44am 
I feel like I should put a disclaimer that the way this is set up makes the D-pad functions not work, sorry about that. There's definitely ways to fix this but to be totally honest between the Linux port being a mess and Proton causing even MORE issues for me, I kinda just gave up on playing Psychonauts for the time being. Which sucks, because what I have played I've loved to death. Maybe one day I'll get around to updating the guide (or double fine will, again, UPDATE THE DAMN PORT), but until then this still isn't totally perfect, though it is still playable.
Pyrate 6 Jan @ 6:09am 
I was about to dump this mess due to all the issues, thanks for making this guide.
da fiend 27 Aug, 2024 @ 2:47pm 
I'm thinking of switching to Mint Linux at some point, thx for this guide, I'll make sure to keep this saved once I switch