Playing on the Steam Deck
Launcher
How you start the games depends on how you installed the game. I recommend the Lutris route with custom install scripts in which case you need to add the game(s) to your library as a non-Steam game.
The easiest way to achieve this is by using BoilR.
You simply install it, open it up, select the game(s) you want to import
(which usually happens automatically) and hit the “import” button.
This adds the game as non-Steam game in your Steam library and enters flatpak as
target command to run with specific startup arguments. This way the whole command looks
something like this:
flatpak run net.lutris.Lutris lutris:rungame/gothic-ii-gold-edition
If you’re like me, you can then spend some time to add proper artworks, of course.
Note
Adding two instances of the same game (e.g. with different mods installed) will not work out of the box with this method because BoilR uses the GOG-internal game ID to create a run command which is then executed by Steam. To work around this you need to change this identifier. This can either be done when using an installation script ( edit the value of
game_slugat the top of the YAML file) or after installation. Just select the game, click “Configure” in the context menu (right-click menu), go down to theIdentifier, click the change button and enter something else. Don’t forget to hitApplywhen you’re done.
If you installed a mod, you may find yourself facing a launcher in which you need to select
the game (or mod) again to actually start. Luckily there’s a solution for this. You need
to determine the name of the game or mod you’re playing from the base name of the .ini
file that’s used. This is located in the system subfolder and may be named something like
NostalgicEdition.ini for the Nostalgic mod. Once you have this you can can open up
Lutris, right-click on the game, select Configure, and in the Game options tab you
add the following to the Arguments field:
-game:$MOD_NAME -start
So for the Nostalgic mod this would become -game:NostalgicEdition -start. This will start
the selected game or mod directly. You may still encounter the mod starter after starting
the game but it will automatically disappear again.
Controls
zGamePad
Warning
As of October 2024 this mod doesn’t work properly out of the box, if the game was installed from another source than Steam. I don’t know yet why that is but somewhere between the in-game keybindings, Steam Input and zGamePad something happens so that button presses will trigger different reactions (e.g. jumping and opening the character menu) at the same time. I haven’t found a way to fix this yet but I may at some point.
In order to run the games smoothly on the Steam Deck or on a regular device with a gamepad you’ll want to install the “zGamePad” mod (see above). If you’re playing via Steam, it’s of course possible to map the inputs yourself which gets you most of the way to what zGamePad provides out of the box. I would not recommend this, though, because it’s a lot of hassle and still doesn’t provide some of the features the mod does, like quick access menus, seamless transition between strafing and forward movement (which is very nice to have) and situational keybindings (i.e. keybindings that depend on whether you are in a menu, in combat etc.).
Installation of the mod can be achieved by copying the following snippet into an installation script:
Controller snippet
script:
files:
# Copy this into the "files" section of your script
- zgamepad: https://cloud.bfloeser.de/s/rimZDiWF3mFnHkK/download/zGamePad.exe
installer:
# Copy this into the "installer" section of your script
- task:
arch: win32
description: Installing zGamePad
executable: zgamepad
name: wineexec
prefix: $GAMEDIR
working_dir: $GAMEDIR
Alternatively, you can download and run the installer manually. Note that this mod requires the Union mod.
Now you need to enter game mode and select your newly added game. In order for zGamePad to be utilized you need to select “Gamepad with Mouse Trackpad” as input method. You can configure zGamePad from the menu by selecting “Settings” and “Union & Plugins”.
If you installed via Steam directly and use the Workshop version of the mod, the zGamePad controller scheme should be preselected and you’re good to go out of the box.
I recommend familiarizing yourself with the controls (if you’re not already familiar) and then switching the control hints off in the menu since I find them to be pretty jarring (YMMV of course).
All the basic game functionality is covered by the gamepad inputs, however, if you installed mods that require additional inputs (like sprinting, torches, the item finder etc.) these need to be addressed separately. On the Steam Deck this is easily done by just using the back grip buttons. If you’re using a regular gamepad, you’ll need to consult the documentation for the mod.
Manual Mapping
If you’re not using zGamePad (see above) you’ll need to map the keys manually. Thankfully Steam Input is very powerful so it’s actually doable (for the most part). I won’t tell you what exactly you need to map where because it comes down to preference but I will give you an overview about the mappings I have in place. Note that some buttons are bound to two keys so you can perform different actions, e.g. depending on whether you have a weapon drawn.
| In-game keybinding | Steam Deck button | Function |
|---|---|---|
| Right mouse button | B & Left trigger | “back” button, quicklooting, blocking |
| Left mouse button | Right trigger | used for fighting |
| Alt | X | jump and drop item from inventory |
| Ctrl | A | interact, in Gothic 1 I have a dual input of Ctrl and Return bound to this because Ctrl doesn’t work to choose menu items or dialog options |
| Space | Y | draw (and change) weapon |
| Delete | Left bumper | strike to the left and strafe left |
| PageDown | Right bumper | strike to the right and strafe right |
| Start | Esc | |
| Left stick press | F5 | quicksave |
| Right stick press | F9 | quickload |
You may need to ensure that the in-game keybindings correspond to the desired actions from within the in-game settings menu. For fighting I only use the triggers and bumpers because it suits me best. A few other things to note:
- The right stick serves as mouse, the left stick is for running forward, backward and strafing left and right. This makes movement fairly intuitive.
- The DPad is bound to the arrow keys. When I touch and hold the right stick an action layer is activated that changes the DPad bindings to Tab, N, B and T for inventory, quest log, character sheet and torch (see BetterTorches mod). That way I can use the DPad to select menu items and dialog options as well as navigate trade windows but also have a way to access inventory etc.
- The left trackpad is a quick menu bound to the number keys from 1 to 0.
- Back grip buttons are bound to sprinting, sneaking, item locator and such things.
This setup is quite satisfactory for my personal playstyle with Gothic 2. Since the controls of Gothic 1 are a bit more wonky (combat system and trading) a few adjustements need to be made there. I experimented with subcommands for Ctrl + arrow key for fighting but that always had drawbacks so I just went with pressing right trigger + DPad button. Trading in Gothic 1 is a mess and I didn’t even bother to figure out a good solution to keybindings here, I just accepted that it was weird.
Performance
As you’d expect the vanilla game can basically be run on a potato. With the D3D11 renderer, however, the hardware demand is actually somewhat noticeable and you need a decent GPU to handle the load. The Steam Deck is mostly up to the challenge, I did notice a bit of choppiness in certain locations in Gothic II (so far in Khorinis and the castle in the Valley of the Mines). You’re free to tinker with the settings to improve performance, of course. For extra battery life I recommend capping the FPS to 40 and setting TDP to 7 which also helps with frame pacing.
When playing more demanding mods like the various L’Hiver editions the TDP restriction won’t be playable so I recommend not turning that on.
Note
On several occasions I noticed that after playing a while (a couple of hours, I think) the framerate tanked and wouldn’t go up again. This only occurred when playing with the renderer. Restarting the game resolved the issue and unfortunately I haven’t been able to pin down the issue yet.
Now all that’s left to do is start the game and enjoy!