
pjbrs
Published
Native game runs great with small and simple bug-fix, but the fix itself is hard to implement and requires compiling some source code.
LD_PRELOAD=$LD_PRELOAD:./loadfix.so %command%
Game relies on a bug that used to exist in libc, and now hangs on level loading screen. Fixed by preloading a library that reinstates the previous libc behaviour. Solution is described here:
https://wiki.archlinux.org/title/Steam/Game-specific_troubleshooting
and the original fix by de.nagical is from here:
https://steamcommunity.com/app/282070/discussions/0/610573751159186268/?ctp=4#c530647080133257413 .
Create file loadfix.c next to the game executable (see links for sources), compile it using
gcc -m32 -o loadfix.so loadfix.c -ldl -shared -fPIC -Wall -Wextra
and use
LD_PRELOAD=$LD_PRELOAD:./loadfix.so %command%
as launch option. After that, the game runs great on steam deck, using the touch screen.
I completed the entire camaign on steam deck.
Game seems to run fine, I finished about 40% of it. Only issues was that once, after suspend, sound was garbled, but rest is as expected.
Selected "wingl_unsupported" under Settings -> Properties... -> Betas
Savegames and profiles are located in:
~/.local/share/Psychonauts/Profiles/
Controls are defined in an ini file, in my case:
~/.local/share/Psychonauts/Profiles/Profile 1/Profile 1- Raz.ini
Look out for the following values:
`Jump_Alt=Joy2
Attack_Alt=Joy1
Use_Alt=Joy4
Cancel_Alt=Joy3
Journal_Alt=Joy9
Stats_Alt=Joy11
LookUp_Alt=JoyRotZ
LookDown_Alt=JoyRotZ
LookLeft_Alt=JoyZ
LookRight_Alt=JoyZ`
... and change them into:
`Jump_Alt=Joy1
Attack_Alt=Joy4
Use_Alt=Joy3
Cancel_Alt=Joy2
Journal_Alt=Joy10
Stats_Alt=Joy9
LookUp_Alt=JoyRotY
LookDown_Alt=JoyRotY
LookLeft_Alt=JoyRotX
LookRight_Alt=JoyRotX`
This puts the buttons in the right places and maps the camera to the right joystick instead of the triggers.
In the steam game properties, I disabled Steam Input at Controller.
Graphics: Switch to full screen. Controller: apply "Wraith's Better Controls".
If you change the game's resolution without setting it to full screen first, then the mouse cursur is not displayed at the position that the game thinks it is. So: first set the game to full screen, then change the resolution.
Native game runs great, but only with changed controller config. Otherwise it can't be controlled due to spinning camera.
Ran and completed the game on Proton-7.0-6. I used the official controller settings by Runic, but bound Ctrl to R2.
Bound Ctrl to R2