Wine
Overview
Regardless of the specific way of making Gothic run on Linux, you will be making use of Wine (unless you're using the OpenGothic native build, of course). Wine is a piece of software that makes running Windows programs on Linux possible. You can think of it as a layer sitting between the user (and the applications they run) and the operating system itself. In Linux the operating system is called "Kernel". Wine intercepts system calls made by Windows applications and translates them into something Linux can understand.
Aside: More precisely, Wine implements the Windows API. Since it does not do so in the exact same way Windows itself does, there are inconsistencies in behavior between the two (see below about DLL overrides).
Proton
Proton is built on top of Wine and made by Valve. It contains several patches that are not present in standard Wine which are specifically geared towards gaming and making it easier. Other than that, it's the same thing and the same considerations apply. Mostly.
Prefixes
A Wine prefix is basically a complete Windows installation with all the necessary files, libraries
(see DLLs), and the Windows registry. If not configured otherwise, Linux uses a global prefix (usually located at
~/.wine) to install things. However, to avoid clashes and incompatibilities, it is recommended to keep
each application in a separate prefix, especially for instances of Gothic games (plus mods), since Gothic I
and Gothic II have different requirements to make them run which is also true for various mods. Prefixes can
be created wherever you like (and have write permissions) and live in a dedicated directory on your disk.
Winetricks
It is often necessary to customize a given Wine prefix in one or more ways. It is usually most convenient to achieve this with Winetricks which is a sort of package manager for Wine. It is capable of installing dependencies and edit all kinds of configurations.
The same exists for Proton and is called Protontricks.
DLLs
Libraries contain code that is used by more than one application on the same system. On Windows these libraries
are the DLLs (dynamic link library) which contain crucial functionality for the operating system itself but also
for the games you run. Examples for such libraries are dsound, ddraw, dinput or dmusic, which are
responsible for things they are named after (presumably).
In addition to Windows itself, games sometimes provide their own versions of DLLs. These are meant to override they system ones. Gothic I and Gothic II do this as well.
Overrides
As mentioned above, Wine reimplements the Windows API, including all the DLLs. This means that they do not
necessarily behave in exactly the same way that the Windows version does. More importantly, however, if a game
provides their own versions for DLLs, Wine will not automatically use them which will necessarily result in
breakage. Instead, Wine must be manually instructed to override its built-in DLL with the one provided by
either Windows or, as in the case of Gothic, the one provided by the game itself. This game-provided DLL is
Windows-native so we need to give Wine the instruction to override certain builtin DLLs with native ones
and only use the builtin ones as a fallback.
Architecture
Wine prefixes come in two flavors: 32-bit and 64-bit. Originally, this is due to computer architecture but the result for Wine is that these two flavors contain different sets of files and DLLs. A prefix cannot be converted between the two, it needs to be recreated. All this can also lead to problems when trying to run Windows applications that were made for one architecture in a different one. Recent versions of Wine have automatic provisions for supporting 32-bit applications in 64-bit prefixes but these do not always work flawlessly.
The Gothic games are 32-bit games. Luckily, they can run on 64-bit computers (all modern computers are 64-bit) but it is necessary to be aware of this. Recent versions of Proton do not support 32-bit prefixes anymore. Recent versions of Wine do but they default to a 32-bit compatibility mode called "WoW" inside a 64-bit prefix. As of this writing (see "Last Updated" on top of page), the version of Gothic I provided by GOG runs in a 64-bit prefix but Gothic II does not. Gothic II also does not work with WoW Wine builds. This may be different for other versions of the games (Steam, CD) and may also change in the future. If it does, I will update the provided installation scripts and instructions.
In general, it is preferable to run applications in 64-bit prefixes, because it is more future-proof. Linux distributions have already considered dropping the 32-bit Wine libraries from their repositories so it might become more difficult to create and run 32-bit Wine prefixes at some point.