Prerequisites

You can prevent weird errors and glitches caused by unfinished wine libs by installing the original d3dcompiler_43.dll and d3dx9_24.dll - d3dx9_43.dll

Requirements

  • xorg-server >= 1.16
  • libxcb & xcb-proto >= 1.11 (only exception is Debian, where is 1.10 enough)
  • To use the DRI3 backend, xf86-video-nouveau >= 1.0.11 (for nVidia cards), xf86-video-ati >= 7.6.0 (for AMD Radeon cards), xf86-video-intel >= 2.99.916 (for Intel cards, recently disabled DRI3 in development git, must be reenabled)
  • To use the DRI2 fallback (slower but avoid DRI3 potential issues with GL): mesa compiled with –egl-platforms=drm,x11
  • mesa >= 10.4 with parameter –enable-nine

Why is DRI3 recommended?

The Direct3D 9 architecture matches closer to the DRI3/Present model, thus why we choosed to base on it for our implementation. However we implemented a DRI2/Present fallback, which emulates DRI3 with a buffer copy, to be used when DRI3 is unavailable (due to bugs in DRI3 GL stack, DRI2 is preferred by distributions).

Build

Currently, wine must be compiled from special repository or must be patched.

Some patches can be found at http://download.ixit.cz/d3d9/ (not necessarily up-to-date)

Here: https://github.com/sarnex/wine-d3d9-patches is also maintained a patch to apply to the last version of wine

You should build mesa as usual, only add

./configure --enable-nine

For the wine build, you'll need to have Mesa with Nine already. Then, simply pass

./configure --with-d3dadapter

Note: If you are cross-compiling, you will need to set PKG_CONFIG_PATH to point to the correct-architecture d3d.pc

You do not need to specify if you are going to use the DRI3 backend or the DRI2 fallback. At runtime it'll detect the one available (with a preference for DRI3).

Prepared packages

LiveCD:

maintainer: pontostroy

Ubuntu/Kubuntu/Mint:

maintainers: oibaf (Mesa-3D), sarnex (wine)

Arch Linux:

openSUSE:

maintainer: pontostroy

Gentoo:

  • xorg-server and other deps are in ::x11 overlay
  • Mesa-3D with +d3d9
  • Wine with +d3d9

maintainer: okias (Mesa-3D), NP-Hardass/Sarnex (wine)

Is your favorite distribution missing? Prepare packages and let us know on IRC! We'll add it to the list!