Wine to use mesa Direct3D
Summary
Enhancing mesa and wine with Direct3D9 support will increase performance and reduce resource usage in applications which using D3D9 framework.
Owner
- Name: Igor Gnatenko
- Email: ignatenkobrain@fedoraproject.org
- Release notes owner:
Current status
Detailed Description
Developers: Axel Davy (davyaxel@free.fr)
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
TODO ListDescription | Assignee | Status | References |
---|---|---|---|
Enable Direct3D9 state tracker in mesa | Igor Gnatenko | ||
Land d3d support in wine | Axel Davy and Igor Gnatenko |
Hardware | Status | References |
---|---|---|
AMD (r300-r500) |
| |
AMD (r600-radeonsi) | ||
Nvidia (nv50-nvc0) |
| |
Intel (ilo) |
| |
Intel (i915) |
|
Benefit to Fedora
Users wanting to play d3d9 games on Wine will get better experience when using Gallium Nine when it works
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)
Upgrade/compatibility impact
N/A (not a System Wide Change)
How To Test
# dnf install wine
- Check if
mesa-d3d
installed automatically - Run some benchmarks/games in wine
Expected results: no problems and more better performance
User Experience
N/A (not a System Wide Change)
Dependencies
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? No
- Blocks product? N/A (not a System Wide Change)
Documentation
N/A (not a System Wide Change)