Table of Contents

Gallium Direct3D state tracker (gallium nine)

FAQ | Tutorials | Debugging | Team | Demos | Issues | Issues (old) | Various docs

News

11/07/2022 beware that this documentation is for archive purpose mostly, see documentation on Mesa3D docs and Wine Nine Standalone

09/03/2019 new Intel cards are now supported by Gallium Nine read more

07/12/2016 Axel Davy presented improved internal multithreading for Nine! 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 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!

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!

How we achieve this goal? By skipping all bottlenecks on way, not 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!

What can you get by installing Gallium Nine enabled Wine? The answer is simple - best performance (feel free to check youtube to watch our happy users gameplays).

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!

Faster than Windows?

Game Portal
cpu: Intel 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

Generally also works better in CPU limited scenarios.

If you want to watch development and talk about Direct3D, join us on #d3d9 on freenode.net. Channel logs are available here.

The whole package needed to use native Direct3D 9 in wine consists of:

Usage

First, you need to allow native Direct3D 9 in wine!

  1. Run winecfg
  2. Select the Staging tab
  3. In the Staging Settings group select Enable Gallium Nine for better D3D9 performance

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!

If you want see CPU load and FPS, use Gallium HUD. It provides part of Fraps' functionality, known from Windows. (for 4 core configurations)

export GALLIUM_HUD="cpu0+cpu1+cpu2+cpu3;fps"

Installation troubleshooting

Try to run a simple DX9 application from terminal and check the logs. You should see something very similiar to this image below. If you see:

How can I help?

This project is completly open source and everyone can help at least a little. Currently, we looking for

What we can offer?