These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Linux

 
  • Topic is locked indefinitely.
 

[Gallium Nine] support thread

Author
Ravow
Republic Military School
Minmatar Republic
#1 - 2016-05-31 08:14:24 UTC  |  Edited by: Ravow
Hi, I start this thread to help supporting running EVE via the Nine Gallium3D state tracker.

What it is :
Nine is a open-source and free implementation of Microsoft Direct3D 9 API for Linux, It is a Gallium3D state tracker located at the same level as OpenGL. Gallium use that tree :
- for OpenGL : Application -> OpenGL -> TGSI -> DRM -> Metal
- for Direct3D : Application -> Direct3D -> TGSI -> DRM -> Metal

Pro :
* Usually, way more fps, meaning that you can run EVE with Intermediate 1 and stay at 60fps And put Immediate when you need all the juice.
* Take less CPU (The D3D->OpenGL conversion layer of Wine go away, leaving all that cpu core available for EVE). it's the reason the fps go up.
* You get the ship effect like the one for shield or armour
* If running an AMD card, it's more stable (not just EVE, but in general)
* Your can run bleeding edge without waiting for drivers from vendor

Con :
* It's not supported by CCP (less than the current support) as it require extra patch for Wine and CCP don't have resources for Linux support so they will not test and produce stuff for all different way to run EVE.
* It's more experimental and have less Q&A

Supported cards :
* AMD : All of them (still, newer card does not mean better)
* Nvidia : Serie 900 and less (some card don't have reclocking support and will be stuck in low clock/power mode.
* Intel is not supported as thet use plain MESA for 3D.

How to install / Setup :
* The project page explain how to manually build it, link the patchs and packages for distributions : https://wiki.ixit.cz/d3d9_install
* Mesa already have support for Nine. look for a file /usr/lib32/d3d/d3dadapter9.so, if it's there, you have D3D support else, you have to install/compile a mesa with Nine support.
* Wine need patch located here : https://github.com/sarnex/wine-d3d9-patches
* Mesa do not come with S3TC texture compression, be sure to have the libtxc_dxtn package installed (the 32Bit one is required.) Failure do install that will result in beautiful, dark, black textures (or crashs).

Recommended version :
* Mesa : 11.3-devel
* Wine : 1.9.11
* libdrm : git
* llvm(AMD) : git
* xord ddx drivers : less than a month old, Enabled DRI3 will give more performances

Distribution package (copy/paste from ixit site):
*Ubuntu/Kubuntu/Mint:
wine (dri3 and dri2) https://launchpad.net/~commendsarnex/+archive/ubuntu/winedri3
Mesa-3D (dri3) and DDX https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers
Mesa-3D(iXit) + Mesa-3D(upstream) + Intel workaround (dri3) https://launchpad.net/~commendsarnex/+archive/ubuntu/ixitmaster

*Arch Linux:
Mesa is available in [extra] and development versions are available in the AUR under mesa-git.
wine-staging-d3dadapter is available in the AUR.
PlayOnLinux also has up-to-date versions of wine with –d3dadapter.
More info available at https://wiki.archlinux.org/index.php/Unofficial_user_repositories#mesa-git

*openSUSE:
Mesa-3D (git), Wine (iXit), LLVM, libdrm http://download.opensuse.org/repositories/home:/pontostroy:/X11/
Mesa-3D Debug (iXit), Wine Debug (iXit) http://download.opensuse.org/repositories/home:/pontostroy:/gallium-nine/
Mesa-3D (iXit) http://download.opensuse.org/repositories/home:/pontostroy:/branches:/home:/pontostroy:/gallium-nine/
Mesa-3D (stable) http://download.opensuse.org/repositories/X11:/XOrg/

*Gentoo: (from Ravow setup, not ixit site)
xorg-server and other deps are in ::x11 overlay
Mesa and Wine compiled with the "d3d9" and "staging" use flag.

Enabling:
*To enable nine in Wine, you have to go to winecfg, staging and enable only "Enable Gallium Nine".
*You launch EVE the normal way (without the official launcher for Linux(for now))

Confirming:
You want to confirm that nine is on and running for your EVE instance?
launch EVE in a console and look at the startup log, you will see one of four messages:
* Native Direct3D 9 is active. (It's ON)!
* Native Direct3D 9 is disabled. (You forgot to turn it on in winecfg)
* Native Direct3D 9 will be unavailable. (Your drivers do not support it)
* Wine source code has been compiled without native Direct3D 9 support. (Mesa did not have Nine support when you compiled Wine).


Please post here for Question, problem, success story :) and please include your gfx configuration, for reference here

You can donate ISK to Ravow if you want me to make a Linux launcher for experimental stuff like Nine, CSMT, compile wine with the patch you want. Maybe stand-alone or something that use the CCP launcher (to simply, replace his wine with a different flavor).
Work will began when I will have accumulated 10B ISK.

Tested video card so far:
- AMD Radeon 7970HD : GFX Perfect (no corruption), ship effect ok, fps in space void = +-175, spining station +-220, asteorid field and mining with two account +-63. Mesa 11.3-dev + some patchs, Kernel 4.6-rc5.
- Nvidia GT 645M : GFX Perfect (In high power mode), "OK" in low power mode, Mesa 12.1-dev, Kernel 4.5.
Torgeir Hekard
I MYSELF AND ME
#2 - 2016-05-31 08:41:09 UTC  |  Edited by: Torgeir Hekard
Could not find wine-staging-d3dadapter in AUR.

The only nine-enabled wine version for arch I know is aur/wine-gaming-nine.

That being said, without thread_submit=true you are very likely to get many artifacts under nine.

And for me thread_submit=true breaks nouveau in spectacular and inventive ways.

That being said, it kinda runs better than proprietary nvidia. fps-wise.

EDIT: ah, found d3dadapter. Not sure why I wasn't seeing it before.
Ravow
Republic Military School
Minmatar Republic
#3 - 2016-05-31 15:00:38 UTC  |  Edited by: Ravow
Torgeir Hekard wrote:
Could not find wine-staging-d3dadapter in AUR.

The only nine-enabled wine version for arch I know is aur/wine-gaming-nine.

That being said, without thread_submit=true you are very likely to get many artifacts under nine.

And for me thread_submit=true breaks nouveau in spectacular and inventive ways.

That being said, it kinda runs better than proprietary nvidia. fps-wise.

EDIT: ah, found d3dadapter. Not sure why I wasn't seeing it before.


You have a system with two video card, like Intel + Nvidia?

thread_submit seam to be only required on these kind of setup (With DRI_PRIME and friends) and I think that stuff landed officially in Mesa... They merged some DRI_PRIME fix in Mesa about 15 days ago.

https://github.com/iXit/Mesa-3D/commit/839f41763436cd1a438771f50ffa16fa3bbbb3c5
Torgeir Hekard
I MYSELF AND ME
#4 - 2016-05-31 16:00:15 UTC
Yup, I have an optimus laptop.

I see they merged it, and the source in aur/mesa-git matches the commit.
However I have a prebuilt mesa-git/mesa-git (not sure how exactly up to date it is), and behaviour with and without thread_submit is vastly different for me. Not sure what to make out of it.
Ravow
Republic Military School
Minmatar Republic
#5 - 2016-05-31 16:16:52 UTC
Torgeir Hekard wrote:
Yup, I have an optimus laptop.

I see they merged it, and the source in aur/mesa-git matches the commit.
However I have a prebuilt mesa-git/mesa-git (not sure how exactly up to date it is), and behaviour with and without thread_submit is vastly different for me. Not sure what to make out of it.


You artefacts bug might be fixed by now, You should take a look at last git if you want to use it!
Torgeir Hekard
I MYSELF AND ME
#6 - 2016-06-01 08:29:31 UTC
Okay, I've built the latest mesa (like 12.1 devel), and the behaviour is still different between thread_submit set or not.

Mind
@
Blown
Ravow
Republic Military School
Minmatar Republic
#7 - 2016-06-01 15:05:15 UTC
Torgeir Hekard wrote:
Okay, I've built the latest mesa (like 12.1 devel), and the behaviour is still different between thread_submit set or not.

Mind
@
Blown


Still broken?

Can you tell me your gfx setup so I write in on top for reference?
Torgeir Hekard
I MYSELF AND ME
#8 - 2016-06-01 16:50:47 UTC
Ravow wrote:

Still broken?

I would not say it's broken per se. I get occasional stuttering (looking like frames displaying in wrong order), especially when FPS is low (i.e. when I'm running on the lowest power state and non-minimal graphics). Nothing gamebreaking.

Otherwise it's pretty decent and looks to be faster than proprietary (as in, I can comfortably run it with consistent FPS on lower pstates as opposed to proprietary driver trying to cook my laptop and fps jittering).
Ravow wrote:

Can you tell me your gfx setup so I write in on top for reference?

Intel i5-3317U (I suppose it acts as a bottleneck when running proprietary driver because D3D->OGL translation. Also it sits on the same heat pipe as the video chip, but farther away from the heat sink and thus actually runs hotter than the GPU which along with lower crit temperatures means it starts throttling first). With ivy bridge graphics.
Nvidia GT 645M. I think with dedicated 1GB GDDR5

Current mesa version is 12.1.0_devel.82158.6400144-1.
Kernel is 4.5.4-1 (hmm, maybe should try getting something newer).
Ravow
Republic Military School
Minmatar Republic
#9 - 2016-06-05 07:35:04 UTC  |  Edited by: Ravow
The kernel 4.7 give a good gain on AMD hardware. Got from +- 175fps, in the void of space, to 212 fps.

Note, you need to use git master and revert the patch linked here : https://bugzilla.kernel.org/show_bug.cgi?id=119631 . Without that you will get about 50-80 fps in space :) Took about two hours of bisecting and 14 reboot to locate the bad patch.
Torgeir Hekard
I MYSELF AND ME
#10 - 2016-06-06 03:48:27 UTC
Looks like you may just set use_pflipirq to non-default to mitigate the behaviour instead of nuking the whole commit.

In my case 4.7-rc1 is good and well, but breaks asus_wmi. Oh, and does not fix the thread_submit lockups.
Adara Starkiss
Argentum Holdings
#11 - 2016-06-06 23:23:22 UTC
I wanted to know if you have to do something special to benefit from this, cause far as I know I havent done anything special and I have no trouble seeing the armor or shield effects nor I have 1 core running at 100%... I run 3 clients and on average the cpu load is at around 75% for all cores.

Ubuntu Mate 16.04.2 64bit // Amd A8-5600K with RX460 4GB // 6GB DDR3 // Sandisk 120GB SSD Plus // Wine Stable 2.01 // Native Linux Launcher // TS3 working // Happy to be back in Ubuntu :)

Ravow
Republic Military School
Minmatar Republic
#12 - 2016-06-07 00:16:27 UTC
Adara Starkiss wrote:
I wanted to know if you have to do something special to benefit from this, cause far as I know I havent done anything special and I have no trouble seeing the armor or shield effects nor I have 1 core running at 100%... I run 3 clients and on average the cpu load is at around 75% for all cores.


You don't get more than 75% / core because you probably hit your GPU limit (if you use the APU for video).

For the effect, that's interesting.. What drivers are you using? The new AMDGPU PRO?
Adara Starkiss
Argentum Holdings
#13 - 2016-06-07 06:45:46 UTC
How do I find out... far as I can tell Im just using the open source drivers, no special anything.

Ubuntu Mate 16.04.2 64bit // Amd A8-5600K with RX460 4GB // 6GB DDR3 // Sandisk 120GB SSD Plus // Wine Stable 2.01 // Native Linux Launcher // TS3 working // Happy to be back in Ubuntu :)

Ravow
Republic Military School
Minmatar Republic
#14 - 2016-06-07 07:44:49 UTC
Adara Starkiss wrote:
How do I find out... far as I can tell Im just using the open source drivers, no special anything.


If your already using the open source drivers, you can follow the instruction for your distribution and try nine.

If your not getting more performance, you will still use less CPU and so, Power.

You can find if your actually using nine if you see these message in the console where you run EVE:
Native Direct3D 9 is active.