Compare commits

...

2 commits

Author SHA1 Message Date
Nathan
78f2c98daf git subrepo clone https://github.com/Frogging-Family/wine-tkg-git
subrepo:
  subdir:   "wine-tkg-git"
  merged:   "2e230ff5"
upstream:
  origin:   "https://github.com/Frogging-Family/wine-tkg-git"
  branch:   "master"
  commit:   "2e230ff5"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"
2022-03-23 19:43:20 -05:00
Nathan
b731a10db2 update 2022-03-23 19:43:04 -05:00
1165 changed files with 4783963 additions and 2 deletions

View file

@ -63,7 +63,7 @@ fi
pkgbase=linux-xanmod-tt
_major=5.15
pkgver=${_major}.25
pkgver=${_major}.31
_branch=5.x
xanmod=1
pkgrel=${xanmod}
@ -99,7 +99,7 @@ done
sha256sums=('57b2cf6991910e3b67a1b3490022e8a0674b6965c74c12da1e99d138d1991ee8'
'SKIP'
'e517cf792e2517e353606ffae8821ffc806d4958497b6a21589dca71a727b68a'
'f38f964e0dd97caa2aff50341010af88a5975872b10b988989b2c8ee89bbdb2d'
'1ac18cad2578df4a70f9346f7c6fccbb62f042a0ee0594817fdef9f2704904ee')
export KBUILD_BUILD_HOST=${KBUILD_BUILD_HOST:-archlinux}

15
wine-tkg-git/.gitattributes vendored Normal file
View file

@ -0,0 +1,15 @@
# wine-tkg
*.mypatch linguist-language=Diff
*.myrevert linguist-language=Diff
*.myearlypatch linguist-language=Diff
*.myearlyrevert linguist-language=Diff
*.mystagingpatch linguist-language=Diff
*.mystagingrevert linguist-language=Diff
# proton-tkg
*.myprotonpatch linguist-language=Diff
*.myprotonrevert linguist-language=Diff
*.mydxvkpatch linguist-language=Diff
*.mydxvkrevert linguist-language=Diff
*.myvkd3dpatch linguist-language=Diff
*.myvkd3drevert linguist-language=Diff

View file

@ -0,0 +1,28 @@
name: Proton Arch Linux CI
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
container: archlinux:latest
steps:
- uses: actions/checkout@v2
- name: Compile
run: |
echo -e "[multilib]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
pacman -Syu --noconfirm base-devel sudo lib32-jack2
useradd user -G wheel && echo "user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
chown user -R ..
chown user -R /tmp
export CARGO_HOME="$PWD"
cd proton-tkg
su user -c "yes ''|PKGDEST=/tmp/proton-tkg makepkg --noconfirm -s"
- name: Archive the artifacts
uses: actions/upload-artifact@v2
with:
name: proton-tkg-build
path: /tmp/proton-tkg

View file

@ -0,0 +1,30 @@
name: Wine Arch Linux CI
on:
schedule:
- cron: '45 8,20 * * *'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
container: archlinux:latest
steps:
- uses: actions/checkout@v2
- name: Compile
run: |
echo -e "[multilib]\nInclude = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf
pacman -Syu --noconfirm base-devel sudo
useradd user -G wheel && echo "user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
chown user -R . && cd wine-tkg-git
# Workaround for jack&jack2 conflict https://github.com/Frogging-Family/wine-tkg-git/issues/237
sed -i "/'jack2' 'lib32-jack2'/d" PKGBUILD
sed -i "/'gst-plugins-good' 'lib32-gst-plugins-good'/d" PKGBUILD
su user -c "yes|PKGDEST=/tmp/wine-tkg makepkg --noconfirm -s"
- name: Archive the artifacts
uses: actions/upload-artifact@v2
with:
name: wine-tkg-build
path: /tmp/wine-tkg

View file

@ -0,0 +1,26 @@
name: Wine Fedora CI
on:
schedule:
- cron: '25 9,21 * * *'
workflow_dispatch:
push:
jobs:
build:
runs-on: ubuntu-latest
container: fedora:latest
steps:
- uses: actions/checkout@v2
- name: Compilation
run: |
sudo dnf -y -q update
cd wine-tkg-git
sed -i 's/distro=""/distro="fedora"/' customization.cfg
yes|./non-makepkg-build.sh
- name: Archive the artifacts
uses: actions/upload-artifact@v2
with:
name: wine-tkg-build
path: wine-tkg-git/non-makepkg-builds

View file

@ -0,0 +1,25 @@
name: Wine Ubuntu CI
on:
schedule:
- cron: '25 9,21 * * *'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Compilation
run: |
sudo dpkg --add-architecture i386 && sudo apt update
cd wine-tkg-git
sed -i 's/distro=""/distro="debuntu"/' customization.cfg
yes|./non-makepkg-build.sh
- name: Archive the artifacts
uses: actions/upload-artifact@v2
with:
name: wine-tkg-build
path: wine-tkg-git/non-makepkg-builds

42
wine-tkg-git/.gitignore vendored Normal file
View file

@ -0,0 +1,42 @@
!.gitattributes
!.gitignore
*~
*.orig
*.log
*.run
*.tgz
*.xz
*.pkg
*.bak
*.tar.gz
*.tar.zst
*.deb
*.old
*.db
*.files
*/src/
*/pkg/
wine-tkg-git/wine-staging-git/
wine-tkg-git/wine-git/
wine-tkg-git/wine-mirror-git/
wine-tkg-git/ValveSoftware-wine/
wine-tkg-git/ValveSoftware-winegit/
wine-tkg-git/wine-tkg-userpatches/
!wine-tkg-git/wine-tkg-userpatches/README.md
wine-tkg-git/dxvk/
wine-tkg-git/d9vk/
wine-tkg-git/non-makepkg-builds/
wine-tkg-git/proton_dist/
proton-tkg/Proton/
proton-tkg/liberation-fonts/
proton-tkg/vkd3d-fork-build/
proton-tkg/vkd3d-proton/
proton-tkg/proton_template/share/fonts/
proton-tkg/dxvk/
proton-tkg/dxvk-tools/
proton-tkg/d9vk/
proton-tkg/mono/
proton-tkg/gecko/
proton-tkg/proton_tkg_token
proton-tkg/external-resources
proton-tkg/gst/

12
wine-tkg-git/.gitrepo Normal file
View file

@ -0,0 +1,12 @@
; DO NOT EDIT (unless you know what you are doing)
;
; This subdirectory is a git "subrepo", and this file is maintained by the
; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
;
[subrepo]
remote = https://github.com/Frogging-Family/wine-tkg-git
branch = master
commit = 2e230ff5b7c83926c608ceac77f787183c7ad9f2
parent = b731a10db2c383c4f2fe1df1fc123b1852fb1195
method = merge
cmdver = 0.4.3

40
wine-tkg-git/README.md Normal file
View file

@ -0,0 +1,40 @@
# Wine to rule them all !
Nightly builds | [Arch Linux](https://github.com/Frogging-Family/wine-tkg-git/actions/workflows/wine-arch.yml) | [Fedora](https://github.com/Frogging-Family/wine-tkg-git/actions/workflows/wine-fedora.yml) | [Ubuntu](https://github.com/Frogging-Family/wine-tkg-git/actions/workflows/wine-ubuntu.yml) |
-------------|--------|--------|-------|
## PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVESOFTWARE, REPORT HERE INSTEAD !
Wine-tkg is a build-system aiming at easier custom wine builds creation. You can now easily get the "plain wine + pba + steam fix" build you've been dreaming about!
It can also make custom Proton builds with its wrapping script: https://github.com/Frogging-Family/wine-tkg-git/tree/master/proton-tkg
**By default, it'll pull current wine/wine-staging git versions. You can target a specific release or commit in the .cfg if needed.**
A comfortable selection of patches is available to you, with some of them being enabled by default for your convenience (see [this sample config file](https://github.com/Frogging-Family/wine-tkg-git/blob/master/wine-tkg-git/wine-tkg-profiles/sample-external-config.cfg) for the full list and details)
An ever evolving selection of staging, experimental and/or hacky patches are also available [in the community-patches](https://github.com/Frogging-Family/community-patches/tree/master/wine-tkg-git)
**Can be built with your own patches - See [README in wine-tkg-git/wine-tkg-userpatches](https://github.com/Frogging-Family/wine-tkg-git/blob/master/wine-tkg-git/wine-tkg-userpatches/README.md) for instructions**
### Generated Wine-tkg sources (staging-based):
- Wine-tkg : https://github.com/Tk-Glitch/wine-tkg
- Proton-tkg : https://github.com/Tk-Glitch/wine-proton-tkg
Wine : https://github.com/wine-mirror/wine
Wine-staging : https://github.com/wine-staging/wine-staging
Wine esync : https://github.com/zfigura/wine/tree/esync
Wine fsync : https://github.com/zfigura/wine/tree/fsync
Proton : https://github.com/ValveSoftware/Proton
Wine-pba (Only working correctly up to 3.18 - Force disabled on newer wine bases due to regressions) : https://github.com/acomminos/wine-pba
Thanks to @Firerat and @bobwya for their rebase work :
- https://gitlab.com/Firer4t/wine-pba
- https://github.com/bobwya/gentoo-wine-pba
For Gallium 9 support, use https://github.com/iXit/wine-nine-standalone (available from winetricks and AUR) - Legacy nine support can still be turned on if you're building a 4.1 base or older.

View file

@ -0,0 +1,235 @@
# Created by: Tk-Glitch <ti3nou at gmail dot com>
pkgname=proton-tkg-git
pkgver=0
pkgrel=1
_frogwhere="$PWD"
# Arch chroot workaround
if [[ "${_frogwhere}" != "/startdir" ]]; then
export BUILDDIR="${_frogwhere}" # Override makepkg BUILDDIR path and use PKGBUILDs dirs instead
fi
arch=('x86_64')
pkgdesc='Custom Proton build with even more frog spice'
url='https://github.com/Tk-Glitch/PKGBUILDS/tree/master/proton-tkg'
options=('staticlibs')
license=('LGPL')
depends=(
'attr' 'lib32-attr'
'fontconfig' 'lib32-fontconfig'
'lcms2' 'lib32-lcms2'
'libxml2' 'lib32-libxml2'
'libxcursor' 'lib32-libxcursor'
'libxrandr' 'lib32-libxrandr'
'libxdamage' 'lib32-libxdamage'
'libxi' 'lib32-libxi'
'gettext' 'lib32-gettext'
'freetype2' 'lib32-freetype2'
'glu' 'lib32-glu'
'libsm' 'lib32-libsm'
'gcc-libs' 'lib32-gcc-libs'
'libpcap' 'lib32-libpcap'
'faudio' 'lib32-faudio'
'desktop-file-utils' 'tk'
'vulkan-icd-loader' 'lib32-vulkan-icd-loader'
'jxrlib' 'gst-plugins-ugly'
)
makedepends=(
'git' 'autoconf'
'ncurses' 'bison'
'perl' 'fontforge'
'flex' 'python-fonttools'
'gcc>=4.5.0-2' 'pkgconf'
'giflib' 'lib32-giflib'
'libpng' 'lib32-libpng'
'gnutls' 'lib32-gnutls'
'libxinerama' 'lib32-libxinerama'
'libxcomposite' 'lib32-libxcomposite'
'libxmu' 'lib32-libxmu'
'libxxf86vm' 'lib32-libxxf86vm'
'libldap' 'lib32-libldap'
'mpg123' 'lib32-mpg123'
'openal' 'lib32-openal'
'v4l-utils' 'lib32-v4l-utils'
'alsa-lib' 'lib32-alsa-lib'
'libxcomposite' 'lib32-libxcomposite'
'mesa' 'lib32-mesa'
'libgl' 'lib32-libgl'
'libxslt' 'lib32-libxslt'
'libpulse' 'lib32-libpulse'
'libva' 'lib32-libva'
'gtk3' 'lib32-gtk3'
'gst-plugins-base-libs' 'lib32-gst-plugins-base-libs'
'gst-plugins-good' 'lib32-gst-plugins-good'
'vulkan-icd-loader' 'lib32-vulkan-icd-loader'
'sdl2' 'lib32-sdl2'
'libcups' 'lib32-libcups'
'samba' 'schedtool'
'meson' 'ninja'
'glslang' 'wget'
'ocl-icd' 'lib32-ocl-icd'
'opencl-headers' 'mingw-w64-gcc'
'vulkan-headers' 'jack'
'lib32-jack' 'python-pefile'
'rust' 'lib32-rust-libs'
$_user_makedeps
)
optdepends=(
'giflib' 'lib32-giflib'
'libpng' 'lib32-libpng'
'libldap' 'lib32-libldap'
'gnutls' 'lib32-gnutls'
'mpg123' 'lib32-mpg123'
'openal' 'lib32-openal'
'v4l-utils' 'lib32-v4l-utils'
'libpulse' 'lib32-libpulse'
'alsa-plugins' 'lib32-alsa-plugins'
'alsa-lib' 'lib32-alsa-lib'
'libjpeg-turbo' 'lib32-libjpeg-turbo'
'libxcomposite' 'lib32-libxcomposite'
'libxinerama' 'lib32-libxinerama'
'ncurses' 'lib32-ncurses'
'libxslt' 'lib32-libxslt'
'libva' 'lib32-libva'
'gtk3' 'lib32-gtk3'
'gst-plugins-base-libs' 'lib32-gst-plugins-base-libs'
'sdl2' 'lib32-sdl2'
'cups' 'zapcc'
'samba' 'clang'
'dosbox' 'ccache'
)
if msg2; then # Arch chroot workaround for even more looping fun
# Remove gst-editing-services
if pacman -Qq gst-editing-services &> /dev/null; then
warning '! found gst-editing-services package, known to break wine prefix creation !'
read -rp " Uninstall it?"$'\n> N/y : ' _gst_editing_services;
if [[ "$_gst_editing_services" =~ [yY] ]]; then
sudo pacman -R gst-editing-services
fi
fi
fi
exit_cleanup() {
if [ "$pkgver" != "0" ]; then
sed -i "s/pkgver=$pkgver.*/pkgver=0/g" "${_frogwhere}"/PKGBUILD
fi
rm -rf src
remove_deps
msg2 'exit cleanup done'
}
recursive_installer() {
for _f in $1; do
if [ -f "$_f" ]; then
install -v -D "$_f" "$2"/"$_f"
elif [ -d "$_f" ]; then
recursive_installer "$_f/*" "$2"
fi
done
}
pkgver() {
cd "${_frogwhere}/../wine-tkg-git/${_pkgvertargdir}"
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//;s/\.rc/rc/;s/^wine\.//'
}
prepare() {
# Arch chroot workaround
if [[ "${_frogwhere}" = "/startdir" ]]; then
msg2 "Arch chroot detected!"
export _frogwhere=/build/proton-tkg-git
git clone https://github.com/Frogging-Family/wine-tkg-git.git || true
if [ -d wine-tkg-git/wine-tkg-git ]; then
mv wine-tkg-git/wine-tkg-git /build/wine-tkg-git
fi
if [ -d wine-tkg-git/proton-tkg ]; then
mv wine-tkg-git/proton-tkg/* /build/proton-tkg-git/
fi
fi
# overcomplicated BS
_srcdirlock="${_frogwhere}/../wine-tkg-git"
warning "The next step might take some time, please be patient..."
source "${_frogwhere}"/proton-tkg.cfg
source "${_frogwhere}"/proton-tkg-profiles/advanced-customization.cfg
if [ -e "$_EXT_CONFIG_PATH" ]; then
source "$_EXT_CONFIG_PATH"
fi
if [ -n "$_LOCAL_PRESET" ] && [ -e "${_frogwhere}"/../wine-tkg-git/wine-tkg-profiles/wine-tkg-"$_LOCAL_PRESET".cfg ]; then
source "${_frogwhere}"/../wine-tkg-git/wine-tkg-profiles/wine-tkg.cfg && source "${_frogwhere}"/../wine-tkg-git/wine-tkg-profiles/wine-tkg-"$_LOCAL_PRESET".cfg
fi
if [ -n "$_custom_wine_source" ]; then
_winesrcdir=$( sed 's|/|-|g' <<< $(sed 's|.*://.[^/]*/||g' <<< $_custom_wine_source))
else
if [ "$_plain_mirrorsrc" = "true" ]; then
_winesrcdir="wine-mirror-git"
_winesrctarget="https://github.com/wine-mirror/wine.git"
else
_winesrcdir="wine-git"
_winesrctarget="git://source.winehq.org/git/wine.git"
fi
fi
cd "${_srcdirlock}"
_pkgvertargdir="${_winesrcdir}"
# Empty clone failsafe
git clone --mirror "${_winesrctarget}" "$_winesrcdir" || true
if [ "$_use_staging" = "true" ]; then
_stgsrcdir='wine-staging-git'
_pkgvertargdir="${_stgsrcdir}"
# Empty clone failsafe
git clone --mirror https://github.com/wine-staging/wine-staging.git "$_stgsrcdir" || true
fi
cd "${_srcdirlock}/${_pkgvertargdir}"
git fetch --all -p >/dev/null 2>&1
rm -rf "${_srcdirlock}/src/${_pkgvertargdir}" && git clone "${_srcdirlock}/${_pkgvertargdir}" "${_srcdirlock}/src/${_pkgvertargdir}" >/dev/null 2>&1
cd "${_srcdirlock}/src/${_pkgvertargdir}"
git checkout --force --no-track -B makepkg origin/HEAD
if [ -n "$_plain_version" ] && [ "$_use_staging" != "true" ]; then
git checkout "${_plain_version}"
fi
if [ -n "$_staging_version" ] && [ "$_use_staging" = "true" ]; then
git checkout "${_staging_version}"
fi
cd "${_frogwhere}"
if [ ! -d "${_frogwhere}/external-resources" ]; then
mkdir -p "${_frogwhere}/external-resources"
fi
ln -s -f "${_frogwhere}/external-resources" "${srcdir}/"
ln -s -f "${_frogwhere}/proton_template" "${srcdir}/"
ln -s -f "${_frogwhere}/proton-tkg.cfg" "${srcdir}/"
ln -s -f "${_frogwhere}/proton-tkg.sh" "${srcdir}/"
ln -s -f "${_frogwhere}/proton-tkg-userpatches" "${srcdir}/"
ln -s -f "${_frogwhere}/proton-tkg-profiles" "${srcdir}/"
}
build() {
warning "Using this PKGBUILD is not the recommended way to build proton-tkg."
warning "Unless you really want a package, please favor the proton-tkg.sh script route instead."
warning "Also note that SteamVR support is forcefully disabled when using the PKGBUILD,"
warning "independently of its functioning state in proton-tkg."
sleep 2
cd "${srcdir}"
_ispkgbuild="true" ./proton-tkg.sh
}
package() {
provides=("$pkgname=$pkgver")
conflicts=("$pkgname")
cd "${srcdir}"
rm -f proton_tkg_token
recursive_installer proton_tkg_* "${pkgdir}/usr/share/steam/compatibilitytools.d" >>"${_frogwhere}"/proton-tkg.log 2>&1
cd "${pkgdir}"/usr/share/steam/compatibilitytools.d/proton_tkg_*
ln -s -f "/tmp" "__pycache__"
}
trap exit_cleanup EXIT

View file

@ -0,0 +1,124 @@
# Proton-tkg
## PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVESOFTWARE, REPORT HERE INSTEAD !
This is an addon script for [wine-tkg-git](https://github.com/Frogging-Family/wine-tkg-git/tree/master/wine-tkg-git).
It can create Steamplay compatible wine builds based on wine-tkg-git + additional proton patches and libraries. Wine-staging based? Latest master? Yup, you can.
( **Older than 3.16 wine bases are untested, and some commits or commit ranges might prove problematic with certain combinations of patches.** )
### This is not standalone and requires Steam. If you want a standalone wine build, please see [wine-tkg-git](https://github.com/Frogging-Family/wine-tkg-git/tree/master/wine-tkg-git) instead.
# Quick how-to :
(for dependencies, see the [wiki page](https://github.com/Tk-Glitch/PKGBUILDS/wiki/wine-tkg-git) )
## Download the source :
* Clone the repo (allows you to use `git pull` to get updates) :
```
git clone https://github.com/Frogging-Family/wine-tkg-git.git
```
## Configuration/customization :
If you want to customize the patches and features of your builds, you can find basic settings in [proton-tkg.cfg](https://github.com/Frogging-Family/wine-tkg-git/blob/master/proton-tkg/proton-tkg.cfg) and advanced settings in [proton-tkg-profiles/advanced-customization.cfg](https://github.com/Frogging-Family/wine-tkg-git/blob/master/proton-tkg/proton-tkg-profiles/advanced-customization.cfg).
You can also create an external configuration file that will contain all settings in a centralized way and survive repo updates. A sample file for this can be found [here](https://github.com/Frogging-Family/wine-tkg-git/blob/master/proton-tkg/proton-tkg-profiles/sample-external-config.cfg). The default path for this file is `~/.config/frogminer/proton-tkg.cfg` and can be changed in `proton-tkg-profiles/advanced-customization.cfg` with the `_EXT_CONFIG_PATH` option.
## Building :
* We need to get into the proton-tkg dir first:
```
cd proton-tkg
```
### For Arch (and other pacman/makepkg distros) :
**You have two options on pacman based distros. You can either make a pacman package (with a few limitations), or use a more powerful but also less user-friendly way.**
#### Unpackaged, vanilla way :
This is the recommended way and doesn't have the limitations of the makepkg path below.
* From the `proton-tkg` directory (where the PKGBUILD is located), run the following command in a terminal to start the building process :
```
./proton-tkg.sh
```
#### Pacman package way :
Using this option will enforce a "proton-tkg-makepkg" naming scheme in Steam, and prevents having multiple versions installed side-by-side. This option also disables steamvr support currently.
* From the `proton-tkg` directory (where the PKGBUILD is located), run the following command in a terminal to start the building process :
```
makepkg -si
```
### For other distros (make sure to check the [wiki page](https://github.com/Tk-Glitch/PKGBUILDS/wiki/wine-tkg-git)) :
* From the `proton-tkg` directory (where the PKGBUILD is located), running the proton-tkg.sh script will launch the usual wine-tkg-git building process... with extra spice :
```
./proton-tkg.sh
```
### How to uninstall superfluous builds the easy way when not using a pacman package :
```
./proton-tkg.sh clean
```
*In its current form, the uninstaller will only handle Proton-tkg builds, and requires that at least one Proton-tkg build is left after uninstalling (meaning you need two beforehand).*
**The following wine-tkg-git options will be enforced (might change in the future):**
- `_EXTERNAL_INSTALL="true"`
- `_EXTERNAL_INSTALL_TYPE="proton"`
- `_EXTERNAL_NOVER="false"`
- `_use_faudio="true"`
**All other wine-tkg-git settings can be tweaked such as wine version, staging, esync, game fixes (etc.) and the userpatches functionality is kept intact.**
You can find all your usual options in the proton-tkg.cfg file. If you create a proton-tkg.cfg file in ~/.config/frogminer dir, it'll be used as an override.
## The prebuilt DXVK "problem"
By default, proton-tkg will download latest official DXVK release from github. You have nothing to do, it's all good. **However, if you want to build/use a development or modified version of DXVK, it's recommended to use [dxvk-tools](https://github.com/Frogging-Family/dxvk-tools)**
### If you're not using dxvk-tools/can't build DXVK/D9VK :
When `_use_dxvk` is set to `"prebuilt"`, you'll need to put your prebuilt DXVK dlls inside a dxvk folder, in the `external-resources` folder of proton-tkg:
```
proton-tkg
|
|__external-resources
|
|
--dxvk___x64--> d3d11.dll, dxgi.dll etc.
|
|__x32--> d3d11.dll, dxgi.dll etc.
```
## Special options and builtin features :
Proton-tkg builds are coming with special additional features you can enable/disable post install in the `user_settings.py` file found in your build's folder (`~/.steam/root/compatibilitytools.d/proton_tkg_*`), such as:
- `PROTON_NVAPI_DISABLE` - Option disabled by default, it'll set nvapi and nvapi64 dlls to disabled. It is a common fix for many games.
- `PROTON_WINEDBG_DISABLE` - Option disabled by default, it'll set winedbg.exe to disabled. It's a known fix for GTA V online.
- `PROTON_PULSE_LOWLATENCY` - Option disabled by default, it'll set Pulseaudio latency to 60ms. This usually helps with audio crackling issues on some setups.
- `PROTON_DXVK_ASYNC` - Disabled by default, it'll enable DXVK's async pipecompiler on a compatible DXVK build (official/default DXVK build doesn't support it). Known as the "poe hack", that option *could* be unsafe for anticheats, so beware.
- `PROTON_USE_CUSTOMD3D9` - Disabled by default, it'll enable you to use a custom d3d9 lib that's not already available in proton-tkg (namely d9vk and wined3d), like Gallium9 for example.
- `PROTON_WINETRICKS` - Enabled by default, the built-in winetricks integration will show a popup on game launch asking if you want to run winetricks (against your game's prefix). It requires that you have both the `winetricks` and `tk` (`python3-tk` on some distros) packages installed.
You can also change their default values before building in your `proton-tkg.cfg` file.
## Other things to know :
- Proton doesn't like running games from NTFS. Consider symlinking your compatdata dir(s) (usually found in /SteamApps) to some place on an EXT4 partition if you want to play games from a NTFS partition.
- Proton-tkg **can** handle 32-bit prefixes. However you'll have to create such a prefix by hand as the Steam client doesn't offer such an option. Also, that prefix will have to be deleted if you want to use an official Proton build with the game bound to it.
- Proton-tkg builds will get installed in `~/.steam/root/compatibilitytools.d` directory. If no game is bound to use a specific Proton-tkg build, you can safely delete it. **IT IS HIGHLY RECOMMENDED TO USE THE UNINSTALL FUNCTION OF THE SCRIPT TO REMOVE SUPERFLUOUS BUILDS**

View file

@ -0,0 +1,228 @@
# 'Wine-to-rule-them-all' - Proton-TkG advanced config file
##
## This config file contains advanced settings for your build.
## For the basic configuration, see ../proton-tkg.cfg
##
# This is a simplified config file with minimal comments. See ../../wine-tkg-git/wine-tkg-profiles/sample-external-config.cfg for more details.
# Some options will be missing from this config file compared to wine-tkg-git as they are enforced.
# Proton branch to target for lsteamclient libs and steam helper on 4.x+ - When using a Wine 3.x base, "proton_3.16" branch will be enforced
_proton_branch="proton_7.0"
# Proton SDL Joystick support, xinput hacks and other gamepad additions. _gamepad_additions depends on _sdl_joy_support.
# This might be required for some FFB steering wheels, but can break gamepad support in some games.
_sdl_joy_support="false"
# ! _gamepad_additions="true" can sometimes break more than it fixes depending on the game, so feel free to tweak this !
_gamepad_additions="true"
# Proton non-vr-related wined3d additions - Disabled on staging independently of this setting
_wined3d_additions="true"
# Disable nvapi and nvapi64 - Common fix for various games when using a Nvidia GPU
# Might create issues on some native vulkan game calling nvapi for some extremely dumb reason, such as Doom Eternal
_proton_nvapi_disable="true"
# Disable winedbg - (Used to fix GTA V online crash before Proton 5.0-4 02951753)
_proton_winedbg_disable="true"
# Disable conhost - Workaround for potential stalled conhost.exe process affecting performance negatively
# Some games or launchers might need the functionality but I couldn't find one
# Seems to be fixed as of 14b50ee1 & 8a47ef28 (Wine 6.0rc2)
_proton_conhost_disable="false"
# Enforce IMAGE_FILE_LARGE_ADDRESS_AWARE - Fixes 32-bit games hitting address space limitations.
# *Some* games might not like that (only known case so far is System Shock 2).
_proton_force_LAA="true"
# Enforce driver shader cache path when Steam's shader pre-caching is disabled
_proton_shadercache_path=""
# Enable the use of winelib steam.exe to launch games that checks if Steam is running such as Assetto Corsa - Only works with a Wine 4.0+ base
# Will disable "server-Desktop_Refcount" and "ws2_32-TransmitFile" patchsets on staging past 4e7071e4 (4.7+) to prevent crashing issues
_proton_use_steamhelper="true"
# Set to true to disable proton's steamclient lib substitution. Allows running windows steam client in proton (only affects 4.19+)
# ! This will prevent most Steam games to run directly from proton - You only want to use this as a secondary build for non-steam games or running windows steam/games from windows steam !
_steamclient_noswap="false"
# Enable DXVK's async pipecompiler on a compatible DXVK build. Also known as the "poe hack", that option *could* be unsafe regarding anticheats, so beware !
_proton_dxvk_async="false"
# Proton wined3d-interop and friends for SteamVR support - Depends on _proton_fs_hack="true"
_steamvr_support="true"
# Until supported in wine, WMA playback needs external FAudio. Set to "false" to use wine builtin implementation
_prefer_external_faudio="true"
# COMPILER/BUILD OPTIONS
# External config file to use - If the given file exists in path, it will override default config - Default is ~/.config/frogminer/proton-tkg.cfg
_EXT_CONFIG_PATH=~/.config/frogminer/proton-tkg.cfg
# Set to a desired additional tag to differentiate builds
_PROTON_NAME_ADDON=""
# 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=""
_LOCAL_OPTIMIZED="true"
_GCC_FLAGS="-O2 -ftree-vectorize"
_LD_FLAGS="-Wl,-O1,--sort-common,--as-needed"
_CROSS_FLAGS="-O2 -ftree-vectorize"
_CROSS_LD_FLAGS="-Wl,-O1,--sort-common,--as-needed"
_NUKR="true"
_NOCOMPILE="false"
_NOINITIALPROMPT="false"
# Optionally set additional make dependencies for makepkg builds. Multiple elements should be separated by a space.
# Only affect makepkg
_user_makedeps=""
# Strip libs for smaller footprint (--strip-unneeded) - Not recommended for debugging
_pkg_strip="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 remove trailing patchmsg strings in logs - Useful to review the list of patches used without fluff
_nopatchmsg="false"
# WINE FLAVOUR SETTINGS
# Set to the path of a custom wine source repo if desired (i.e. https://github.com/ValveSoftware/wine). Leave empty to use official wine source.
# Use the _plain_version option 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=""
# 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"
_plain_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"
# Set to false to add DXVK configuration support to Wine's DXGI, allowing for VKD3D to run while keeping DXVK dxgi functionalities.
# !! For DXVK to work properly with this option set to false, you'll need a DXVK build that comes with dxvk_config.dll !!
# Keep in mind Wine's dxgi can be more unstable and less compatible when used with DXVK.
_dxvk_dxgi="true"
# Specify DXVK release version, ex: "v1.6.1", default is "latest"
_dxvk_version=""
_dxvk_async="false"
# 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"
# VKD3D
# vkd3dlib - We don't want to use vkd3d native library by default to allow for vkd3d-proton usage
# Set to "true" to enable explicit mainline vkd3d library support - default is "false"
_use_vkd3dlib="false"
# GAME-SPECIFIC PATCHES
_warframelauncher_fix="true"
_staging_pulse_disable="false"
# OTHER PATCHES
_CSMT_toggle="true"
_GLSL_toggle="false"
_MIME_NOPE="true"
_lowlatency_audio="false"
_launch_with_dedicated_gpu="false"
_clock_monotonic="true"
_large_address_aware="true"
_stg_shared_mem_default="false"
_proton_rawinput="true"
# Proton Bcrypt patches - Fixes RDR2 online, notably - Replaces Staging's bcrypt-ECDHSecretAgreement
_proton_bcrypt="true"
# Enforce mscvrt Dlls to native then builtin - from Proton - Can be detrimental on 4.3+
_msvcrt_nativebuiltin="true"
# Set the default wine version to win10 (instead of win7)
_win10_default="true"
#### LEGACY PATCHES - These are for older than current master - Some are enabled by default on such trees as they are considered harmless
# Sets the value of an additional fake refresh rate in virtual desktop mode. Leave empty to keep default - Deprecated as of 6f305dd8 (5.14-devel) unless FS hack is also enabled
_fake_refresh_rate=""
# legacy gallium nine - This is only available for 4.1-devel (prior to e24b162) and older wine versions - Use nine standalone instead for newer wine
_use_legacy_gallium_nine="false"
# pba - Enable with PBA_ENABLE=1 envvar, force-disabled on 3.19 & higher due to known broken state
_use_pba="true"
# The Sims 2 fix - On staging, disables wined3d-WINED3D_RS_COLORWRITEENABLE and wined3d-Indexed_Vertex_Blending patchsets - https://bugs.winehq.org/show_bug.cgi?id=8051 - Obsoleted by D9VK
_sims2_fix="false"
# Disable server-send_hardware_message staging patchset if found - Fixes FFXIV/Warframe/Crysis 3 (etc.) mouse jittering on 3.19 staging and lower. Will cause GTA V to freeze for a second or two on first keyboard input
_server_send_hwmsg_disable="true"
# Path of exile - Fixes DX11 mode not working - Doesn't seem to be needed anymore since Wine 4.1, supposedly since a game patch - https://bugs.winehq.org/show_bug.cgi?id=42695
_poe_fix="false"
# Overwatch mf crash fix from Guy1524 - https://bugs.winehq.org/show_bug.cgi?id=47385 - This will only apply against a wine tree missing b182ba882cfcce7b8769470f49f0fba216095c45, and ignored otherwise
_OW_fix="true"
# Python fix for <=3.18 (backported from zzhiyi's patches) - fix for python and needed for "The Sims 4" to work - replaces staging partial implementation - https://bugs.winehq.org/show_bug.cgi?id=44999 - This will only apply against a wine tree missing 3ebd2f0be30611e6cf00468c2980c5092f91b5b5, and ignored otherwise
_318python_fix="true"
# Workaround for F4SE/SkyrimSE Script Extender - This is a hack and could break stuff - https://github.com/hdmap/wine-hackery/tree/master/f4se - It was fixed upstream with 1aa963ef - 6672fc9d (4.13-devel)
_f4skyrimse_fix="false"
# steam crossover hack for store/web functionality - https://bugs.winehq.org/show_bug.cgi?id=39403
_steam_fix="true"
# Fix crashes or perf issues related to high core count setups - Fixed in 4.0 - https://bugs.winehq.org/show_bug.cgi?id=45453
_highcorecount_fix="true"
# Reverts c6b6935 due to https://bugs.winehq.org/show_bug.cgi?id=47752 - Fixed upstream with cb70373
_c6b6935_revert="true"
# Native dotnet workaround for 4.13+ - https://bugs.winehq.org/show_bug.cgi?id=47633
_nativedotnet_fix="true"
# USVFS (Mod Organizer 2's virtual filesystem) support patch - https://github.com/Tk-Glitch/PKGBUILDS/issues/300 - https://bugs.winehq.org/show_bug.cgi?id=47833
_usvfs_fix="false"
# Faudio - Use the currently installed Faudio packages (both 32 and 64-bit) for xaudio2 - Fixes sound issues in various games. Disables xaudio2 & winepulse staging patchsets
# Support is enabled by default in Wine 4.3+ as well as Wine-staging 4.13+, independently of this setting
_use_faudio="true"
# Revert moving various funcs to kernelbase & ntdll to fix some dll loading issues and ntdll crashes (with Cemu and Blizzard games notably)
# Deprecated as of b7db0b5 - Force-enabled on proton-tkg when using older than b7db0b5 tree
_kernelbase_reverts="false"
# Update winevulkan to whatever version I have pushed last, til next time, for new shiny and tasty vk extensions support. Thanks dadドイツ人 !
_update_winevulkan="false"
_proton_mf_hacks="false"
_plasma_systray_fix="false"
# Allow making use of the futex2 kernel interface for fsync - Requires a patched kernel such as linux-tkg - https://gitlab.collabora.com/tonyk/wine/-/commits/experimental_5.13
_fsync_futex2="true"

View file

@ -0,0 +1,339 @@
# 'Wine-to-rule-them-all' - Proton-TkG config file - external config example
##
## This config file is an example of external config (typical path: ~/.config/frogminer/proton-tkg.cfg)
## It contains most available options in a centralized way - The few missing options are part of wine-tkg-git and mostly not interesting for proton-tkg
##
# This is a simplified config file with minimal comments. See ../../wine-tkg-git/wine-tkg-profiles/sample-external-config.cfg for more details.
# Some options will be missing from this config file compared to wine-tkg-git as they are enforced.
#### NON-MAKEPKG OPTIONS (Won't affect makepkg builds) ####
# Set to true to get a prompt after the 64-bit part is built, enabling package switching before building the 32-bit side.
# This is a workaround for distros shipping broken devel packages that can't coexist as multilib
_nomakepkg_midbuild_prompt="false"
# Set to the distro of your choice to attempt dependency resolution. Valid options are "debuntu" (for debian, ubuntu and similar), "fedora" or "archlinux".
_nomakepkg_dep_resolution_distro=""
# Set to true if you want to skip the uninstaller at the end of proton-tkg building
_skip_uninstaller="false"
# Set to true if you do not want your build to be automatically moved to your compatibilitytools.d dir
_no_autoinstall="false"
####
# PROTON-TKG OPTIONS
# Proton branch to target for lsteamclient libs and steam helper on 4.x+ - When using a Wine 3.x base, "proton_3.16" branch will be enforced
_proton_branch="proton_7.0"
# Proton SDL Joystick support, xinput hacks and other gamepad additions. _gamepad_additions depends on _sdl_joy_support.
# This might be required for some FFB steering wheels, but can break gamepad support in some games.
_sdl_joy_support="false"
# ! _gamepad_additions="true" can sometimes break more than it fixes depending on the game, so feel free to tweak this !
_gamepad_additions="true"
# SteamDeck support additions
_tabtip="true"
# Proton non-vr-related wined3d additions - Disabled on staging independently of this setting
_wined3d_additions="true"
# Proton wined3d-interop and friends for SteamVR support - Depends on _proton_fs_hack="true"
_steamvr_support="true"
# Disable nvapi and nvapi64 - Common fix for various games when using a Nvidia GPU
# Might create issues on some native vulkan game calling nvapi for some extremely dumb reason, such as Doom Eternal
_proton_nvapi_disable="false"
# Disable winedbg - (Used to fix GTA V online crash before Proton 5.0-4 02951753)
_proton_winedbg_disable="false"
# Disable conhost - Workaround for potential stalled conhost.exe process affecting performance negatively
# Some games or launchers might need the functionality but I couldn't find one
# Seems to be fixed as of 14b50ee1 & 8a47ef28 (Wine 6.0rc2)
_proton_conhost_disable="false"
# Enforce IMAGE_FILE_LARGE_ADDRESS_AWARE - Fixes 32-bit games hitting address space limitations.
# *Some* games might not like that (only known case so far is System Shock 2).
_proton_force_LAA="true"
# Set Pulseaudio latency to 60ms - Can help with sound crackling issues on some configs
_proton_pulse_lowlat="false"
# Until supported in wine, WMA playback needs external FAudio. Set to "false" to use wine builtin implementation
_prefer_external_faudio="true"
# Enforce driver shader cache path when Steam's shader pre-caching is disabled
_proton_shadercache_path=""
# Enable the use of winelib steam.exe to launch games that checks if Steam is running such as Assetto Corsa - Only works with a Wine 4.0+ base
# Will disable "server-Desktop_Refcount" and "ws2_32-TransmitFile" patchsets on staging past 4e7071e4 (4.7+)
_proton_use_steamhelper="true"
# Set to true to disable proton's steamclient lib substitution. Allows running windows steam client in proton (only affects 4.19+)
# ! This will prevent most Steam games to run directly from proton - You only want to use this as a secondary build for non-steam games or running windows steam/games from windows steam !
_steamclient_noswap="false"
# Enable Winetricks prompt on game launch - Will use your system winetricks, so you need it installed
_proton_winetricks="false"
# Enable DXVK's async pipecompiler on a compatible DXVK build. Also known as the "poe hack", that option *could* be unsafe regarding anticheats, so beware !
_proton_dxvk_async="false"
# DXVK options
# hud : https://github.com/doitsujin/dxvk#hud
# configfile : https://github.com/doitsujin/dxvk/wiki/Configuration#configuration-file
_proton_dxvk_hud=""
_proton_dxvk_configfile=""
# COMPILER/BUILD OPTIONS
# 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=""
_LOCAL_OPTIMIZED="true"
_GCC_FLAGS="-O2 -ftree-vectorize"
_LD_FLAGS="-Wl,-O1,--sort-common,--as-needed"
_CROSS_FLAGS="-O2 -ftree-vectorize"
_CROSS_LD_FLAGS="-Wl,-O1,--sort-common,--as-needed"
_NUKR="true"
_NOCOMPILE="false"
_NOINITIALPROMPT="false"
# Optionally set additional make dependencies for makepkg builds. Multiple elements should be separated by a space.
# Only affect makepkg
_user_makedeps=""
# Strip libs for smaller footprint (--strip-unneeded) - Not recommended for debugging
_pkg_strip="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 remove trailing patchmsg strings in logs - Useful to review the list of patches used without fluff
_nopatchmsg="false"
# Set to a desired additional tag to differentiate builds
_PROTON_NAME_ADDON=""
# WINE FLAVOUR SETTINGS
# Override config with one of the presets from /wine-tkg-profiles dir. Leave empty to use wine upstream trees.
# Custom presets for proton : "valve" (builds against current valve proton tree), "valve-exp" (builds against current valve proton-experimental tree)
_LOCAL_PRESET=""
# Set to the path of a custom wine source repo if desired (i.e. https://github.com/ValveSoftware/wine). Leave empty to use official wine source.
# Use the _plain_version option 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=""
# fastsync - disable at runtime with WINE_DISABLE_FAST_SYNC=1 envvar - Set to true to enable winesync/fastsync support - https://repo.or.cz/wine/zf.git/shortlog/refs/heads/fastsync3
# !! on plain: Disables esync / fsync support !!
# !! on staging: Requires fsync support !!
_use_fastsync="false"
_use_esync="true"
_use_fsync="true"
# Allow making use of the futex2 kernel interface for fsync - Requires a patched kernel such as linux-tkg - https://gitlab.collabora.com/tonyk/wine/-/commits/experimental_5.13
_fsync_futex2="true"
# futex_waitv() API for fsync - Requires 5.16 kernel or kernel with backported patches - https://github.com/ValveSoftware/wine/pull/128
# !! Replaces previous fsync interfaces support !!
_fsync_futex_waitv="true"
# 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"
_plain_version=""
_plain_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"
_use_staging="true"
_staging_version=""
# You can set _use_dxvk to either "prebuilt" (for builds made with dxvk-tools for example), "release" (using github's latest) or "false" (disabled)
# Setting it to "true" will default to "release"
_use_dxvk="git"
# Set to false to add DXVK configuration support to Wine's DXGI, allowing for VKD3D to run while keeping DXVK dxgi functionalities.
# !! For DXVK to work properly with this option set to false, you'll need a DXVK build that comes with dxvk_config.dll !!
# Keep in mind Wine's dxgi can be more unstable and less compatible when used with DXVK.
_dxvk_dxgi="true"
# Specify DXVK release version, ex: "v1.6.1", default is "latest"
_dxvk_version=""
_dxvk_async="false"
# 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"
# vkd3dlib - We don't want to use vkd3d native library by default to allow for vkd3d-proton usage
# Set to "true" to enable explicit mainline vkd3d library support - default is "false"
_use_vkd3dlib="false"
# GAME-SPECIFIC PATCHES
# Enable support for Proton's Battleye runtime - Needs the package to be installed in Steam
_proton_battleye_support="true"
# Enable support for Proton's EAC bridge - Needs the package to be installed in Steam
_proton_eac_support="true"
_warframelauncher_fix="true"
_ffxivlauncher_fix="false"
_sims3_fix="false"
_mtga_fix="false"
_mwo_fix="false"
_childwindow_fix="true"
_lol920_fix="false"
_assettocorsa_hudperf_fix="true"
_staging_pulse_disable="false"
# Fixes for Mortal Kombat 11 - Requires staging, _proton_fs_hack="true", native mfplat (win7) or staging mfplat support and a different GPU driver than RADV
# On Wine 5.2 (up to b1c748c8) and lower, it needs to be toogled on with the WINE_LOW_USER_SPACE_LIMIT=1 envvar
_mk11_fix="true"
# ! _re4_fix="true" requires _wined3d_additions="false" or it will get ignored !
_re4_fix="false"
# Background music on King of Fighters 98 and 2002 is silent on Wine-staging and the `xactengine-initial` patchset was found to introduce the issue. Set to "true" to disable it as a workaround.
_kof98_2002_BGM_fix="false"
# Fix for Quake Champions by Paul Gofman for Proton - Depends on _protonify="true" and _use_staging="true"
# This patchset breaks Genshin Impact
_quake_champions_fix="true"
# OTHER PATCHES
# Set to "false" to disable building proton media converter - This is helpful for some games using unsupported video formats such as Resident Evil 8
# We're only supporting 64-bit version of the lib in -tkg at this point - https://github.com/ValveSoftware/Proton/tree/proton_6.3/media-converter
_build_mediaconv="true"
# Set to "true" to enable building (64-bit) patched gstreamer & plugins - This is helpful to support video formats no covered by your distro packages
# Will build orc, gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav
# Depends on _build_mediaconv="true"
_build_gstreamer="false"
_CSMT_toggle="true"
_GLSL_toggle="false"
_MIME_NOPE="true"
_lowlatency_audio="false"
_launch_with_dedicated_gpu="false"
_clock_monotonic="true"
_FS_bypass_compositor="true"
_proton_fs_hack="true"
_large_address_aware="true"
_stg_shared_mem_default="false"
_proton_mf_hacks="false"
_proton_rawinput="true"
# Joshua Ashton's take on making wine dialogs and menus less win95-ish - https://github.com/Joshua-Ashton/wine/tree/wine-better-theme
_use_josh_flat_theme="true"
# Enforce mscvrt Dlls to native then builtin - from Proton - Can be detrimental on 4.3+
_msvcrt_nativebuiltin="true"
# Set the default wine version to win10 (instead of win7)
_win10_default="true"
# Other misc proton patches and hacks - Notably contains fixes for some native vk games (such as Doom Eternal) as well as Rockstar launcher
# Also enables some winevulkan performance optimizations - https://github.com/Joshua-Ashton/proton-wine/tree/winevulkan-opt (fs hack) - https://github.com/Joshua-Ashton/wine/commits/winevulkan-opt-mainline (no fs hack)
_protonify="true"
#### LEGACY PATCHES - These are for older than current master - Some are enabled by default on such trees as they are considered harmless
# Sets the value of an additional fake refresh rate in virtual desktop mode. Leave empty to keep default - Deprecated as of 6f305dd8 (5.14-devel) unless FS hack is also enabled
_fake_refresh_rate=""
# legacy gallium nine - This is only available for 4.1-devel (prior to e24b162) and older wine versions - Use nine standalone instead for newer wine
_use_legacy_gallium_nine="false"
# pba - Enable with PBA_ENABLE=1 envvar, force-disabled on 3.19 & higher due to known broken state
_use_pba="true"
# The Sims 2 fix - On staging, disables wined3d-WINED3D_RS_COLORWRITEENABLE and wined3d-Indexed_Vertex_Blending patchsets - https://bugs.winehq.org/show_bug.cgi?id=8051 - Obsoleted by D9VK
_sims2_fix="false"
# Disable server-send_hardware_message staging patchset if found - Fixes FFXIV/Warframe/Crysis 3 (etc.) mouse jittering on 3.19 staging and lower. Will cause GTA V to freeze for a second or two on first keyboard input
_server_send_hwmsg_disable="true"
# Path of exile - Fixes DX11 mode not working - Doesn't seem to be needed anymore since Wine 4.1, supposedly since a game patch - https://bugs.winehq.org/show_bug.cgi?id=42695
_poe_fix="false"
# Overwatch mf crash fix from Guy1524 - https://bugs.winehq.org/show_bug.cgi?id=47385 - This will only apply against a wine tree missing b182ba882cfcce7b8769470f49f0fba216095c45, and ignored otherwise
_OW_fix="true"
# Python fix for <=3.18 (backported from zzhiyi's patches) - fix for python and needed for "The Sims 4" to work - replaces staging partial implementation - https://bugs.winehq.org/show_bug.cgi?id=44999 - This will only apply against a wine tree missing 3ebd2f0be30611e6cf00468c2980c5092f91b5b5, and ignored otherwise
_318python_fix="true"
# Workaround for F4SE/SkyrimSE Script Extender - This is a hack and could break stuff - https://github.com/hdmap/wine-hackery/tree/master/f4se - It was fixed upstream with 1aa963ef - 6672fc9d (4.13-devel)
_f4skyrimse_fix="false"
# steam crossover hack for store/web functionality - https://bugs.winehq.org/show_bug.cgi?id=39403
_steam_fix="true"
# Fix crashes or perf issues related to high core count setups - Fixed in 4.0 - https://bugs.winehq.org/show_bug.cgi?id=45453
_highcorecount_fix="true"
# Reverts c6b6935 due to https://bugs.winehq.org/show_bug.cgi?id=47752 - Fixed upstream with cb70373
_c6b6935_revert="true"
# Native dotnet workaround for 4.13+ - https://bugs.winehq.org/show_bug.cgi?id=47633
_nativedotnet_fix="true"
# USVFS (Mod Organizer 2's virtual filesystem) support patch - https://github.com/Tk-Glitch/PKGBUILDS/issues/300 - https://bugs.winehq.org/show_bug.cgi?id=47833
_usvfs_fix="false"
# Faudio - Use the currently installed Faudio packages (both 32 and 64-bit) for xaudio2 - Fixes sound issues in various games. Disables xaudio2 & winepulse staging patchsets
# Support is enabled by default in Wine 4.3+ as well as Wine-staging 4.13+, independently of this setting
_use_faudio="true"
# Revert moving various funcs to kernelbase & ntdll to fix some dll loading issues and ntdll crashes (with Cemu and Blizzard games notably)
# Deprecated as of b7db0b5 - Force-enabled on proton-tkg when using older than b7db0b5 tree
_kernelbase_reverts="false"
# Update winevulkan to whatever version I have pushed last, til next time, for new shiny and tasty vk extensions support. Thanks dadドイツ人 !
_update_winevulkan="false"
_plasma_systray_fix="false"
# Allow making use of the futex2 kernel interface for fsync - Requires a patched kernel such as linux-tkg - https://gitlab.collabora.com/tonyk/wine/-/commits/experimental_5.13
_fsync_futex2="true"
# USER PATCHES
# community patches - add patches (separated by a space) of your choice by name from the community-patches dir - https://github.com/Frogging-Family/community-patches - proton-tkg, just like wine-tkg-git, uses the wine-tkg-git patches subdir
# example: _community_patches="amdags.mypatch GNUTLShack.mypatch"
_community_patches="amdags-proton.mypatch atiadlxx-proton.mypatch FinalFantasyXVHack.mypatch ntdll_Map_top-down_if_dll_characteristics_include_DYNAMIC_BASE.mypatch Shell32-CreateDirectoryInDestinationInFileOp-Move-multiop.mypatch winex11_limit_resources-nmode.mypatch unhide-prefix-update-window.mypatch"
_user_patches="true"
_user_patches_no_confirm="false"
# Set to "true" to apply all hotfix patches without confirmation, to "ignore" to ignore all hotfix patches without confirmation
# Default ("false") will prompt at build time
_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=""

View file

@ -0,0 +1,30 @@
# Proton-tkg userpatches
You can make use of your own patches to the Proton, dxvk and vkd3d-proton trees by putting them in this folder before running proton-tkg.sh or makepkg.
You can also symlink them from an external place by running the following command from proton-tkg's root dir:
```ln -s /absolute/path/to/your/userpatches/dir/* proton-tkg-userpatches/```
*For example :* `ln -s /home/tkg/.config/frogminer/proton-tkg-userpatches/* proton-tkg-userpatches/`
They need to be diffs against the targeted tree.
You need to give your patch the appropriate extension :
**!! Patches with unrecognized extension will get ignored !!**
### Proton tree
** Those patches need to target the Proton tree directly and not wine. For wine patches handling, see https://github.com/Frogging-Family/wine-tkg-git/tree/master/wine-tkg-git/wine-tkg-userpatches**
- You can use your own proton patches by giving them the .myprotonpatch extension.
- You can also revert proton patches by giving them the .myprotonrevert extension.
### DXVK tree
- You can use your own dxvk patches by giving them the .mydxvkpatch extension.
- You can also revert dxvk patches by giving them the .mydxvkrevert extension.
### vkd3d-proton tree
- You can use your own vkd3d-proton patches by giving them the .myvkd3dpatch extension.
- You can also revert vkd3d-proton patches by giving them the .myvkd3drevert extension.

View file

@ -0,0 +1,36 @@
From 07b43c727c9a2f273dccb9af8061e646c79ea0a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
Date: Tue, 13 Apr 2021 01:07:15 +0100
Subject: [PATCH] avdemux: fix build with FFmpeg 4.4
Direct access to avstream->index_entries was removed
in favour of the newly added avformat_index_get_entry()
and friends.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/85
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/127>
---
ext/libav/gstavdemux.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ext/libav/gstavdemux.c b/ext/libav/gstavdemux.c
index 21b46aa..80a0920 100644
--- a/ext/libav/gstavdemux.c
+++ b/ext/libav/gstavdemux.c
@@ -483,7 +483,11 @@ gst_ffmpegdemux_do_seek (GstFFMpegDemux * demux, GstSegment * segment)
GST_LOG_OBJECT (demux, "keyframeidx: %d", keyframeidx);
if (keyframeidx >= 0) {
+#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(58,78,0)
+ fftarget = avformat_index_get_entry (stream, keyframeidx)->timestamp;
+#else
fftarget = stream->index_entries[keyframeidx].timestamp;
+#endif
target = gst_ffmpeg_time_ff_to_gst (fftarget, stream->time_base);
GST_LOG_OBJECT (demux,
--
GitLab

View file

@ -0,0 +1,13 @@
diff --git a/ext/openexr/gstopenexrdec.cpp b/ext/openexr/gstopenexrdec.cpp
index eeb316cb189d470b298b28787cdf160bc09de65f..32b1d03c388a441cb1293fc261a1eec634c3e5f0 100644
--- a/ext/openexr/gstopenexrdec.cpp
+++ b/ext/openexr/gstopenexrdec.cpp
@@ -29,6 +29,7 @@
#include <ImfRgbaFile.h>
#include <ImfIO.h>
+#include <ImfInt64.h>
using namespace Imf;
using namespace Imath;

View file

@ -0,0 +1,14 @@
diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c
index aa0ec5035..d9d7130f8 100644
--- a/gst/playback/gstdecodebin2.c
+++ b/gst/playback/gstdecodebin2.c
@@ -241,7 +241,7 @@ enum
/* automatic sizes, while prerolling we buffer up to 2MB, we ignore time
* and buffers in this case. */
-#define AUTO_PREROLL_SIZE_BYTES 2 * 1024 * 1024
+#define AUTO_PREROLL_SIZE_BYTES 10 * 1024 * 1024
#define AUTO_PREROLL_SIZE_BUFFERS 0
#define AUTO_PREROLL_NOT_SEEKABLE_SIZE_TIME 10 * GST_SECOND
#define AUTO_PREROLL_SEEKABLE_SIZE_TIME 0

View file

@ -0,0 +1,63 @@
From 17a175e0514d5f01b3a9d196235906b53b7c2eaf Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 17 Apr 2020 11:32:52 -0500
Subject: [PATCH] asfdemux: Re-initialize demux->adapter in
gst_asf_demux_reset.
---
gst/asfdemux/gstasfdemux.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c
index 6a6e3876..824a4355 100644
--- a/gst/asfdemux/gstasfdemux.c
+++ b/gst/asfdemux/gstasfdemux.c
@@ -208,11 +208,15 @@ gst_asf_demux_reset (GstASFDemux * demux, gboolean chain_reset)
gst_segment_init (&demux->segment, GST_FORMAT_UNDEFINED);
demux->segment_running = FALSE;
- if (demux->adapter && !chain_reset) {
- gst_adapter_clear (demux->adapter);
- g_object_unref (demux->adapter);
- demux->adapter = NULL;
+ if (!chain_reset) {
+ if (demux->adapter)
+ {
+ gst_adapter_clear (demux->adapter);
+ g_object_unref (demux->adapter);
+ }
+ demux->adapter = gst_adapter_new();
}
+
if (demux->taglist) {
gst_tag_list_unref (demux->taglist);
demux->taglist = NULL;
@@ -4816,6 +4820,9 @@ gst_asf_demux_finalize (GObject * object)
{
GstASFDemux *demux = GST_ASF_DEMUX (object);
+ if (demux->adapter)
+ demux->adapter = NULL;
+
if (demux->metadata)
gst_caps_unref (demux->metadata);
demux->metadata = NULL;
--
2.24.1
diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c
index 7444fc14..30dfc20e 100644
--- a/gst/asfdemux/gstasfdemux.c
+++ b/gst/asfdemux/gstasfdemux.c
@@ -206,7 +206,7 @@ gst_asf_demux_reset (GstASFDemux * demux, gboolean chain_reset)
{
GST_LOG_OBJECT (demux, "resetting");
- gst_segment_init (&demux->segment, GST_FORMAT_UNDEFINED);
+ gst_segment_init (&demux->segment, GST_FORMAT_TIME);
demux->segment_running = FALSE;
if (!chain_reset) {
if (demux->adapter)

View file

@ -0,0 +1,157 @@
# 'Wine-to-rule-them-all' - Proton-TkG simple config file
##
## This config file contains the basic settings of your build.
## For deeper configuration, see proton-tkg-profiles/advanced-customization.cfg
##
# This is a simplified config file with minimal comments. See ../wine-tkg-git/customization.cfg for more details.
# Some options will be missing from this config file compared to wine-tkg-git as they are enforced.
#### NON-MAKEPKG OPTIONS (Won't affect makepkg builds) ####
# Set to true to get a prompt after the 64-bit part is built, enabling package switching before building the 32-bit side.
# This is a workaround for distros shipping broken devel packages that can't coexist as multilib
_nomakepkg_midbuild_prompt="false"
# Set to the distro of your choice to attempt dependency resolution. Valid options are "debuntu" (for debian, ubuntu and similar), "fedora" or "archlinux".
_nomakepkg_dep_resolution_distro=""
# Set to true if you want to skip the uninstaller at the end of proton-tkg building
_skip_uninstaller="false"
# Set to true if you do not want your build to be automatically moved to your compatibilitytools.d dir
_no_autoinstall="false"
####
# PROTON-TKG-MISC OPTIONS
# SteamDeck support additions
_tabtip="true"
# Set Pulseaudio latency to 60ms - Can help with sound crackling issues on some configs (and introduce crackling on others)
_proton_pulse_lowlat="false"
# Enable Winetricks prompt on game launch - Will use your system winetricks, so you need it installed
_proton_winetricks="false"
# DXVK
# Valid options::
# "git" - Recommended and default - Will build current master with dxvk_config patch to allow for enhanced vkd3d compatibility
# "prebuilt" - For builds made with dxvk-tools for example
# "release" - using github's latest
# "false" - disabled
# Setting it to "true" will default to "release"
_use_dxvk="git"
# hud : https://github.com/doitsujin/dxvk#hud
# configfile : https://github.com/doitsujin/dxvk/wiki/Configuration#configuration-file
_proton_dxvk_hud=""
_proton_dxvk_configfile=""
# WINE FLAVOUR SETTINGS
# Override config with one of the presets from /wine-tkg-profiles dir. Leave empty to use wine upstream trees.
# Custom presets for proton : "valve" (builds against current valve proton tree), "valve-exp" (builds against current valve proton-experimental tree)
_LOCAL_PRESET=""
# fastsync - disable at runtime with WINE_DISABLE_FAST_SYNC=1 envvar - Set to true to enable winesync/fastsync support - https://repo.or.cz/wine/zf.git/shortlog/refs/heads/fastsync3
# !! on plain: Disables esync / fsync support !!
# !! on staging: Requires fsync support !!
_use_fastsync="false"
_use_esync="true"
_use_fsync="true"
# futex_waitv() API for fsync - Requires 5.16 kernel or kernel with backported patches - https://github.com/ValveSoftware/wine/pull/128
# !! Replaces previous fsync interfaces support !!
_fsync_futex_waitv="true"
_plain_version=""
_use_staging="true"
_staging_version=""
# GAME-SPECIFIC PATCHES
# Enable support for Proton's Battleye runtime - Needs the package to be installed in Steam
_proton_battleye_support="true"
# Enable support for Proton's EAC bridge - Needs the package to be installed in Steam
_proton_eac_support="true"
_ffxivlauncher_fix="false"
_sims3_fix="false"
_mtga_fix="false"
_mwo_fix="false"
_childwindow_fix="true"
_lol920_fix="false"
# Fix for Assetto Corsa performance drop when HUD elements are displayed - https://bugs.winehq.org/show_bug.cgi?id=46955
_assettocorsa_hudperf_fix="true"
# Fixes for Mortal Kombat 11 - Requires staging, _proton_fs_hack="true", native mfplat (win7) or staging mfplat support and a different GPU driver than RADV
# On Wine 5.2 (up to b1c748c8) and lower, it needs to be toogled on with the WINE_LOW_USER_SPACE_LIMIT=1 envvar
_mk11_fix="true"
# ! _re4_fix="true" requires _wined3d_additions="false" or it will get ignored ! - Not needed when using DXVK
_re4_fix="false"
# Background music on King of Fighters 98 and 2002 is silent on Wine-staging and the `xactengine-initial` patchset was found to introduce the issue. Set to "true" to disable it as a workaround.
_kof98_2002_BGM_fix="false"
# Fix for Quake Champions by Paul Gofman for Proton - Depends on _protonify="true" and _use_staging="true"
# This patchset breaks Genshin Impact
_quake_champions_fix="true"
# OTHER PATCHES
# Set to "false" to disable building proton media converter - This is helpful for some games using unsupported video formats such as Resident Evil 8
# We're only supporting 64-bit version of the lib in -tkg at this point - https://github.com/ValveSoftware/Proton/tree/proton_6.3/media-converter
_build_mediaconv="true"
# Set to "true" to enable building 64-bit patched gstreamer & plugins - This is helpful to support video formats no covered by your distro packages
# Will build orc, gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav
# _build_mediaconv can be set to false when this is enabled and Steam's shader precaching is disabled
_build_gstreamer="false"
# Set to "true" to also enable building 32-bit patched gstreamer & plugins
# Depends on _build_gstreamer="true"
_lib32_gstreamer="false"
# Set to "true" to enable building FAudio
# Depends on _build_gstreamer="true"
_build_faudio="false"
_FS_bypass_compositor="true"
_proton_fs_hack="true"
# Joshua Ashton's take on making wine dialogs and menus less win95-ish - https://github.com/Joshua-Ashton/wine/tree/wine-better-theme
_use_josh_flat_theme="true"
# Other misc proton patches and hacks - Notably contains fixes for some native vk games (such as Doom Eternal) as well as Rockstar launcher
# Also enables some winevulkan performance optimizations - https://github.com/Joshua-Ashton/proton-wine/tree/winevulkan-opt (fs hack) - https://github.com/Joshua-Ashton/wine/commits/winevulkan-opt-mainline (no fs hack)
_protonify="true"
# USER PATCHES
# community patches - add patches (separated by a space) of your choice by name from the community-patches dir - https://github.com/Frogging-Family/community-patches - proton-tkg, just like wine-tkg-git, uses the wine-tkg-git patches subdir
# example: _community_patches="amdags.mypatch GNUTLShack.mypatch"
_community_patches="amdags-proton.mypatch atiadlxx-proton.mypatch FinalFantasyXVHack.mypatch ntdll_Map_top-down_if_dll_characteristics_include_DYNAMIC_BASE.mypatch Shell32-CreateDirectoryInDestinationInFileOp-Move-multiop.mypatch winex11_limit_resources-nmode.mypatch unhide-prefix-update-window.mypatch"
_user_patches="true"
_user_patches_no_confirm="false"
# Set to "true" to apply all hotfix patches without confirmation, to "ignore" to ignore all hotfix patches without confirmation
# Default ("false") will prompt at build time
_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=""

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
diff --git a/src/LiberationMono-Regular.sfd b/src/LiberationMono-Regular.sfd
index 0cedbd4..13b9a63 100644
--- a/src/LiberationMono-Regular.sfd
+++ b/src/LiberationMono-Regular.sfd
@@ -3931,6 +3931,10 @@ ShortTable: maxp 16
3
1
EndShort
+TtfTable: VDMX 94
+!!!!"!!**$!<E0/!"B2J!!iQ/s8E!)!"&](!"&]4s8;p*!"8i*!"8i9s8;p,!"Ao*!"Ju<s82j-
+!"Ju+!"],?s82j/!"],,!"o8Bs8)d0!"f2-!#,DFs8)cr
+EndTtf
LangName: 1033 "" "" "Regular" "Ascender - Liberation Mono" "" "Version 2.00.3" "" "Liberation is a trademark of Red Hat, Inc. registered in U.S. Patent and Trademark Office and certain other jurisdictions." "Ascender Corporation" "Steve Matteson" "Based on Cousine, which was designed by Steve Matteson as an innovative, refreshing sans serif design that is metrically compatible with Courier New+ISIA. Cousine offers improved on-screen readability characteristics and the pan-European WGL character set and solves the needs of developers looking for width-compatible fonts to address document portability across platforms." "http://www.ascendercorp.com/" "http://www.ascendercorp.com/typedesigners.html" "Licensed under the SIL Open Font License, Version 1.1" "http://scripts.sil.org/OFL"
GaspTable: 3 8 2 17 1 65535 3 0
Encoding: UnicodeBmp

View file

@ -0,0 +1,75 @@
Copyright (c) 2018, Valve Corporation
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Browse the source code for more information
https://github.com/ValveSoftware/Proton/
---- ---- ---- ----
This software contains Wine licensed under the LGPL 2.1. Wine is
Copyright (c) 1993-2018 the Wine project authors