This is an old revision of the document!


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 our git version (for AMD Radeon cards) from here, 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/NP-Hardass/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

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 and Kubuntu:

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

Arch Linux:

  • Mesa is available in [extra] and development versions are available in the AUR under mesa-git
  • wine-staging-d3dadapter is available in the AUR.
  • PlayOnLinux also has up-to-date versions of wine with –d3dadapter.

openSUSE:

maintainer: pontostroy

Gentoo:

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

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