Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
d3d9 [2015/01/25 13:38]
mannerov [News]
d3d9 [2022/07/11 10:46] (current)
okias [Roadmap] remove, wine devs aren't friends.
Line 1: Line 1:
 ====== Gallium Direct3D state tracker (gallium nine)====== ====== Gallium Direct3D state tracker (gallium nine)======
-**[[d3d9_faq|FAQ]] | [[d3d9_install|Installation]] | [[d3d9_debugging|Debugging]] | [[d3d9_patch|Sending patches]] | [[d3d9_demos|Demos]] | [[d3d9_bugs|Bugs]] | [[https://github.com/iXit/Mesa-3D/issues|Bugzilla]] | [[d3d9_docs|Various docs]] | [[https://trello.com/b/W7S0wqHW/d3d9|TODO]]**+**[[d3d9_faq|FAQ]] | [[d3d9_tutorial|Tutorials]] | [[d3d9_debugging|Debugging]] | [[d3d9_team|Team]] | [[d3d9_demos|Demos]] | [[https://gitlab.freedesktop.org/mesa/mesa/-/issues/?sort=created_date&state=opened&label_name[]=nine|Issues]] | [[https://github.com/iXit/Mesa-3D/issues|Issues (old)]] | [[d3d9_docs|Various docs]]**
  
 ==== News ==== ==== News ====
-//01/02/2015// Talk at **FOSDEM** on Nine status\\+//11/07/2022// beware that this documentation is for archive purpose mostly, see documentation on [[https://docs.mesa3d.org/gallium-nine.html|Mesa3D docs]] and [[https://github.com/iXit/wine-nine-standalone|Wine Nine Standalone]] 
 + 
 +//09/03/2019// new Intel cards are now supported by Gallium Nine **[[https://www.phoronix.com/scan.php?page=news_item&px=Intel-Iris-Working-Gallium-Nine|read more]]** 
 + 
 +//07/12/2016// Axel Davy presented improved internal multithreading for Nine! **[[https://lists.freedesktop.org/archives/mesa-dev/2016-December/137643.html|read more]]** 
 + 
 +//05/04/2015// xf86-video-ati upstream now has **full DRI3 and Present** support! We recommend radeon users to use this.\\ 
 +//01/02/2015// Talk at **FOSDEM** on Nine status [[https://fosdem.org/2015/schedule/event/d3d9/attachments/slides/722/export/events/attachments/d3d9/slides/722/GalliumNineStatus.pdf|slides]]\\ 
 //18/11/2014// **Nine/st got into upstream Mesa-3D!** I'd like to thank everyone for their hard work on coding, buildsystem, testing and helping new users! **Thank you guys!** //18/11/2014// **Nine/st got into upstream Mesa-3D!** I'd like to thank everyone for their hard work on coding, buildsystem, testing and helping new users! **Thank you guys!**
  
 +{{ :gallium-nine.png?nolink|}}
 ==== Project Information ==== ==== Project Information ====
 +**Why** exist **Gallium Nine** project? Because we want see happy **Linux users which can enjoy games** designed for Windows DX9 at **full resolution and details getting maximum performance, which can  hardware provide!**
  
-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. +**How** we achieve this goalBy **skipping all bottlenecks** on waynot doing expensive rewrite native D3D9 calls into OpenGL (which classic wine does), but **directly feeding your graphic card (GPU) with D3D9 calls** without ugly conversion to OpenGL!
-Sadly, wine loses a lot of Direct3D9's speed through the inefficent translation of HLSL and D3D9 calls to OpenGL+
  
-**But we can do better!** We can build on top of the **Gallium framework** which is part of the Mesa-3D library. It allows us to expose Direct3D 8 and 9 support! Right now **we only support Direct3D 9**, but in the future, we'd like also extend support to other versions too.+**What can you get** by installing Gallium Nine enabled Wine**?** The answer is simple - **best performance** (feel free to check [[https://www.youtube.com/results?sp=EgIIBQ%253D%253D&q=gallium+nine|youtube]] to watch our happy users gameplays).
  
-**Real numbers?** +We build our technology a top of the **Gallium framework** which is part of the Mesa-3D library. It allows us to expose Direct3D 9 support
-  * On a simple demo with a weak CPU (Athlon TK-55 X2) **CPU usage dropped from 20% to 10%**+==== Faster than Windows==== 
-  * Need a benchmark[[http://www.linuxsystems.it/2014/09/wine-vanilla-vs-csmt-d3dstream-vs-gallium-nine-vs-catalyst/|2014-09-14, with older DRI2]] +^ Game ^ Portal ^ 
-  For real games, we're getting mostly **double the framerate** //(depends on the game, the driver and the card)//+^ cpuIntel i5-3210M @ 2.50GHz; gpu: AMD HD 7730M ^^ 
 +| 60 fps | Ubuntu 14.10 Native | 
 +| 63 fps | Arch Linux* wine | 
 +| 85 fps | Windows 7 | 
 +| **89** fps | Arch Linux* wine with **Nine support** 
 +Arch Linux with  llvm SI scheduler + dma copy enabling patch || 
 +{{ :chartgo.png?nolink&200|}} 
 +Generally also works better in CPU limited scenarios.
  
 If you want to watch development and talk about Direct3D, join us on [[irc://chat.freenode.net/d3d9|#d3d9]] on freenode.net. Channel logs are available [[http://people.freedesktop.org/~cbrill/dri-log/?channel=d3d9|here]]. If you want to watch development and talk about Direct3D, join us on [[irc://chat.freenode.net/d3d9|#d3d9]] on freenode.net. Channel logs are available [[http://people.freedesktop.org/~cbrill/dri-log/?channel=d3d9|here]].
Line 25: Line 41:
  
 ==== Usage ==== ==== Usage ====
-{{ :winecfg.png?nolink|}} 
 First, you need to allow native Direct3D 9 in wine! First, you need to allow native Direct3D 9 in wine!
  
   - Run **winecfg**   - Run **winecfg**
-  - Select the **Graphics** tab +  - Select the **Staging** tab 
-  - In the **3D Acceleration** group select **Prefer native Direct3D 9** +  - In the **Staging Settings** group select **Enable Gallium Nine for better D3D9 performance** 
-// If the **3D Acceleration** group is **missing**, you do not have the patched Wine! //+// If the **Staging** tab or **Staging Settings** group is **missing**, you do not have the patched Wine! //
  
 Now you may want to try your favorite game! Now you may want to try your favorite game!
Line 78: Line 93:
   * Participating in interesting project   * Participating in interesting project
   * A good reference into your resume/CV   * A good reference into your resume/CV
-==== Roadmap ==== +
-  * Get rest of Nouveau patches into upstream. +
-  * Test Nine with Longene +
-  * Get Wine patches to upstream or/and packagers+