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: "???"
This commit is contained in:
parent
b731a10db2
commit
78f2c98daf
1164 changed files with 4783961 additions and 0 deletions
15
wine-tkg-git/.gitattributes
vendored
Normal file
15
wine-tkg-git/.gitattributes
vendored
Normal 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
|
||||
|
28
wine-tkg-git/.github/workflows/proton-arch.yml
vendored
Normal file
28
wine-tkg-git/.github/workflows/proton-arch.yml
vendored
Normal 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
|
30
wine-tkg-git/.github/workflows/wine-arch.yml
vendored
Normal file
30
wine-tkg-git/.github/workflows/wine-arch.yml
vendored
Normal 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
|
26
wine-tkg-git/.github/workflows/wine-fedora.yml
vendored
Normal file
26
wine-tkg-git/.github/workflows/wine-fedora.yml
vendored
Normal 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
|
25
wine-tkg-git/.github/workflows/wine-ubuntu.yml
vendored
Normal file
25
wine-tkg-git/.github/workflows/wine-ubuntu.yml
vendored
Normal 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
42
wine-tkg-git/.gitignore
vendored
Normal 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
12
wine-tkg-git/.gitrepo
Normal 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
40
wine-tkg-git/README.md
Normal 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.
|
235
wine-tkg-git/proton-tkg/PKGBUILD
Normal file
235
wine-tkg-git/proton-tkg/PKGBUILD
Normal 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
|
124
wine-tkg-git/proton-tkg/README.md
Normal file
124
wine-tkg-git/proton-tkg/README.md
Normal 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**
|
|
@ -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"
|
||||
|
|
@ -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=""
|
30
wine-tkg-git/proton-tkg/proton-tkg-userpatches/README.md
Normal file
30
wine-tkg-git/proton-tkg/proton-tkg-userpatches/README.md
Normal 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.
|
36
wine-tkg-git/proton-tkg/proton-tkg-userpatches/gstlibav
Normal file
36
wine-tkg-git/proton-tkg/proton-tkg-userpatches/gstlibav
Normal 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
|
||||
|
||||
|
13
wine-tkg-git/proton-tkg/proton-tkg-userpatches/gstreamer-bad
Normal file
13
wine-tkg-git/proton-tkg/proton-tkg-userpatches/gstreamer-bad
Normal 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;
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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)
|
||||
|
||||
|
||||
|
157
wine-tkg-git/proton-tkg/proton-tkg.cfg
Normal file
157
wine-tkg-git/proton-tkg/proton-tkg.cfg
Normal 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=""
|
1239
wine-tkg-git/proton-tkg/proton-tkg.sh
Executable file
1239
wine-tkg-git/proton-tkg/proton-tkg.sh
Executable file
File diff suppressed because it is too large
Load diff
|
@ -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
|
75
wine-tkg-git/proton-tkg/proton_template/conf/LICENSE
Executable file
75
wine-tkg-git/proton-tkg/proton_template/conf/LICENSE
Executable 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
|
||||
|
||||
Browse the source code for more information
|
||||
|
||||
https://github.com/ValveSoftware/wine/
|
||||
|
||||
---- ---- ---- ----
|
||||
|
||||
This software contains DXVK licensed under the zlib/libpng license. DXVK is
|
||||
|
||||
Copyright (c) 2017 Philip Rebohle
|
||||
|
||||
Visit DXVK at
|
||||
|
||||
https://github.com/doitsujin/dxvk/
|
||||
|
||||
---- ---- ---- ----
|
||||
|
||||
Parts of this software are based on the OpenVR SDK, which is
|
||||
|
||||
Copyright (c) 2015, Valve Corporation
|
||||
|
||||
Visit OpenVR at
|
||||
|
||||
https://github.com/ValveSoftware/openvr/
|
||||
|
||||
---- ---- ---- ----
|
||||
|
||||
This software contains openal-soft licensed under the LGPL 2.
|
||||
|
||||
Visit openal-soft at
|
||||
|
||||
https://github.com/kcat/openal-soft/
|
||||
|
||||
---- ---- ---- ----
|
||||
|
||||
Parts of this software are based on the AMD AGS library, which is
|
||||
|
||||
Copyright (c) 2017 Advanced Micro Devices, Inc. All rights reserved.
|
|
@ -0,0 +1,22 @@
|
|||
"compatibilitytools"
|
||||
{
|
||||
"compat_tools"
|
||||
{
|
||||
"Proton-tkg TKGVERSION" // Internal name of this tool
|
||||
{
|
||||
// Can register this tool with Steam in two ways:
|
||||
//
|
||||