From Fedora Project Wiki

Direct3D

Summary

What is difference between classic wine and wine enhanced with Nine support? The answer is simple - performance. When we play most DirectX 9 games, we want the highest performance possible. Sadly, wine loses a lot of Direct3D9's speed through the inefficent translation of HLSL and D3D9 calls to OpenGL.

Owner

  • Name: Igor Gnatenko and Axel Davy
  • Email: ignatenkobrain@fedoraproject.org and davyaxel@free.fr
  • Release notes owner:

Current status

  • Targeted release: Fedora 22
  • Last updated: 15 december, 2014
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

Actual situation is, that wine has to translate DirectX => OpenGL => Gallium, which add complications and brings inefficiency. What we can do about it? It's easy, skip OpenGL! Most opensource drivers were migrated to Gallium framework. Thanks to Gallium framework is possible simply extend all drivers, by state trackers (ST) with different functionality. For these which will work, you'll get reduced cpu usage and better performance.

In my case BioShock runs with gallium-nine about 35-45 fps, which is nice. Without I get from my on-cpu AMD 6550D graphic card only 23-35 fps (tested from saved point). So – difference between playable and “poor performance”. [ game: resolution 1920×1080, all graphic settings off; hw: gpu clock 720 Mhz, memory 1866 Mhz ]

https://wiki.ixit.cz/d3d9

TODO List
Description Assignee Status References
Enable Direct3D9 state tracker in mesa Igor Gnatenko
Pass pass
[1][2]
Land d3d support in wine Axel Davy and Igor Gnatenko
Inprogress inprogress
[1]

Benefit to Fedora

All games wich using Direct3D9 (most of games which wine can run) will have very very good speedup. Real numbers?

  • On a simple demo with a weak CPU (Athlon TK-55 X2) CPU usage dropped from 20% to 10%!
  • Need a benchmark? 2014-09-14, with older DRI2
  • For real games, we're getting mostly double the framerate (depends on the game, the driver and the card)

Scope

  • 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

  1. # dnf install wine
  2. Check if mesa-d3d installed automatically
  3. 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? Workstation

Documentation

N/A (not a System Wide Change)

Release Notes