Below are my instructions to build Wine-Staging with Gallium-Nine

  • Create a main folder
    mkdir Wine-Staging-1.9.23_Gallium-Nine and move this new folder
    cd Wine-Staging-1.9.23_Gallium-Nine
     
  • Download all sources
    • Wine 1.9.23 Sources
    • Patches for Wine-Staging 1.9.23
    • Patches for Gallium Nine maintained by/from Sarnex's Repo
    wget https://dl.winehq.org/wine/source/1.9/wine-1.9.23.tar.bz2
    wget https://github.com/wine-compholio/wine-staging/archive/v1.9.23.tar.gz
    wget https://github.com/sarnex/wine-d3d9-patches/archive/wine-d3d9-1.9.23.tar.gz
    

    We will appy patches from ARCH repo wine-gaming-nine. You just have to clone repository for wine-gaming-nine from ARCH

    git clone https://aur.archlinux.org/wine-gaming-nine.git/
  • Decompress sources for Wine 1.9.23 sources and for Gallium Nine patches
    tar xvjf wine-1.9.23.tar.bz2 
    tar xvzf wine-d3d9-1.9.23.tar.gz 
    
  • Move to Wine folder. Decompress patches for Wine-Staging and apply patches
  • cd wine-1.9.23
    tar xvzf ../v1.9.23.tar.gz -C . --strip-component 1
    ./patches/patchinstall.sh DESTDIR="$(pwd)" --all

    Notice: If you need more information then please refer to https://github.com/wine-compholio/wine-staging/wiki/Packaging

  • Apply Gallium-Nine patches
    patch -p1 < ../wine-d3d9-patches-wine-d3d9-1.9.23/staging-helper.patch
    patch -p1 < ../wine-d3d9-patches-wine-d3d9-1.9.23/wine-d3d9.patch 
    
  • Now apply patches from wine-gaming-nine
    patch -p1 < ../wine-gaming-nine/heap_perf.patch
    patch -p1 < ../wine-gaming-nine/increase_max_frag_samplers.patch
    patch -p1 < ../wine-gaming-nine/steam.patch 
    patch -p1 < ../wine-gaming-nine/wbemprox_query_v2.patch 
    patch -p1 -R < ../wine-gaming-nine/keybindings.patch 
    

    Notice: Be informed that keybindings.patch has to be reversed (-R option) -- not to be applied --.

  • Now run autoreconf. That way options for Gallium Nine will be taken into account by configure
    autoreconf
  • On my side here is my own configure command
  • PKG_CONFIG_PATH=/opt/gstreamer/1.6.3/lib/pkgconfig/ ./configure --prefix=/opt/wine/apps/FFXIV_Benchmark/ \
    --with-alsa --with-capi --with-cms --with-coreaudio --with-cups --with-curses --with-dbus --with-fontconfig --with-freetype \
    --with-gettext --with-gettextpo --with-gphoto --with-glu --with-gnutls --with-gsm --with-gstreamer --with-gtk3 \
    --without-hal --with-jpeg --with-ldap --with-mpg123 --with-netapi --with-openal --with-opencl --with-opengl \
    --with-d3d9-nine --with-d3d9-nine-module=auto --with-d3d9-nine-headers-path=auto \
    --with-osmesa --with-oss --with-pcap --with-png --with-pthread --with-pulse --with-sane --with-tiff --with-udev \
    --with-v4l --with-xattr --with-xcomposite --with-xcursor --with-xcb --with-xinerama --with-xinput --with-xinput2 \
    --with-xml --with-xrandr --with-xrender --with-xshape --with-xshm --with-xslt --with-xxf86vm --with-zlib \
    -with-va --with-x

    Notice: gstreamer 1.6.3 is not included in my Linux system. I installed it in /opt/gstreamer/1.6.3/. That's the reason why I had to set up PKG_CONFIG_PATH.