Compare commits
3 commits
8982963932
...
11cf41df16
Author | SHA1 | Date | |
---|---|---|---|
|
11cf41df16 | ||
|
e428cb8860 | ||
|
e442a96e22 |
1375 changed files with 5046589 additions and 0 deletions
10
.braids.json
10
.braids.json
|
@ -11,11 +11,21 @@
|
|||
"branch": "master",
|
||||
"revision": "4ebb83232bc4d7bc16399c5ae49c0a512dcdea95"
|
||||
},
|
||||
"proton-ge-custom": {
|
||||
"url": "https://aur.archlinux.org/proton-ge-custom.git",
|
||||
"branch": "master",
|
||||
"revision": "cf9a705b871340647cf4ec2da522975ff590614f"
|
||||
},
|
||||
"wine-ge-custom": {
|
||||
"url": "https://aur.archlinux.org/wine-ge-custom.git",
|
||||
"branch": "master",
|
||||
"revision": "3e101247f521a7f75825d165613ca406b3f41d41"
|
||||
},
|
||||
"wine-tkg-git": {
|
||||
"url": "https://github.com/Frogging-Family/wine-tkg-git.git",
|
||||
"branch": "master",
|
||||
"revision": "97dec067447ffc844d85869c24f30635176a0039"
|
||||
},
|
||||
"zfs-dkms": {
|
||||
"url": "https://aur.archlinux.org/zfs-dkms.git",
|
||||
"branch": "master",
|
||||
|
|
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
|
||||
|
2
wine-tkg-git/.github/FUNDING.yml
vendored
Normal file
2
wine-tkg-git/.github/FUNDING.yml
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
patreon: tkglitch
|
||||
custom: ["https://www.paypal.me/TkGlitch"]
|
36
wine-tkg-git/.github/workflows/proton-arch-nopackage.yml
vendored
Normal file
36
wine-tkg-git/.github/workflows/proton-arch-nopackage.yml
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
name: Proton nopackage Arch Linux CI
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '25 9,21 * * *'
|
||||
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
|
||||
sed -i 's/distro=""/distro="archlinux"/' proton-tkg.cfg
|
||||
sed -i 's/uninstaller="false"/uninstaller="true"/' proton-tkg.cfg
|
||||
sed -i 's/autoinstall="false"/autoinstall="true"/' proton-tkg.cfg
|
||||
sed -i 's/LOCAL_PRESET=""/LOCAL_PRESET="none"/' proton-tkg.cfg
|
||||
sed -i 's/build_gstreamer="false"/build_gstreamer="true"/' proton-tkg.cfg
|
||||
sed -i 's/lib32_gstreamer="false"/lib32_gstreamer="true"/' proton-tkg.cfg
|
||||
touch tarplz
|
||||
yes|./proton-tkg.sh
|
||||
- name: Archive the artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: proton-tkg-build
|
||||
path: proton-tkg/built/*.tar
|
28
wine-tkg-git/.github/workflows/proton-arch.yml.nope
vendored
Normal file
28
wine-tkg-git/.github/workflows/proton-arch.yml.nope
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
|
33
wine-tkg-git/.github/workflows/proton-ubuntu-nopackage.yml
vendored
Normal file
33
wine-tkg-git/.github/workflows/proton-ubuntu-nopackage.yml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
name: Proton nopackage Ubuntu CI
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '25 9,21 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Compile
|
||||
run: |
|
||||
sudo dpkg --add-architecture i386 && sudo apt update
|
||||
sudo apt install aptitude
|
||||
sudo aptitude remove -y '?narrow(?installed,?version(deb.sury.org))'
|
||||
export CARGO_HOME="$PWD"
|
||||
cd proton-tkg
|
||||
sed -i 's/distro=""/distro="debuntu"/' proton-tkg.cfg
|
||||
sed -i 's/uninstaller="false"/uninstaller="true"/' proton-tkg.cfg
|
||||
sed -i 's/autoinstall="false"/autoinstall="true"/' proton-tkg.cfg
|
||||
sed -i 's/LOCAL_PRESET=""/LOCAL_PRESET="none"/' proton-tkg.cfg
|
||||
sed -i 's/build_gstreamer="false"/build_gstreamer="true"/' proton-tkg.cfg
|
||||
sed -i 's/lib32_gstreamer="false"/lib32_gstreamer="true"/' proton-tkg.cfg
|
||||
touch tarplz
|
||||
yes|./proton-tkg.sh
|
||||
- name: Archive the artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: proton-tkg-build
|
||||
path: proton-tkg/built/*.tar
|
35
wine-tkg-git/.github/workflows/proton-valvexbe-arch-nopackage.yml
vendored
Normal file
35
wine-tkg-git/.github/workflows/proton-valvexbe-arch-nopackage.yml
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
name: Proton Valve xbe nopackage 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 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
|
||||
sed -i 's/distro=""/distro="archlinux"/' proton-tkg.cfg
|
||||
sed -i 's/uninstaller="false"/uninstaller="true"/' proton-tkg.cfg
|
||||
sed -i 's/autoinstall="false"/autoinstall="true"/' proton-tkg.cfg
|
||||
sed -i 's/build_gstreamer="false"/build_gstreamer="true"/' proton-tkg.cfg
|
||||
sed -i 's/lib32_gstreamer="false"/lib32_gstreamer="true"/' proton-tkg.cfg
|
||||
touch tarplz
|
||||
yes|./proton-tkg.sh
|
||||
- name: Archive the artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: proton-tkg-build
|
||||
path: proton-tkg/built/*.tar
|
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:
|
||||
|
||||
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
|
||||
touch tarplz
|
||||
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
|
29
wine-tkg-git/.github/workflows/wine-lol.yml
vendored
Normal file
29
wine-tkg-git/.github/workflows/wine-lol.yml
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
name: Wine LoL 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
|
||||
sudo apt install aptitude
|
||||
sudo aptitude remove -y '?narrow(?installed,?version(deb.sury.org))'
|
||||
cd wine-tkg-git
|
||||
sed -i 's/distro=""/distro="debuntu"/' customization.cfg
|
||||
sed -i 's/lol920_fix="false"/lol920_fix="true"/' customization.cfg
|
||||
touch tarplz
|
||||
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
|
28
wine-tkg-git/.github/workflows/wine-ubuntu.yml
vendored
Normal file
28
wine-tkg-git/.github/workflows/wine-ubuntu.yml
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
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
|
||||
sudo apt install aptitude
|
||||
sudo aptitude remove -y '?narrow(?installed,?version(deb.sury.org))'
|
||||
cd wine-tkg-git
|
||||
sed -i 's/distro=""/distro="debuntu"/' customization.cfg
|
||||
touch tarplz
|
||||
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
|
31
wine-tkg-git/.github/workflows/wine-valvexbe-pacman.yml
vendored
Normal file
31
wine-tkg-git/.github/workflows/wine-valvexbe-pacman.yml
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
name: Wine Valve exp bleeding edge Pacman 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
|
||||
sed -i 's/LOCAL_PRESET=""/LOCAL_PRESET="valve-exp-bleeding"/' customization.cfg
|
||||
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
|
29
wine-tkg-git/.github/workflows/wine-valvexbe.yml
vendored
Normal file
29
wine-tkg-git/.github/workflows/wine-valvexbe.yml
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
name: Wine Valve exp bleeding edge 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
|
||||
sudo apt install aptitude
|
||||
sudo aptitude remove -y '?narrow(?installed,?version(deb.sury.org))'
|
||||
cd wine-tkg-git
|
||||
sed -i 's/distro=""/distro="debuntu"/' customization.cfg
|
||||
sed -i 's/LOCAL_PRESET=""/LOCAL_PRESET="valve-exp-bleeding"/' customization.cfg
|
||||
touch tarplz
|
||||
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/
|
61
wine-tkg-git/README.md
Normal file
61
wine-tkg-git/README.md
Normal file
|
@ -0,0 +1,61 @@
|
|||
# Wine to rule them all !
|
||||
|
||||
## Wine nightly builds
|
||||
|
||||
- wine-staging patchset applied
|
||||
|
||||
Wine | [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) | [LoL](https://github.com/Frogging-Family/wine-tkg-git/actions/workflows/wine-lol.yml) |
|
||||
-------------|--------|--------|-------|-------|
|
||||
|
||||
Valve Wine | [Exp Bleeding Edge Arch Linux](https://github.com/Frogging-Family/wine-tkg-git/actions/workflows/wine-valvexbe-pacman.yml) | [Exp Bleeding Edge Other distro](https://github.com/Frogging-Family/wine-tkg-git/actions/workflows/wine-valvexbe.yml) |
|
||||
-------------|--------|--------|
|
||||
|
||||
*The Exp Bleeding Edge Other distro and LoL versions are built on Ubuntu latest, which should work fine on most distros not using years old packages*
|
||||
|
||||
*! The LoL version should only be used for League of Legends !*
|
||||
|
||||
## Proton nightly builds
|
||||
|
||||
- wine-staging patchset applied
|
||||
- built on Arch current, making glibc 2.36 a requirement
|
||||
|
||||
Proton | [Valve Exp Bleeding Edge](https://github.com/Frogging-Family/wine-tkg-git/actions/workflows/proton-valvexbe-arch-nopackage.yml) | [Wine Master](https://github.com/Frogging-Family/wine-tkg-git/actions/workflows/proton-arch-nopackage.yml) |
|
||||
-------------|--------|--------|
|
||||
|
||||
(drop the extracted folder in `/$HOME/.steam/root/compatibilitytools.d/` or, for Ubuntu/Debian based, the `/$HOME/.steam/compatibilitytools.d/` dir)
|
||||
|
||||
## 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 !lto !strip !ccache)
|
||||
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,242 @@
|
|||
# '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="experimental_7.0"
|
||||
|
||||
# Set to "true" to use the "noruntime" proton toolmanifest if available
|
||||
# Set to "sniper" to use the experimental sniper runtime
|
||||
_nosteamruntime="false"
|
||||
|
||||
# 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"
|
||||
|
||||
# Set the method used to do PE files fixups to please some DRMs and other checks - Default is "objcopy", alternative is "py" (which will run legacy pefixup.py proton script)
|
||||
# !!! the "py" method allows Destiny 2 checks to pass but will get you banned !!!
|
||||
_pefixup="objcopy"
|
||||
|
||||
# Set to true to forcefully disable using ccache (else it'll be used if detected).
|
||||
_NOCCACHE="false"
|
||||
|
||||
# Optionally set additional make dependencies for makepkg builds. Multiple elements should be separated by a space.
|
||||
# Only affects 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 log compiler warnings and errors to a debug.log file
|
||||
_log_errors_to_file="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,385 @@
|
|||
# '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="experimental_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"
|
||||
|
||||
# Set the method used to do PE files fixups to please some DRMs and other checks - Default is "objcopy", alternative is "py" (which will run legacy pefixup.py proton script)
|
||||
# !!! the "py" method allows Destiny 2 checks to pass but will get you banned !!!
|
||||
_pefixup="objcopy"
|
||||
|
||||
# Set to true to forcefully disable using ccache (else it'll be used if detected).
|
||||
_NOCCACHE="false"
|
||||
|
||||
# Optionally set additional make dependencies for makepkg builds. Multiple elements should be separated by a space.
|
||||
# Only affects 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 log compiler warnings and errors to a debug.log file
|
||||
_log_errors_to_file="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 be prompted.
|
||||
# Custom presets for proton :
|
||||
# "valve" (builds against current valve proton tree)
|
||||
# "valve-exp" (builds against current valve proton-experimental tree)
|
||||
# "valve-exp-bleeding" (builds against current valve proton-experimental-bleeding-edge tree)
|
||||
# "none" - Silence the prompt
|
||||
_LOCAL_PRESET=""
|
||||
|
||||
# Add GloriousEggroll game patches and hotfixes when using a Valve profile with staging enabled
|
||||
# ! This will only affect Valve + staging trees !
|
||||
# List of patches applied with this option enabled: assettocorsa-hud killer-instinct-winevulkan_fix FFVII-and-SpecialK-powerprof 65-proton-fake_current_res_patches unity_crash_hotfix Fix-regression-introduced-by-0e7fd41 15aa8c6-fix-star-citizen-bug-52956 0001-winex11.drv-Define-ControlMask-when-not-available 0002-include-Add-THREAD_POWER_THROTTLING_STATE-type 0003-ntdll-Fake-success-for-ThreadPowerThrottlingState
|
||||
_use_GE_patches="true"
|
||||
|
||||
# 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/fastsync4
|
||||
# !! 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"
|
||||
|
||||
# Shared gpu resources support:
|
||||
# Shared texture resources for d3d9 and d3d11 - https://github.com/doitsujin/dxvk/pull/2516
|
||||
# Requires DXVK 1.10.1+
|
||||
# ID3D11Fence and ID3D12Fence sharing - https://github.com/doitsujin/dxvk/pull/2608 https://github.com/HansKristian-Work/vkd3d-proton/pull/1175
|
||||
# Requires DXVK 1.10.3+, VKD3D-Proton 2.7+
|
||||
_shared_gpu_resources="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 re-use previoulsy built gst-related libs (mediaconverter, gstreamer, ffmpeg, faudio)
|
||||
# Set to "false" to explicitly not re-use previoulsy built gst-related libs
|
||||
# Default (empty value) will prompt if an existing gst dir is found
|
||||
# !!! There is not detection regarding what was and wasn't built, the previously built gst dir will be used as it was on last successfuly build, independently of the below options !!!
|
||||
# !!! If you want to add features you didn't build before (for example ffmpeg or lib32), you'll need to enable those and rebuild without this option first !!!
|
||||
_reuse_built_gst=""
|
||||
|
||||
# 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 ffmpeg
|
||||
# Depends on _build_gstreamer="true"
|
||||
# Enabling _lib32_gstreamer above will also enable lib32 for this option
|
||||
_build_ffmpeg="true"
|
||||
|
||||
# Set to "true" to enable building FAudio
|
||||
# Depends on _build_gstreamer="true"
|
||||
# Enabling _lib32_gstreamer above will also enable lib32 for this option
|
||||
_build_faudio="true"
|
||||
|
||||
_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 "false" to prompt about all non-critical hotfix patches at build time, or "ignore" to ignore all non-critical hotfix patches without confirmation
|
||||
# Default ("true") will apply all non-critical hotfix patches without confirmation
|
||||
_hotfixes_no_confirm="true"
|
||||
# Set to false to disable staging mfplat restoration in case a hotfix is available and _hotfixes_no_confirm is set to "true"
|
||||
_hotfixansw_staging_mfplat=""
|
||||
# Set to false to disable staging pulseaudio restoration in case a hotfix is available and _hotfixes_no_confirm is set to "true"
|
||||
_hotfixansw_staging_pulse=""
|
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;
|
||||