F22 Self Contained Change: Wine to use mesa Direct3D

Jaroslav Reznik jreznik at redhat.com
Wed Jan 14 12:28:57 UTC 2015


= Proposed Self Contained Change: Wine to use mesa Direct3D =
https://fedoraproject.org/wiki/Changes/Wine_to_use_mesa_Direct3D

Change owner(s): Igor Gnatenko <ignatenkobrain at fedoraproject.org> 

Enhancing mesa and wine with Direct3D9 support will increase performance and 
reduce resource usage in applications which using D3D9 framework. 

== Detailed Description ==
When playing d3d9 games on Wine, their d3d9 calls are translated to OpenGL. 
This is complicated process, because you have to deal with different drivers 
having different extensions available, and the fact that opengl and d3d9 don't 
map perfectly together. Gallium Nine implements the d3d9 API with Gallium 
internal API, which maps better to d3d9 than OpenGL. You remove some layers of 
translation in the process which enables better performance. Gallium Nine is 
not as mature as Wine OpenGL translation, and it is likely to have more bugs, 
but when the games work, you can expect 5-10% improvement for gpu limited 
games, or much more (sometimes 100%) for cpu limited games.

what is Gallium: Gallium is an internal graphic driver abstraction of Mesa to 
enable support of non-opengl languages more easily (it is used for vdpau and 
vaapi on r600/radeonsi for example). It is used by nouveau and r300 up to 
radeonsi for AMD. Intel OpenGL support doesn't use gallium, but a gallium 
driver named ilo exists, but isn't sponsored by Intel.

In practice, games have also smoother frame rate on Gallium Nine. Gallium Nine 
has good DRI_PRIME support, and if you have a system with an iGPU+dGPU, you 
can play without issues with the parameters DRI_PRIME=1 thread_submit=true

https://wiki.ixit.cz/d3d9 

== Scope ==
* Proposal owners: work on the Mesa Direct3D support 
* Other developers: N/A (not a System Wide Change) 
* Release engineering: N/A (not a System Wide Change) 
* Policies and guidelines: N/A (not a System Wide Change) 

== Contingency Plan ==
* Contingency mechanism: Revert and try to do in next release
* Contingency deadline: beta freeze 
* Blocks release? N/A (not a System Wide Change) 
* Blocks product? N/A (not a System Wide Change) 
_______________________________________________
devel-announce mailing list
devel-announce at lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel-announce


More information about the devel mailing list