seems like it's not being detected as a new version? i'm guessing because 10_GE_1
doesn't count as a number, and therefore isn't sorted as a number
either that or paru is being weird. it didn't say it was downgrading thought so...
Search Criteria
Package Details: proton-ge-custom-bin 1:GE_Proton9_20-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/proton-ge-custom-bin.git (read-only, click to copy) |
---|---|
Package Base: | proton-ge-custom-bin |
Description: | A fancy custom distribution of Valves Proton with various patches |
Upstream URL: | https://github.com/GloriousEggroll/proton-ge-custom |
Keywords: | d9vk DXVK Faudio GloriousEggroll MediaFoundation Proton protonfixes Steam System-wide Valve vkd3d Wine |
Licenses: | custom, BSD, MPL, LGPL, MIT, zlib |
Conflicts: | proton-ge-custom |
Provides: | proton, proton-ge-custom |
Submitter: | RogueGirl |
Maintainer: | Jaja (floriplum, chaotic-aur, PedroHLC) |
Last Packager: | chaotic-aur |
Votes: | 216 |
Popularity: | 7.93 |
First Submitted: | 2020-02-21 11:06 (UTC) |
Last Updated: | 2024-11-11 11:31 (UTC) |
Dependencies (28)
- ffmpeg4.4
- graphene (graphene-gitAUR)
- gst-plugins-bad-libs (gst-plugins-bad-libs-gitAUR)
- lib32-gst-plugins-base-libs (lib32-gst-plugins-base-libs-gitAUR)
- lib32-libgudev
- lib32-libjpeg6-turbo
- lib32-libtheora
- lib32-libusb
- lib32-libva
- lib32-libvdpau
- lib32-mpg123
- lib32-openal (lib32-openal-gitAUR)
- lib32-openssl-1.1
- lib32-speex
- lib32-vkd3d (lib32-vkd3d-gitAUR)
- libjpeg6-turbo
- libsoup
- python (python37AUR, python311AUR, python310AUR)
- vulkan-icd-loader (vulkan-icd-loader-gitAUR)
- kdialog (kdialog-gitAUR) (optional) – KDE splash dialog support
- Show 8 more dependencies...
Required by (7)
- arch-gaming-meta (requires proton-ge-custom) (optional)
- cheat-engine-zh (requires proton-ge-custom) (optional)
- dxvk-gplasync-bin (requires proton) (optional)
- dxvk-gplasync-bin-git (requires proton) (optional)
- latencyflex-proton-ge-custom (requires proton-ge-custom)
- legendary (requires proton) (optional)
- rare (requires proton) (optional)
Sources (4)
Latest Comments
« First ‹ Previous 1 .. 5 6 7 8 9 10 11 12 13 14 15 .. 26 Next › Last »
somebody commented on 2021-06-08 00:53 (UTC) (edited on 2021-06-08 01:02 (UTC) by somebody)
coduxer commented on 2021-06-07 20:46 (UTC) (edited on 2021-06-07 20:52 (UTC) by coduxer)
you don't have to apply the patch
you can fix the launcher /usr/bin/proton
here is a fixed launcher:
#!/bin/sh
## configuration
# proton executable
_proton=/usr/share/steam/compatibilitytools.d/proton-ge-custom/proton
# default prefix dir if STEAM_COMPAT_DATA_PATH not set
_pfx=${XDG_DATA_HOME:-~/.local/share}/proton-pfx
# default appid if STEAM_COMPAT_DATA_PATH or SteamAppId not set nor given as an argument
_appid=0
# default mode of execution if not given as an argument
_mode=waitforexitandrun
## functions
proton() {
(echo "import sys; __file__ = sys.argv[0] = \"$_proton\""
sed s/', "steam"'//g "$_proton" < "$_proton") | PYTHONPATH="$(dirname "$_proton")" python3 - "$@"
}
set_env(){
# No data path to prefix? Let's set the default path. We want to include the AppId in the path like steam.
if [ -z ${STEAM_COMPAT_DATA_PATH+x} ]; then
export STEAM_COMPAT_DATA_PATH=${_pfx}/${SteamAppId:-${_appid}}
echo "ProtonLauncher[$$] INFO: empty STEAM_COMPAT_DATA_PATH set to ${STEAM_COMPAT_DATA_PATH}"
elif ! [ ${SteamGameId} -ge 0 ] 2>/dev/null && ! [ ${SteamAppId} -ge 0 ] 2>/dev/null && ! [ $(basename ${STEAM_COMPAT_DATA_PATH}) -ge 0 ] 2>/dev/null; then
export SteamAppId=${_appid}
echo "ProtonLauncher[$$] INFO: empty SteamAppId set to ${SteamAppId}"
fi
# If the prefix path does not exist yet, we will create it.
if ! [ -d ${STEAM_COMPAT_DATA_PATH} ]; then
install -d ${STEAM_COMPAT_DATA_PATH} || exit 1
echo "ProtonLauncher[$$] INFO: directory ${STEAM_COMPAT_DATA_PATH} created"
fi
# argument -e was provided, so summerize the relevant env we set so far.
if [ ${_printenv} == "true" ] 2>/dev/null; then print_env; fi
}
print_usage(){
cat <<EOF
USAGE: proton executable.exe
proton [mode] executable.exe
proton [appid] executable.exe
proton [--environment|-e] [--help|-h]
EOF
}
print_help(){
print_usage
cat <<EOF
ENV: STEAM_COMPAT_DATA_PATH
SteamAppId
SteamGameId
Just call this proton launcher script with your app as the only argument
to run it with the default prefix
$_pfx/$_appid and default mode "$_mode".
_mode_
You can change the mode of operation by specifying it as the first argument.
Possible values are: waitforexitandrun, run, getcompatpath, getnativepath
_appid_
Protonfixes uses three environment variables to determine the application to
run fixes for. The env STEAM_COMPAT_DATA_PATH points to the wine prefix and
usually includes the AppId. If the env SteamAppId (or SteamGameId) is set, it
takes precedence as the AppId used.
As proton itself needs the env STEAM_COMPAT_DATA_PATH, the default prefix
$_pfx/$_appid is used when it is not set or empty.
An AppId given by env SteamAppId will alter this path accordingly.
Provide "appid" as an argument instead of "mode" to change the AppId regardless
of the env vars. In this case, the mode defaults to "$_mode".
Useable for "appid": see https://steamdb.info/apps/
Note that the env SteamGameId is not set by this launcher script in any case.
This env is evaluated by steam executables inside the prefix. Set it yourself
as you see fit.
To see the current ENV when this script is called, use "-e" the switch.
EOF
}
print_env(){
cat <<EOF
Current ENVIRONMENT variables:
STEAM_COMPAT_DATA_PATH ${STEAM_COMPAT_DATA_PATH:-"Empty or not set."}
SteamAppId ${SteamAppId:-"Empty or not set."}
SteamGameId ${SteamGameId:-"Empty or not set."}
EOF
}
## main
if [ "$1" == "--help" ] || [ "$1" == "-h" ]; then print_help; exit 0; fi
if [ "$1" == "--environment" ] || [ "$1" == "-e" ]; then _printenv=true; shift; fi
case $# in
0)
print_usage
;;
1)
# just start an application with default appid and mode
set_env
echo ${_proton} ${_mode} "$1"
proton ${_mode} "$1"
;;
*)
if ! [ "$1" -ge 0 ] 2>/dev/null; then
# start proton with given arguments, compatible with standard proton invokation
set_env
echo ${_proton} "${@}"
proton "${@}"
else
# first arg is a positive signed int, thus the appid
export SteamAppId="$1"
#export SteamGameId="$1"
echo "ProtonLauncher[$$] INFO: forcing SteamAppId to $1"
set_env
echo ${_proton} ${_mode} "${@:2}"
proton ${_mode} "${@:2}"
fi
;;
esac
somebody commented on 2021-06-07 11:32 (UTC)
it'd be nice if we could get that patch with the 6.10 update tho
floriplum commented on 2021-06-06 19:03 (UTC)
I generally have no problem with adding the patch, but im not in the position to decide it myself.
Anyway i created a local branch with the patch added to the pkgbuild if anyone wants to add it locally.
diff --git a/001_ShellExecuteEx.patch b/001_ShellExecuteEx.patch
new file mode 100644
index 0000000..8114969
--- /dev/null
+++ b/001_ShellExecuteEx.patch
@@ -0,0 +1,15 @@
+--- proton/proton 2021-05-30 01:09:04.000000000 +0200
++++ proton_patched/proton 2021-06-06 20:06:49.587290217 +0200
+@@ -1149,10 +1149,10 @@
+ ]
+
+ if any(check_args):
+- self.run_proc([g_proton.wine64_bin, "start.exe", "/exec", "steam"] + sys.argv[2:] + self.cmdlineappend)
++ self.run_proc([g_proton.wine64_bin, "start.exe", "/exec"] + sys.argv[2:] + self.cmdlineappend)
+ #commandstring = str([g_proton.wine64_bin, "start.exe", "/exec", "steam"] + sys.argv[2:] + self.cmdlineappend)
+ else:
+- self.run_proc([g_proton.wine64_bin, "start.exe", "/b", "steam"] + sys.argv[2:] + self.cmdlineappend)
++ self.run_proc([g_proton.wine64_bin, "start.exe", "/b"] + sys.argv[2:] + self.cmdlineappend)
+ #commandstring = str([g_proton.wine64_bin, "start.exe", "/b", "steam"] + sys.argv[2:] + self.cmdlineappend)
+
+ #log("Running: " + commandstring)
diff --git a/PKGBUILD b/PKGBUILD
index 316b551..7c31fe2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -48,9 +48,16 @@ backup=("${_protoncfg}")
## sources
url='https://github.com/GloriousEggroll/proton-ge-custom'
source=(${_pkgname}-${_pkgver}_${pkgrel}.tar.gz::"${url}/releases/download/${_pkgver}/${_srcdir}.tar.gz"
- "supplementary.tar.zst")
+ "supplementary.tar.zst"
+ "001_ShellExecuteEx.patch")
sha512sums=('3c91710141a1cd93b1ac004263303721bdeecf7e76414c44fda5ca2a2123195b4eb628e0e90a3ff47744c4fac88d5169d1443e1ef9347b838636b68c44a83225'
- '9925a9972a9bed9b9e71c2aa169db03eeb72307336c3ed004434397deb379b55eb13b249ca9c0b28f48dd5ea728a1ad32685b84e2dcab881ba428c2acb7bc58d')
+ '9925a9972a9bed9b9e71c2aa169db03eeb72307336c3ed004434397deb379b55eb13b249ca9c0b28f48dd5ea728a1ad32685b84e2dcab881ba428c2acb7bc58d'
+ '647a9fceee693e344063bd70cc2069fb6df9cc7135bd8be7b9e45e1db2c8a1d6f8d69ac22f0f2164b4fc265a0749689b927b0d10d9febca4c41507c3e6a1ca97')
+
+prepare() {
+ ls
+ patch -p1 -i ../001_ShellExecuteEx.patch -d ./Proton-${_pkgver}
+}
build() {
## setup paths
agg3l commented on 2021-06-01 21:20 (UTC) (edited on 2021-06-01 21:40 (UTC) by agg3l)
For those struggling with ShellExecuteEx failed: File not found. case: proton-ge-custom-bin fix to run generic wine app is pretty straightforward. Here is corresponding patch (for 6.9_GE_2-2 package)
--- a/proton 2021-06-01 10:00:00.000000000 +0000
+++ b/proton 2021-06-01 10:00:00.000000000 +0000
@@ -1149,10 +1149,10 @@
]
if any(check_args):
- self.run_proc([g_proton.wine64_bin, "start.exe", "/exec"] + sys.argv[2:] + self.cmdlineappend)
+ self.run_proc([g_proton.wine64_bin, "start.exe", "/exec", "steam"] + sys.argv[2:] + self.cmdlineappend)
#commandstring = str([g_proton.wine64_bin, "start.exe", "/exec", "steam"] + sys.argv[2:] + self.cmdlineappend)
else:
- self.run_proc([g_proton.wine64_bin, "start.exe", "/b"] + sys.argv[2:] + self.cmdlineappend)
+ self.run_proc([g_proton.wine64_bin, "start.exe", "/b", "steam"] + sys.argv[2:] + self.cmdlineappend)
#commandstring = str([g_proton.wine64_bin, "start.exe", "/b", "steam"] + sys.argv[2:] + self.cmdlineappend)
#log("Running: " + commandstring)
Shortly, cause of error is proton-ge attempts to launch any win32/64 executable via steam app proxy. Patch simply bypass such behavior (thus to launch steam app one should run proton [run|waitforexitandrun] steam MySteamApp.exe
afterwards).
@miss_barfin To keep this AUR package consistent, either alike patch should be applied or multilib/steam to be added to runtime dependencies.
// file to be patched is /usr/share/steam/compatibilitytools.d/proton-ge-custom/proton for this AUR package
somebody commented on 2021-05-31 13:53 (UTC)
oddly enough proton works on some versions, errors with ShellExecuteEx failed: File not found.
sometimes when i update
RogueGirl commented on 2021-05-30 13:55 (UTC)
@GI_Jack fixed
GI_Jack commented on 2021-05-30 13:17 (UTC)
==> Validating source files with sha512sums... proton-ge-custom-6.9-GE-2_1.tar.gz ... FAILED supplementary.tar.zst ... Passed
please check source and fix.
Pinned Comments
PedroHLC commented on 2021-07-27 19:39 (UTC)
The "chaotic-aur" co-maintainer is a bot that pulls any merged PR in https://github.com/chaotic-aur/pkgbuild-proton-ge-custom-bin back to this package. So if you guys have contributions or bump versions earlier than the maintainer, please share them as PRs. The commits will keep your authorship.
Happy gaming!