# 'Wine-to-rule-them-all' - Wine-TkG advanced config file ## ## This config file contains advanced settings for your build. ## For the basic configuration, see ../customization.cfg ## #### NON-MAKEPKG OPTIONS (Won't affect makepkg builds) #### # Set to true to disable versioning in the installation path of your builds. To change the base name of your build dir, see _PKGNAME_OVERRIDE option. _nomakepkg_nover="false" #### MAKEPKG-ONLY OPTIONS (Will ONLY affect makepkg builds) #### # Set to "true" to add rt prio capability to wineserver _allow_server_rt_prio="false" # Set to "true" to add net raw capability to wineserver & wine preloaders # Notably fixes empty pings on BF4 that may lead to kicks on some servers _allow_wine_net_raw="true" #### COMPILER/BUILD OPTIONS #### # External config file to use - If the given file exists in path, it will override default config (customization.cfg) - Default is ~/.config/frogminer/wine-tkg.cfg _EXT_CONFIG_PATH=~/.config/frogminer/wine-tkg.cfg # Set to a string of your choice to override the default dynamic pkgname. Example: "awkward_frog" will result in "wine-tkg-git-awkward_frog" pkgname. You can also use "none" to only get a plain "wine-tkg-git" pkgname. # On non-makepkg builds, it'll change the base name of the build's dir in a similar fashion. _PKGNAME_OVERRIDE="" # Custom compiler root dirs - Leave empty to use system compilers # Example: CUSTOM_MINGW_PATH="/home/frog/PKGBUILDS/mostlyportable-gcc/mingw-mostlyportable-9.2.0" # Example: CUSTOM_GCC_PATH="/home/frog/PKGBUILDS/mostlyportable-gcc/gcc-mostlyportable-9.2.0" CUSTOM_MINGW_PATH="" CUSTOM_GCC_PATH="" # Set to true to use custom flags defined by _GCC_FLAGS and _LD_FLAGS. All CPU threads will also be used for building independently of your settings. # Setting this to false will use your system-wide makepkg flags set in /etc/makepkg.conf (not recommended). _LOCAL_OPTIMIZED="true" # Custom GCC flags to use instead of system-wide makepkg flags set in /etc/makepkg.conf. Default is "-pipe -O2 -ftree-vectorize". Don't use -march=native if you want to share your builds accross different machines! _GCC_FLAGS="-O2 -ftree-vectorize -Wno-error=implicit-function-declaration -Wno-error=incompatible-pointer-types -Wno-error=int-conversion" # Custom LD flags to use instead of system-wide makepkg flags set in /etc/makepkg.conf. Default is "-pipe -O2 -ftree-vectorize". _LD_FLAGS="-Wl,-O1,--sort-common,--as-needed" # Same as _GCC_FLAGS but for cross-compiled binaries. _CROSS_FLAGS="-O2 -ftree-vectorize -Wno-error=implicit-function-declaration -Wno-error=incompatible-pointer-types -Wno-error=int-conversion" # Same as _LD_FLAGS but for cross-compiled binaries. _CROSS_LD_FLAGS="-Wl,-O1,--sort-common,--as-needed" # By default, tests are disabled to speed up compilation. If you need them for development purposes, set to "true" _ENABLE_TESTS="false" # Strip libs for smaller footprint (--strip-unneeded) - Not recommended for debugging _pkg_strip="true" # Set to "debug" to enable incremental building for debugging/development. Set to "false" to skip cleanups. Default "true" will enable housecleaning and sanity tasks. _NUKR="true" # Set to "true" to generate patchsets for each parts of the tree patching steps, found in `src/wine source dir` (default src/wine-mirror-git) # 01-reverts - 02-pre-staging - 03-staging - 04-post-staging - 05-hotfixes - 06-userpatches - 07-tags-n-polish _generate_patchsets="false" # Set to "true" to log compiler warnings and errors to a debug.log file _log_errors_to_file="false" # Set to "true" to disable usage of 32-bit unix libs and disable 32-bit apps support. # Set to "wow64" to use Wine 8.0+ experimental WoW64 (32on64) for 32-bit apps. # Default is "false". _NOLIB32="wow64" # Set to true to disable 64-bit wine. Doing so will only build 32-bit wine and no SUPPORT for 64-bit apps. Default is "false". _NOLIB64="false" # Set to true to disable using mingw-gcc to build PE files on 4.9+. Will pass "--without-mingw" to wine's configuration flags. _NOMINGW="false" # Set to true to forcefully disable using ccache (else it'll be used if detected). _NOCCACHE="false" # Set to true if you do not want to compile your build after its source is ready - For source sharing/debugging _NOCOMPILE="false" # Set to true if you want to skip the initial prompt _NOINITIALPROMPT="false" # Set to true to build 64-bit and 32-bit wine in parallel (Experimental) _SINGLE_MAKE="false" # Optionally set additional dependencies for makepkg builds. Multiple elements should be separated by a space. # Only affect makepkg _user_deps="" # Optionally set additional make dependencies for makepkg builds. Multiple elements should be separated by a space. # Only affect makepkg _user_makedeps="" # Set to true to remove trailing patchmsg strings in logs - Useful to review the list of patches used without fluff _nopatchmsg="false" #### EXTERNAL INSTALLATION SETTINGS - !! ONLY AFFECTS MAKEPKG !! #### # "opt" path _DEFAULT_EXTERNAL_PATH="/opt" # Set to true to disable versioning in path for external install. For example, this would strip "opt/wine-tkg-opt-git-4.0.r11.gd2a48f1a" to "opt/wine-tkg-opt-git". _EXTERNAL_NOVER="false" #### WINE FLAVOUR SETTINGS #### # Set to the path of a custom wine source repo if desired. Leave empty to use official wine source. # Use the _plain_version option (../customization.cfg) to target a specific commit for this source # ! Make sure to disable staging if your source isn't compatible with it or it will fail to apply ! _custom_wine_source="" # To build a local source instead of cloning from wine repos, copy the root dir of your build to wine-tkg-git/wine-tkg-git/src/ and set the variable below to the name of that dir # Example: For a "wine-froggy" dir containing my wine source, I copy it to wine-tkg-git/wine-tkg-git/src/wine-froggy and set _localbuild="wine-froggy" # Leave empty to use wine repos (default) _localbuild="" # use mirror servers (github) for plain wine and staging sources. It is usually much faster than main servers but there might be a little delay before it gets synchronized. _github_mirrorsrc="true" # Sets custom configure-args for 64-bit, separated by a space (example: "--without-mingw --with-vkd3d") _configure_userargs64="--with-x --with-gstreamer --with-xattr" # Sets custom configure-args for 32-bit, separated by a space (example: "--without-mingw --with-vkd3d") _configure_userargs32="--with-x --with-gstreamer --with-xattr" # esync version - https://github.com/zfigura/wine/releases - If you want to use a specific esync version. For 3.20 or higher, use "ce79346". For 3.19 to 3.17, use "b4478b7". For 3.16 and lower, use "5898a69". # Leave empty for auto-selection depending on detected Wine version (recommended). _esync_version="" # Add a configurable spin count to fsync - might help performance but can introduce stability issues/hanging. Try setting WINEFSYNC_SPINCOUNT=100 envvar _fsync_spincounts="true" # staging # You can optionally uncomment the _staging_userargs="" option below to disable desired wine-staging patchsets. # For example, to disable the 'wined3d-Indexed_Vertex_Blending' patchset, the line below would look like this : _staging_userargs="-W wined3d-Indexed_Vertex_Blending" # You can also disable multiple patchsets ('wined3d-WINED3D_RS_COLORWRITEENABLE' and 'wined3d-Indexed_Vertex_Blending' in the following example : _staging_userargs="-W wined3d-WINED3D_RS_COLORWRITEENABLE -W wined3d-Indexed_Vertex_Blending" _staging_userargs="-W ntdll-NtAlertThreadByThreadId" # legacy gallium nine - This is only available for 4.1-devel (prior to e24b162) and older wine versions _use_legacy_gallium_nine="false" # Child window support for vk - Fixes World of Final Fantasy, CEMU vulkan renderer and others - https://bugs.winehq.org/show_bug.cgi?id=45277 # Available upstream as of 21a0c158b94bfc65d4baa95095307a1db396db0c _childwindow_fix="true" #### GAME-SPECIFIC PATCHES #### # The Sims 3 fix for Nvidia on older than 415.xx drivers - https://bugs.winehq.org/show_bug.cgi?id=45361 _sims3_fix="false" # Disable staging PA patchset - Some people have had issues with the winepulse staging patchset, usually caused by pulseaudio misconfiguration (also called default configuration) _staging_pulse_disable="false" #### OTHER PATCHES #### # CSMT toggle patch - Corrects the CSMT toggle to be more logical - https://github.com/wine-staging/wine-staging/pull/60/commits/ad474559590a659b3df72ec9965de20c7f51c3a8 _CSMT_toggle="true" # GLSL toggle patch - Requires staging, ignored if legacy Gallium Nine is used. Gives the ability to use ARB shaders in winecfg, noticable stutter reduction with games using wined3d on Nvidia. # Enabling this option will interfere with Gallium HUD _GLSL_toggle="true" # Disable mime-types registering _MIME_NOPE="true" # Disable file-open-associations registering _FOAS_NOPE="true" # low latency alsa patch - Requires staging. Using this patch for something else than Osu! isn't recommended and can lead to crashing - https://blog.thepoon.fr/osuLinuxAudioLatency/ _lowlatency_audio="false" # Enable STAGING_SHARED_MEMORY by default - Depends on staging - EA Origin Client seems to dislike that option - You can set this to false and enable the feature from env var instead (STAGING_SHARED_MEMORY=1) - https://wiki.winehq.org/Wine-Staging_Environment_Variables#Shared_Memory _stg_shared_mem_default="false" # Nvidia hate - Prevents building of nvapi/nvapi64, nvcuda, nvcuvid and nvencodeapi/nvencodeapi64 libs. Staging only _nvidia_hate="false" # Optionally uncomment the line below to use Clang instead of GCC and MinGW-GCC - ! not recommended & not supported ! - It *can* be used to build older wine trees with varying results #_NOMINGW="true" _NOCCACHE="true" && export CC="clang" && export CXX="clang++" && export CROSSCC="clang" #### PROTON PATCHES #### # Proton SDL Joystick support, FFB steering wheel fixes and improvements, HIDRAW access for devices that support it. # Can break gamepad support in some games. _sdl_joy_support="false" # IMAGE_FILE_LARGE_ADDRESS_AWARE override - Will be force-disabled on lower than 3.19 - Useful for 32-bit games hitting address space limitations - Disable with WINE_LARGE_ADDRESS_AWARE=0 # Doesn't work properly together with WoW64 experimental mode _large_address_aware="true" # Proton Bcrypt patches - Fixes RDR2 online, notably - Replaces Staging's bcrypt-ECDHSecretAgreement _proton_bcrypt="true" #### USER PATCHES - See README in ./wine-tkg-userpatches dir for instructions #### # Userpatches variable below must be set to true to enable userpatches support. _user_patches="true" # Apply all user patches without confirmation - !!! NOT RECOMMENDED !!! _user_patches_no_confirm="false" # Set to "false" to prompt about all non-critical hotfix patches at build time, or "ignore" to ignore all non-critical hotfix patches without confirmation # Default ("true") will apply all non-critical hotfix patches without confirmation _hotfixes_no_confirm="true" # Set to false to disable staging mfplat restoration in case a hotfix is available and _hotfixes_no_confirm is set to "true" _hotfixansw_staging_mfplat="" # Set to false to disable staging pulseaudio restoration in case a hotfix is available and _hotfixes_no_confirm is set to "true" _hotfixansw_staging_pulse=""