Linux Approach and considerations (WINE)

Most likely i am not the only one running *NIX based system and prolly not the only wine-roookie either. Therefore i thought that it might be beneficial for anyone and everyone to gather all relevant information/knowledge/experience/thoughts/etc into one place.

Therefore here is my approach/notes on running the Phoenix launcher, Korts, and BobsUIs using Ubuntu 1904, wine4.0 and the proprietary nvidia-410 driver

1. Enable 32bit libs and install wine
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install nvidia-cuda-toolkit ocl-icd-opencl-dev
sudo apt-get install wine winetricks

2. Add packages to wineprefix.
winetricks corefonts d3dx10 d3drm vcrun2005 vcrun2008 msxml3
## Honestly i forgot the reason for vcrun and msxml3 packages, prolly Korts or BobsUI related

Now the game should be launchable. However i find it necessary to tweak it further to bring down its massive CPU-usage:

1. If you execute from your terminal or anything else that uses STDOUT i suggest disabling the verbose logging with following system-variable:
WINEDEBUG=-all
WINEDEBUG=-all,+fps # Prints FPS to stdout every second

2 . Disable CSMT in wine (using winetricks):
Depending on system/wine version/variant; CSMT might be enabled per default (spawns a child to processes opengl rendering)). - However in my situation the game.dll claims 100% CPU-usage and furtheremore the CSMT-child hogs upto 200% CPU according to htop and is more and less bringing my quadcore cpu to its knees for a slight FPS-gain.

4. Correctly enable OpenGL multithreadning by using the GPU instead of wine with following system-variable:
nvidia: '__GL_THREADED_OPTIMIZATIONS=1'
Intel-graphics with mesa driver: 'mesa_glthread=true' # I did not test this.

5. /usr/bin/nice -20
Most likely this wont give me a single frame per second, however i do like the idea that the game is prioritized above other services running.

6. Kill Phoenix.exe when game.dll is spawned to prevent further CPU-hogging
Whether or not this is still causing issues i suggest clearing phoenix.exe proces(es) when the game is launched

7. My Launch string:
WINEPREFIX=/zDATA/DAOC WINEDEBUG=-all __GL_THREADED_OPTIMIZATIONS=1 /usr/bin/nice -20 /usr/bin/wine Phoenix.exe &

This should not be considered a 'how-to' nor best-practices - This is just me sharing what i thought made sense for my own phoenix-situation so far

In order for everyone to get the best possible outcome/performance i hope that more people are willing to share any relevant information that could be useful for others.

Tak far
<Malerhjerner>
Wraghh - RR 11L3 Chanter
Raghh - RR 8L2 Armsman
Braghh - RR 6L3 Skald