1. Download

Listed below are my own Wine builds for WoW64 (Windows on Windows). Built on Ubuntu 20.04 using Kron4ek's scripts for Ubuntu 18.04 chroots and a slightly modified version for building wine. Wine was built against gcc-9.3.0 / Mingw-w64 8.0.0 Posix.

Wine-TkG Builds 6.0 RC6 and its packages
CPUDownloadDescription
Intel Sandybridge or over wine-6.0-rc6-tkg-staging-Red-Rose-sandybridge.tar.xz Wine Build for Ubuntu/Xubuntu 18.04/20.04 and over
Intel Sandybridge or over Red-Rose_Packages_SandyBridge_2021-01-13.tar.xz Third-Party packages (Dxvk, Faudio, Windows Media Foundation)


Red Rose - my own customized Wine-TkG version to play games on Linux (Ubuntu/Xubuntu)

Red-Rose_Packages_SandyBridge_2021-01-13 provides following packages

  1. FAudio 21.01 without WMA support -- built against gcc-9.3.0 / Mingw-w64 8.0.0-Posix
  2. DXVK v1.7.3-10-gea13a686 with Async support -- built against gcc-9.3.0 / Mingw-w64 8.0.0-Posix
  3. jxrlib (extracted from Proton Repository) -- patched and built against gcc-9.3.0 / Mingw-w64 8.0.0-Posix
  4. Windows Media Foundation from https://github.com/z0z0z/mf-install

As of 2021-01-13, this build was generated using

  • the following repositories
    Github repositories and latest commits
    Repository on GithubLatest commit
    wine-tkg-git 944027e5a85b9313aec253618e1fd6796f3843b1
    community-patches 05ba47148e82ad3d99af7997fec0a05f6da0f364
    wine-tkg-userpatches 80809693029ef60a323ee1b018031eb016336dde
  • This external configuration file wine-tkg-external-6.0-rc6.cfg to build Wine sources using Wine-TkG. Wine sources generated by Wine-TkG can be downloaded here wine-6-0-rc6-tkg-staging-Red-Rose-sources.tar.xz
  • How to install/use it?

    DISCLAIMER: It's up to you to be sure that you have all dependancies to be able to run Wine on your local Linux System

    # 1. Initiate the WINEPREFIX by putting some value
    export WINEPREFIX=/put/some/path/where/you/want/to/install/it # <---------- MODIFY THIS VALUE !!!!!
    
    # Some Wine variables. Change it accordingly 
    export WINE_BUILD_DIR="wine-6.0-rc6-tkg-staging-Red-Rose-sandybridge"
    export LD_LIBRARY_PATH=/opt/${WINE_BUILD_DIR}/lib/:/opt/${WINE_BUILD_DIR}/lib64/:${LD_LIBRARY_PATH}
    export WINEDLLPATH=/opt/${WINE_BUILD_DIR}/lib/wine:/opt/${WINE_BUILD_DIR}/lib64/wine
    export WINEDEBUG=-all # Should avoid verbose messages from Wine
    
    # 2. Download and decompress the tarballs
    cd ${HOME}
    
    # 2.a Download
    wget http://techer.pascal.free.fr/download/wine/builds/wine-6.0-rc6-tkg-staging-Red-Rose-sandybridge.tar.xz
    wget http://techer.pascal.free.fr/download/wine/packages/Red-Rose_Packages_SandyBridge_2021-01-13.tar.xz
    
    # 2.b Decompress
    sudo tar xvJf wine-6.0-rc6-tkg-staging-Red-Rose-sandybridge.tar.xz -C /opt/
    
    tar xvJf Red-Rose_Packages_SandyBridge_2021-01-13.tar.xz -C ${HOME}
    
    # Update your PATH environment
    export PATH=/opt/${WINE_BUILD_DIR}/bin:${PATH}
    
    # 3. Initiate your WINEPREFIX -- THIS IS VERY IMPORTANT ELSE packages will not be able to install if WINEPREFIX is not set--
    winecfg
    
    # 4. Install all packages
    cd ${HOME}/Red-Rose_Packages_SandyBridge_2021-01-13
    # Install DXVlK and vkd3d-d3d12
    ./dxvk-d3d12_install.sh
    # Install Faudio and jxrlib
    ./faudio_and_jxrlib_install.sh
    # Media Foundation 
    ./mf-install
    
    
    That's it!!!

    DISCLAIMER: Content shown below is almost optional but this is what I am usually used when I am testing a new game. My needs for gaming are pretty different than yours BUT I am sharing it just in case!!!

    # 5. OPTIONAL
    # Give some priorities to Wine processes
    sudo setcap cap_sys_nice+ep /opt/${WINE_BUILD_DIR}/bin/wineserver
    
    # XFCE Performances
    ###############################
    # Usually it is set ton ON
    
    #To turn off BEFORE  playing any game on Xubuntu
    
    #xfconf-query --channel=xfwm4 --property=/general/use_compositing --set=false
    
    #To turn on AFTER  playing any game on Xubuntu
    
    #xfconf-query --channel=xfwm4 --property=/general/use_compositing --set=true
    
    
    # FAudio And Sound
    ######################
    # Choose either directsound or winmm
    #export SDL_AUDIODRIVER=directsound
    export SDL_AUDIODRIVER=winmm
    
    
    #export WINEPREFIX=/opt/Games/garbage # The usual path I used when I want to test some games quickly/temporary
    export WINEDEBUG=-all
    
    #Vkd3d
    #######
    export VKD3D_TEST_PLATFORM=windows
    export VKD3D_TEST_BUG=0 
    export VKD3D_DEBUG=none  
    
    # More Wine Variables
    #######################
    export WINEDEBUG=-all
    export WINEDLLPATH=/opt/${WINE_BUILD_DIR}/lib/wine:/opt/${WINE_BUILD_DIR}/lib64/wine
    export WINE_LARGE_ADDRESS_AWARE=1  
    export STAGING_SHARED_MEMORY=1 
    export STAGING_WRITECOPY=1 
    export STAGING_RT_PRIORITY_SERVER=90
    export STAGING_RT_PRIORITY_BASE=90
    export WINEESYNC=1 
    export WINEFSYNC=0 # Choose Fsync if your Linux Kernel is built/patched with Fsync
    export WINEFSYNC_SPINCOUNT=100
    export WINE_LOW_USER_SPACE_LIMIT=1
    
    # Vulkan if your GPU is a AMD card
    ##############################
    # Use this one below if game is 64-bits
    export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json
    # USe this one below if game is 32-bits
    #export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json
    
    # DXVK
    ##########
    export DXVK_CONFIG_FILE="${HOME}/.config/dxvk.cfg"
    export DXVK_LOG_LEVEL=none
    export DXVK_ASYNC=1 #  To enable Async Support
    export DXVK_STATE_CACHE=1
    
    # Just a example for dxvk configuration file if your GPU is a AMD Radeon and your CPU can support more than 4 threads
    cat<< _EOF_ > ${HOME}/.config/dxvk.cfg
    dxgi.numBackBuffers = 5
    dxgi.syncInterval   = 0
    dxgi.tearFree = True
    d3d11.dcSingleUseMode = False
    d3d11.maxFeatureLevel = 11_1
    d3d11.maxTessFactor = 64
    d3d11.relaxedBarriers = False
    d3d11.samplerAnisotropy = 16
    dxvk.useRawSsbo=True
    _EOF_
    
    

2. Expected Targets

  • Linux OS = Ubuntu 18.04/20.04, Xubuntu 20.04 or any recent Linux distribution
  • CPU = Intel greater than Core 2
  • GPU = AMD

3.. Tips to know - no support for ntdll-NtAlertThreadByThreadId for better experience with gaming

  • Provided by removing ntdll-NtAlertThreadByThreadId from staging. That should offer a better experience while playing games and avoiding some freezes.
  • Some flags for compilers
    # For 64-Bit
    export cross_cc="x86_64-w64-mingw32-gcc"
    export cross_cxx="x86_64-w64-mingw32-g++"
    # For 32-Bit
    export cross_cc="i686-w64-mingw32-gcc"
    export cross_cxx="i686-w64-mingw32-g++"
    #----------------------------------
    export CC="ccache gcc-9"
    export CXX="ccache g++-9"
    export CROSSCC="ccache ${cross_cc}";
    export CROSSCXX="ccache ${cross_cxx}";
    
    export CFLAGS=" -march=sandybridge -mtune=sandybridge -mmmx -msse -msse2 -msse3 -mssse3 -msse4.2 -msse4.1 -mavx -maes -mpclmul -mfpmath=sse -O2 -pipe -ftree-vectorize"
    export CXXFLAGS="${CFLAGS}"
    export LDFLAGS="-Wl,-O1,--sort-common,--as-needed"
    export CROSSCFLAGS="${CFLAGS}"
    export CROSSLDFLAGS="-Wl,-O1,--sort-common,--as-needed"