Linux Approach and considerations (WINE)

Started 2 Feb 2019
by raghh
in Support Center
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
Tue 5 Mar 2019 1:05 AM by ccerna1
oddly enough I can launch the official launcher not the phoenix one...I get an error when I try to launch it:

"Unable to find the version of the runtime to run this applicatoin"
Sun 2 Aug 2020 2:07 AM by necrolove1
does this still work?
Sun 2 Aug 2020 9:40 AM by phelger
I've been using the i386-wine-dev package on freebsd (12-stable) for the last few weeks, works fine.
This topic is locked and you can't reply.

Return to Support Center or the latest topics