Everything, except changing the renderer or the resolution. There is a workaround.
What does not
Changing the resolution or the renderer crashes the game.
Install the game in a clean 32-bit prefix. The best option is to get the game to work in OpenGL mode. That will give the best performance, native resolution and best texture quality (what little there is). But that is not entirely trivial. First we need to change a few things.
- Open a terminal and cd to the game directory
- Remove any file that was provided by nGlide. These are the files that need to be removed: glide.dll, glide2.dll, glide3x.dll, nglide_config.exe. These are just some outdated nglide libraries that were provided by GOG. Don't worry, the game doesn't actually run in glide mode. The game actually tries to use OpenGL 3dfx mode in this case, meaning we would get redirected back to our native opengl32.dll anyways, thus bypassing anything to do with glide. If anyone disagrees, they are obviously welcome to try and run this game with the newest nGlide and get the Vulkan renderer to work.
- On the first run, we need to run the game in software mode: wine cataclysm.exe /sw /disableAVI
- Set any graphical settings you want now, you won't be able to change the later, but do NOT change the resolution or the renderer - that will crash the game. Setting the maximum texture memory is very important to get the game to look half-decently.
- Exit the game and open the registry editor with: wine regedit
- Go to HKEY_LOCAL_MACHINE/Software/Sierra On-Line/Cataclysm
- Change these settings: deviceToSelect needs to be "gl" (without the quotes). glToSelect needs to be "opengl32.dll". Double click on screenDepth and change the mode to decimal and change it to 32 and click ok. It should then be set to 0x00000020 (32). Same thing for screenHeight and screenWidth, change the mode to decimal after double clicking on them and edit them. I had them set to 1080 and 1920 for a 1920x1080 resolution setting. It is very recommended to run the game in your desktop resolution (see the warning at point 10)
- Close the registry editor and run the game with wine cataclysm.exe /disableAVI /noglddraw /noswddraw /device gl
- The game should start up now in your desired resolution. If you go to options/video you should see the OpenGL renderer selected. If not, something went wrong. The resolution will say 640x480, but that's fine, it's not actually that resolution. You can tell if the resolution works, because the menus don't scale and they will be tiny. You NEED to run the game with the same command line options we used in point 8 every time. If you don't or if something goes wrong, the game will automatically run in software mode. If that happens, you have to redo all the registry settings before trying to run the game properly.
- WARNING: I had problems with the screen being shifted to the right and not properly visible when running the game in anything other than my desktop resolution. Setting it to 1920x1080 displayed the menus properly. Everything was tiny, sure, but the game doesn't know how to scale the menus anyways, so this is unavoidable.
I also managed to make the game run in D3D mode with /device d3d, but it was worse: I couldn't set a modern resolution that way, the textures were of worse quality and the performance in big battles wasn't exactly 60fps on a pretty modern rig. So yeah, do try to get the game to work in OpenGL mode, you won't be sorry.
You can also add either /enableSSE or /forceSSE to command line options when running the game. It should theoretically provide more performance, but I saw no difference.
I used wine 4.5, but older ones should be able to run this as well, IMO.
What was not tested
- GPU: AMD
- Driver: open source