

I’m going to assume you’re using official, paid-for GOG offline installers. Other installers will work the same way.
I have a directory for non-Steam games mounted at /games
. Every game has its own directory, and a game
and prefix
directory for the game content and the wineprefix respectively. For example, for Cyberpunk 2077 you would run mkdir -p /games/cyberpunk-2077/{game,prefix}
to create the directory tree all at once.
To install the game, I simply use wine
to execute the installer with the prefix
directory set as the wineprefix: WINEPREFIX=/games/cyberpunk-2077/prefix wine SETUP_FILE_NAME.exe
. The root filesystem will be mounted as the Z: drive – use Z:\games\cyberpunk-2077\game
as the install path.
I use Lutris to launch the game. Add a new game, choose “Locally installed game”, then set the executable path to the game’s main executable, the working directory to the game
directory (usually works, some games expect a different working directory), and the prefix to the prefix
directory.
If the game comes in an archive (like portable Windows applications), you can simply copy the files to a directory and point Lutris at the executable.
Compatibility has been pretty solid for me. There are only a few games that didn’t work out of the box (excepting those that are intentionally broken through anti-cheat). You can often get away with running games on Wine, but for most games you’ll want Proton. Lutris will detect and use Proton versions that are installed by Steam, copied manually into
compatibilitytools.d
, or it can download Wine and Proton releases on its own. There’s also GloriousEggroll’s fork with many game-specific fixes.ProtonDB and Lutris.net are the most useful resources, you can check if the anti-cheat solution might be an issue on Are We Anti-Cheat Yet?, Steam forum is a thing that exists, and you can ask in this community.