Autogenerated commit at 2023-08-11 14:08:45.564732
This commit is contained in:
parent
72da819db4
commit
ffaeaa427f
34
discord-canary-electron-bin/.SRCINFO
Normal file
34
discord-canary-electron-bin/.SRCINFO
Normal file
@ -0,0 +1,34 @@
|
||||
pkgbase = discord-canary-electron-bin
|
||||
pkgdesc = Discord Canary (popular voice + video app) using the system provided electron for increased security and performance
|
||||
pkgver = 0.0.162
|
||||
pkgrel = 3
|
||||
url = https://canary.discordapp.com
|
||||
arch = x86_64
|
||||
license = custom
|
||||
makedepends = asar
|
||||
depends = electron
|
||||
depends = gtk3
|
||||
depends = libnotify
|
||||
depends = libxss
|
||||
depends = glibc
|
||||
depends = alsa-lib
|
||||
depends = nspr
|
||||
depends = nss
|
||||
depends = xdg-utils
|
||||
depends = libcups
|
||||
optdepends = libpulse: Pulseaudio support
|
||||
optdepends = xdg-utils: Open files
|
||||
optdepends = noto-fonts-emoji: Google font for emoji support.
|
||||
optdepends = ttf-symbola: Font for emoji support.
|
||||
optdepends = noto-fonts-cjk: Font for special characters such as /shrug face.
|
||||
provides = discord-canary
|
||||
conflicts = discord-canary
|
||||
options = !strip
|
||||
source = https://dl-canary.discordapp.net/apps/linux/0.0.162/discord-canary-0.0.162.tar.gz
|
||||
source = LICENSE.html::https://discordapp.com/terms
|
||||
source = OSS-LICENSES.html::https://discordapp.com/licenses
|
||||
sha256sums = 79259cc12c38ea12899832f11eda2505980aac84b64274db56861ed04238363b
|
||||
sha256sums = SKIP
|
||||
sha256sums = SKIP
|
||||
|
||||
pkgname = discord-canary-electron-bin
|
84
discord-canary-electron-bin/PKGBUILD
Normal file
84
discord-canary-electron-bin/PKGBUILD
Normal file
@ -0,0 +1,84 @@
|
||||
# Maintained by Kodehawa <david.alejandro.rubio at gmail.com>
|
||||
# Contributor: FivePB <admin@fivepb.me>
|
||||
|
||||
# Original discord_arch_electron PKGBUILD:
|
||||
# Maintained by johnnyapol (arch@johnnyapol.me)
|
||||
|
||||
# Original mantainers below:
|
||||
# Based off the discord community repo PKGBUILD by Filipe Laíns (FFY00) <lains@archlinux.org>
|
||||
# Maintainer: Anna <morganamilo@gmail.com>
|
||||
# Maintainer: E5ten <e5ten.arch@gmail.com>
|
||||
# Maintainer: Parker Reed <parker.l.reed@gmail.com>
|
||||
# Maintainer: Stephanie Wilde-Hobbs <steph@rx14.co.uk>
|
||||
# Contributor: Cayde Dixon <me@cazzar.net>
|
||||
# Contributor: Anthony Anderson <aantony4122@gmail.com>
|
||||
|
||||
pkgname=discord-canary-electron-bin
|
||||
_pkgname=discord-canary
|
||||
pkgver=0.0.162
|
||||
pkgrel=3
|
||||
pkgdesc="Discord Canary (popular voice + video app) using the system provided electron for increased security and performance"
|
||||
arch=('x86_64')
|
||||
provides=('discord-canary')
|
||||
conflicts=('discord-canary')
|
||||
url='https://canary.discordapp.com'
|
||||
license=('custom')
|
||||
options=(!strip)
|
||||
depends=('electron' 'gtk3' 'libnotify' 'libxss' 'glibc' 'alsa-lib' 'nspr' 'nss' 'xdg-utils' 'libcups')
|
||||
makedepends=('asar')
|
||||
optdepends=('libpulse: Pulseaudio support'
|
||||
'xdg-utils: Open files'
|
||||
'noto-fonts-emoji: Google font for emoji support.'
|
||||
'ttf-symbola: Font for emoji support.'
|
||||
'noto-fonts-cjk: Font for special characters such as /shrug face.')
|
||||
source=("https://dl-canary.discordapp.net/apps/linux/${pkgver}/${_pkgname}-${pkgver}.tar.gz"
|
||||
'LICENSE.html::https://discordapp.com/terms'
|
||||
'OSS-LICENSES.html::https://discordapp.com/licenses')
|
||||
# Skip SHA256 of licenses, it fails always for some reason.
|
||||
sha256sums=('79259cc12c38ea12899832f11eda2505980aac84b64274db56861ed04238363b'
|
||||
'SKIP'
|
||||
'SKIP')
|
||||
|
||||
# The tar extracts to a folder called DiscordCanary.
|
||||
_tarname=DiscordCanary
|
||||
|
||||
prepare() {
|
||||
# Extract the downloaded tar.
|
||||
tar xf ${_pkgname}-${pkgver}.tar.gz
|
||||
cd $_tarname
|
||||
|
||||
sed -i "s|Exec=.*|Exec=/usr/bin/$_pkgname|" $_pkgname.desktop
|
||||
echo 'Path=/usr/bin' >> $_pkgname.desktop
|
||||
}
|
||||
|
||||
package() {
|
||||
# Install the app
|
||||
install -d "$pkgdir"/usr/lib/$_pkgname
|
||||
|
||||
# HACKS FOR SYSTEM ELECTRON
|
||||
# Thanks to the discord_arch_electron guy for this ;)
|
||||
# Thanks to https://aur.archlinux.org/packages/discord_arch_electron/#comment-776307 for the less-hacky fix.
|
||||
asar e $_tarname/resources/app.asar $_tarname/resources/app
|
||||
sed -i "s|process.resourcesPath|'/usr/lib/$_pkgname'|" $_tarname/resources/app/app_bootstrap/buildInfo.js
|
||||
sed -i "s|exeDir,|'/usr/share/pixmaps',|" $_tarname/resources/app/app_bootstrap/autoStart/linux.js
|
||||
sed -i "s|module.paths = \[\]|module.paths = \[process.env.HOME + '/.config/discordcanary/$pkgver/modules'\]|" $_tarname/resources/app/app_bootstrap/requireNative.js
|
||||
asar p $_tarname/resources/app $_tarname/resources/app.asar --unpack-dir '**'
|
||||
rm -rf $_tarname/resources/app
|
||||
|
||||
# Copy relevant data
|
||||
cp -r "$_tarname"/resources/* "$pkgdir"/usr/lib/$_pkgname/
|
||||
|
||||
# Create starter script for discord
|
||||
echo "#!/bin/sh" >> "$srcdir"/$_pkgname
|
||||
echo "exec electron /usr/lib/$_pkgname/app.asar \$@" >> "$srcdir"/$_pkgname
|
||||
|
||||
install -d "$pkgdir"/usr/{bin,share/{pixmaps,applications}}
|
||||
install -Dm 755 $_pkgname "$pkgdir"/usr/bin/$_pkgname
|
||||
|
||||
cp $_tarname/discord.png "$pkgdir"/usr/share/pixmaps/$_pkgname.png
|
||||
cp $_tarname/$_pkgname.desktop "$pkgdir"/usr/share/applications/$_pkgname.desktop
|
||||
|
||||
# Licenses
|
||||
install -Dm 644 LICENSE.html "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.html
|
||||
install -Dm 644 OSS-LICENSES.html "$pkgdir"/usr/share/licenses/$pkgname/OSS-LICENSES.html
|
||||
}
|
59
proton-ge-custom-bin/.SRCINFO
Normal file
59
proton-ge-custom-bin/.SRCINFO
Normal file
@ -0,0 +1,59 @@
|
||||
pkgbase = proton-ge-custom-bin
|
||||
pkgdesc = A fancy custom distribution of Valves Proton with various patches
|
||||
pkgver = GE_Proton8_11
|
||||
pkgrel = 1
|
||||
epoch = 1
|
||||
url = https://github.com/GloriousEggroll/proton-ge-custom
|
||||
install = pleasenote.install
|
||||
changelog = changelog.md
|
||||
arch = x86_64
|
||||
license = BSD
|
||||
license = LGPL
|
||||
license = zlib
|
||||
license = MIT
|
||||
license = MPL
|
||||
license = custom
|
||||
depends = python
|
||||
depends = vulkan-icd-loader
|
||||
depends = lib32-openal
|
||||
depends = lib32-vkd3d
|
||||
depends = lib32-libva
|
||||
depends = ffmpeg4.4
|
||||
depends = lib32-speex
|
||||
depends = lib32-libtheora
|
||||
depends = lib32-libvdpau
|
||||
depends = gst-plugins-bad-libs
|
||||
depends = lib32-gst-plugins-base-libs
|
||||
depends = libjpeg6-turbo
|
||||
depends = graphene
|
||||
depends = lib32-libjpeg6-turbo
|
||||
depends = lib32-libgudev
|
||||
depends = lib32-mpg123
|
||||
depends = libsoup
|
||||
depends = lib32-openssl-1.1
|
||||
depends = lib32-libusb
|
||||
optdepends = kdialog: KDE splash dialog support
|
||||
optdepends = zenity: GNOME splash dialog support
|
||||
optdepends = python-kivy: splash dialog support (big picture mode)
|
||||
optdepends = steam: use proton with steam like intended
|
||||
optdepends = lib32-vulkan-icd-loader: dxvk dependency for 32bit prefixes
|
||||
optdepends = vulkan-driver: driver to be used by dxvk
|
||||
optdepends = winetricks: protonfixes backend - highly recommended
|
||||
optdepends = wine: support for 32bit prefixes
|
||||
optdepends = xboxdrv: gamepad driver service
|
||||
provides = proton
|
||||
provides = proton-ge-custom=GE.Proton8_11
|
||||
conflicts = proton-ge-custom
|
||||
options = !strip
|
||||
options = emptydirs
|
||||
backup = usr/share/steam/compatibilitytools.d/proton-ge-custom/user_settings.py
|
||||
source = GE-Proton8-11_1.tar.gz::https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton8-11/GE-Proton8-11.tar.gz
|
||||
source = user_settings.py
|
||||
source = launcher.sh
|
||||
source = pam_limits.conf
|
||||
sha512sums = 0bb0359922436b81096bf00c85453587095396e8a2ecdb5d41eabc17784277459c1db312bb52339f292395cc5fbe4cebe6db5dd32eb9748829097078a16138d1
|
||||
sha512sums = babe2a461118bef6a777656a10bb89abeee2c8c3ed4285eb1b99f5ba517b779f18372d1d93ed2cce63b0d8111cf0b08e14a0c92435680239f6936783c3e4cbc5
|
||||
sha512sums = 78ede6d50f9c43407da511c8b37dcf60aae2ddbd461c0081f0d0ce3de08ace3a84dee86e9253acbac829b47c5818ef4e1a354ccb05feaa9853ce279dc3f903fd
|
||||
sha512sums = c64898bd41801470925fb0efdcf7d247e5cb476fb4745f83ceeccf12041474e5c309fb1c2ac1483b419d12b4ade7668c046bebded4e3bf4708737ee505b080a1
|
||||
|
||||
pkgname = proton-ge-custom-bin
|
113
proton-ge-custom-bin/PKGBUILD
Normal file
113
proton-ge-custom-bin/PKGBUILD
Normal file
@ -0,0 +1,113 @@
|
||||
## Maintainer: Jaja <jaja@mailbox.org>
|
||||
## Co-Maintainer: floriplum <floriplum@mailbox.org>
|
||||
## Co-Maintainer: various people submitting to 'chaotic-aur' repo
|
||||
## Credits: barfin (aka RogueGirl) <barfin@protonmail.com>
|
||||
|
||||
## Linted using:
|
||||
## $ shellcheck PKGBUILD -e SC2034,SC2148,SC2154
|
||||
## Formated using:
|
||||
## $ shfmt -w PKGBUILD
|
||||
|
||||
## pkginfo
|
||||
pkgdesc='A fancy custom distribution of Valves Proton with various patches'
|
||||
pkgname=proton-ge-custom-bin
|
||||
pkgver=GE_Proton8_11
|
||||
pkgrel=1
|
||||
epoch=1
|
||||
arch=('x86_64')
|
||||
license=('BSD' 'LGPL' 'zlib' 'MIT' 'MPL' 'custom')
|
||||
changelog=changelog.md
|
||||
provides=('proton' "proton-ge-custom=${pkgver/_/.}")
|
||||
conflicts=('proton-ge-custom')
|
||||
|
||||
## dependencies
|
||||
depends=('python'
|
||||
'vulkan-icd-loader'
|
||||
'lib32-openal'
|
||||
'lib32-vkd3d'
|
||||
# libav support #
|
||||
'lib32-libva'
|
||||
'ffmpeg4.4'
|
||||
'lib32-speex'
|
||||
'lib32-libtheora'
|
||||
'lib32-libvdpau'
|
||||
# gstreamer support #
|
||||
'gst-plugins-bad-libs'
|
||||
'lib32-gst-plugins-base-libs'
|
||||
'libjpeg6-turbo'
|
||||
'graphene'
|
||||
'lib32-libjpeg6-turbo'
|
||||
'lib32-libgudev'
|
||||
'lib32-mpg123'
|
||||
'libsoup'
|
||||
# other #
|
||||
'lib32-openssl-1.1'
|
||||
'lib32-libusb')
|
||||
optdepends=('kdialog: KDE splash dialog support'
|
||||
'zenity: GNOME splash dialog support'
|
||||
'python-kivy: splash dialog support (big picture mode)'
|
||||
'steam: use proton with steam like intended'
|
||||
'lib32-vulkan-icd-loader: dxvk dependency for 32bit prefixes'
|
||||
'vulkan-driver: driver to be used by dxvk'
|
||||
'winetricks: protonfixes backend - highly recommended'
|
||||
'wine: support for 32bit prefixes'
|
||||
'xboxdrv: gamepad driver service')
|
||||
|
||||
## makepkg options
|
||||
options=(!strip emptydirs)
|
||||
install=pleasenote.install
|
||||
|
||||
## fix naming conventions, matching upstream
|
||||
_pkgname=${pkgname//-bin/}
|
||||
_pkgver=${pkgver//_/-}
|
||||
_srcdir=${_pkgver}
|
||||
|
||||
## paths and files
|
||||
_protondir=usr/share/steam/compatibilitytools.d/${_pkgname}
|
||||
_licensedir=usr/share/licenses/${pkgname}
|
||||
_execfile=usr/bin/proton
|
||||
_protoncfg=${_protondir}/user_settings.py
|
||||
|
||||
## user edited files to backup
|
||||
backup=("${_protoncfg}")
|
||||
|
||||
## sources
|
||||
url='https://github.com/GloriousEggroll/proton-ge-custom'
|
||||
source=("${_pkgver}_${pkgrel}.tar.gz::${url}/releases/download/${_pkgver}/${_pkgver}.tar.gz"
|
||||
'user_settings.py'
|
||||
'launcher.sh'
|
||||
'pam_limits.conf')
|
||||
sha512sums=('0bb0359922436b81096bf00c85453587095396e8a2ecdb5d41eabc17784277459c1db312bb52339f292395cc5fbe4cebe6db5dd32eb9748829097078a16138d1'
|
||||
'babe2a461118bef6a777656a10bb89abeee2c8c3ed4285eb1b99f5ba517b779f18372d1d93ed2cce63b0d8111cf0b08e14a0c92435680239f6936783c3e4cbc5'
|
||||
'78ede6d50f9c43407da511c8b37dcf60aae2ddbd461c0081f0d0ce3de08ace3a84dee86e9253acbac829b47c5818ef4e1a354ccb05feaa9853ce279dc3f903fd'
|
||||
'c64898bd41801470925fb0efdcf7d247e5cb476fb4745f83ceeccf12041474e5c309fb1c2ac1483b419d12b4ade7668c046bebded4e3bf4708737ee505b080a1')
|
||||
|
||||
build() {
|
||||
## patches
|
||||
sed -i "s|_proton=echo|_proton=/${_protondir}/proton|" "${srcdir}"/launcher.sh
|
||||
sed -i -r 's|"GE-Proton.*"|"Proton-GE"|' "${_srcdir}"/compatibilitytool.vdf
|
||||
## remove artifacts
|
||||
rm "${_srcdir}"/protonfixes/*.tar.xz
|
||||
rm -rf "${_srcdir}"/protonfixes/.git*
|
||||
## fixes from namcap inspection
|
||||
strip --preserve-dates --strip-unneeded "${_srcdir}"/files/bin/wine*
|
||||
}
|
||||
|
||||
package() {
|
||||
## create paths
|
||||
install -d "${pkgdir}/${_protondir}/"
|
||||
install -d "${pkgdir}/${_licensedir}/"
|
||||
install -d "${pkgdir}/$(dirname ${_execfile})/"
|
||||
install -d "${pkgdir}/etc/security/limits.d/"
|
||||
## licenses
|
||||
mv "${_srcdir}/LICENSE" "${pkgdir}/${_licensedir}/license"
|
||||
mv "${_srcdir}/LICENSE.OFL" "${pkgdir}/${_licensedir}/license_OFL"
|
||||
mv "${_srcdir}/PATENTS.AV1" "${pkgdir}/${_licensedir}/license_AV1"
|
||||
mv "${_srcdir}/protonfixes/LICENSE" "${pkgdir}/${_licensedir}/license_protonfixes"
|
||||
## config files
|
||||
install --mode=0775 --group=50 "${srcdir}"/user_settings.py "${pkgdir}/${_protoncfg}"
|
||||
install --mode=0644 "${srcdir}"/pam_limits.conf "${pkgdir}"/etc/security/limits.d/10-games.conf
|
||||
## executables
|
||||
mv "${_srcdir}"/* "${pkgdir}/${_protondir}"
|
||||
install --mode=0755 "${srcdir}"/launcher.sh "${pkgdir}/${_execfile}"
|
||||
}
|
202
proton-ge-custom-bin/launcher.sh
Executable file
202
proton-ge-custom-bin/launcher.sh
Executable file
@ -0,0 +1,202 @@
|
||||
#!/bin/bash
|
||||
|
||||
## configuration
|
||||
# proton executable
|
||||
_proton=echo
|
||||
# default prefix dir if STEAM_COMPAT_DATA_PATH not set
|
||||
_pfx=${XDG_DATA_HOME:-~/.local/share}/proton-pfx
|
||||
# default dxvk state cache path if not set, could be compatible with dxvk-cache-pool application
|
||||
_cachepath=${XDG_CACHE_HOME:-~/.cache}/dxvk-cache-pool
|
||||
# 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
|
||||
# default steam install path (don't worry, you still don't need steam)
|
||||
_steam=${XDG_DATA_HOME:-~/.local/share}/Steam
|
||||
|
||||
## functions
|
||||
set_env() {
|
||||
# Proton now cares about steam install - it wants to update the tracked files according to installed steam.
|
||||
# While this makes no sense in standalone, we need to set *some* path even if does not exists.
|
||||
if [ -z ${STEAM_COMPAT_CLIENT_INSTALL_PATH+x} ]; then
|
||||
export STEAM_COMPAT_CLIENT_INSTALL_PATH=${_steam}
|
||||
>&2 echo "ProtonLauncher[$$] INFO: empty STEAM_COMPAT_CLIENT_INSTALL_PATH set to ${STEAM_COMPAT_CLIENT_INSTALL_PATH}"
|
||||
fi
|
||||
if ! [ -d "${STEAM_COMPAT_CLIENT_INSTALL_PATH}" ]; then
|
||||
>&2 echo "ProtonLauncher[$$] WARN: directory ${STEAM_COMPAT_CLIENT_INSTALL_PATH} does not exist"
|
||||
fi
|
||||
|
||||
# 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}}
|
||||
>&2 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}
|
||||
>&2 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
|
||||
>&2 echo "ProtonLauncher[$$] INFO: directory ${STEAM_COMPAT_DATA_PATH} created"
|
||||
fi
|
||||
|
||||
# DXVK state cache path not given, we will use a default.
|
||||
if [ -z ${DXVK_STATE_CACHE_PATH+x} ]; then
|
||||
export DXVK_STATE_CACHE_PATH=${_cachepath}
|
||||
>&2 echo "ProtonLauncher[$$] INFO: empty DXVK_STATE_CACHE_PATH set to ${_cachepath}"
|
||||
fi
|
||||
# If the state cache path does not exist yet, we will create it.
|
||||
if ! [ -d "${DXVK_STATE_CACHE_PATH}" ]; then
|
||||
install -d "${DXVK_STATE_CACHE_PATH}" || exit 1
|
||||
>&2 echo "ProtonLauncher[$$] INFO: directory ${DXVK_STATE_CACHE_PATH} created"
|
||||
fi
|
||||
|
||||
# Placeholder in case we need the workaround again when tracked_files missing
|
||||
if ! [ -f "${STEAM_COMPAT_DATA_PATH}"/tracked_files ]; then
|
||||
if [ -f "${STEAM_COMPAT_DATA_PATH}"/version ]; then
|
||||
>&2 echo "ProtonLauncher[$$] WARN: file ${STEAM_COMPAT_DATA_PATH}/tracked_files missing! Please report to AUR maintainer"
|
||||
fi
|
||||
fi
|
||||
|
||||
# argument -e was provided, so summarize the relevant env we set so far.
|
||||
if [ "${_printenv}" == "true" ] 2>/dev/null; then print_env; fi
|
||||
}
|
||||
|
||||
print_usage() {
|
||||
cat <<EOF
|
||||
|
||||
USAGE: proton [--environment|-e] executable.exe
|
||||
proton [--environment|-e] [mode] executable.exe
|
||||
proton [--environment|-e] [appid] executable.exe
|
||||
proton [--help|-h]
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
print_help() {
|
||||
print_usage
|
||||
cat <<EOF
|
||||
ENV: STEAM_COMPAT_DATA_PATH
|
||||
STEAM_COMPAT_CLIENT_INSTALL_PATH
|
||||
DXVK_STATE_CACHE_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}".
|
||||
|
||||
Use other invocations as stated with USAGE: and/or modify behavior with
|
||||
environment variables as described below.
|
||||
|
||||
_mode_
|
||||
|
||||
You can change the mode of operation by specifying it as the first argument.
|
||||
Possible values are: waitforexitandrun, run, getcompatpath, getnativepath
|
||||
|
||||
_appid_
|
||||
|
||||
Protonfixes (included by proton-ge) 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, which is used in that case. If the env SteamAppId (or SteamGameId)
|
||||
is set, it takes precedence as the AppId used by protonfixes.
|
||||
|
||||
As proton itself needs the env STEAM_COMPAT_DATA_PATH set, the default prefix
|
||||
${_pfx}/${_appid} is used when it is not set or empty.
|
||||
In that case, an AppId given by env SteamAppId or as the first argument will
|
||||
alter this path accordingly.
|
||||
If STEAM_COMPAT_DATA_PATH is set, it will not be modified by a provided AppId.
|
||||
|
||||
Provide "appid" as the first argument to change the AppId regardless of
|
||||
the env vars (force). In this case, the mode defaults to "${_mode}".
|
||||
Useable for "appid": see https://steamdb.info/apps/
|
||||
|
||||
_other_
|
||||
|
||||
The env STEAM_COMPAT_CLIENT_INSTALL_PATH is set to "${_steam}" if not given,
|
||||
because proton cares. It has no effect if proton is not started from
|
||||
within steam anyway, therefore the path does not have to be actually resolvable.
|
||||
|
||||
DXVK creates cache files right next to the executable if the env
|
||||
DXVK_STATE_CACHE_PATH is missing.
|
||||
This launcher sets it to "${_cachepath}"
|
||||
if not provided. It makes sharing of those files as well as read-only game
|
||||
folders possible. Also, the cache survives remove/reinstall of the game.
|
||||
|
||||
You may share oder download caches for example from here:
|
||||
https://github.com/begin-theadventure/dxvk-caches/
|
||||
|
||||
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
|
||||
if you see fit.
|
||||
|
||||
To print the current env when this script is called, use the "-e" switch.
|
||||
|
||||
_example invocations_
|
||||
|
||||
# "${_mode}" winecfg in prefix ${_pfx}/${_appid}
|
||||
$ proton winecfg
|
||||
|
||||
# "${_mode}" winecfg in prefix ${_pfx}/${_appid}, dump all env that have been set
|
||||
$ proton -e winecfg
|
||||
|
||||
# "${_mode}" winecfg in prefix ${_pfx}/17330, matching protonfixes for crysis are run
|
||||
$ proton 17300 winecfg
|
||||
|
||||
# returns native path in ${_pfx}/${_appid}
|
||||
$ proton getnativepath "C:\Windows"
|
||||
|
||||
# "${_mode}" winecfg in prefix ~/myfolder/17300, matching protonfixes for crysis are run
|
||||
$ env STEAM_COMPAT_DATA_PATH=~/myfolder/17300 proton winecfg
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
print_env() {
|
||||
cat <<EOF
|
||||
|
||||
Current ENVIRONMENT variables:
|
||||
|
||||
STEAM_COMPAT_CLIENT_INSTALL_PATH ${STEAM_COMPAT_CLIENT_INSTALL_PATH:-"Empty or not set."}
|
||||
STEAM_COMPAT_DATA_PATH ${STEAM_COMPAT_DATA_PATH:-"Empty or not set."}
|
||||
DXVK_STATE_CACHE_PATH ${DXVK_STATE_CACHE_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
|
||||
"${_proton}" "${_mode}" "$1"
|
||||
;;
|
||||
*)
|
||||
if ! [ "$1" -ge 0 ] 2>/dev/null; then
|
||||
# start proton with given arguments, compatible with standard proton invocation
|
||||
set_env
|
||||
"${_proton}" "${@}"
|
||||
else
|
||||
# first arg is a positive signed int, thus the appid
|
||||
export SteamAppId="$1"
|
||||
#export SteamGameId="$1"
|
||||
>&2 echo "ProtonLauncher[$$] INFO: forcing SteamAppId to $1"
|
||||
set_env
|
||||
"${_proton}" "${_mode}" "${@:2}"
|
||||
fi
|
||||
;;
|
||||
esac
|
1
proton-ge-custom-bin/pam_limits.conf
Normal file
1
proton-ge-custom-bin/pam_limits.conf
Normal file
@ -0,0 +1 @@
|
||||
@games - nice -10
|
13
proton-ge-custom-bin/pleasenote.install
Normal file
13
proton-ge-custom-bin/pleasenote.install
Normal file
@ -0,0 +1,13 @@
|
||||
post_install() {
|
||||
## Wine wants to adjust niceness of a process up to -10. It will complain if RLIMIT_NICE will not allow this.
|
||||
## Since niceness is limited to 0 by default on arch, we make this work with pam login by setting nice limit to -10 for users in group games.
|
||||
## See file /etc/security/limits.d/10-games.conf.
|
||||
echo ""
|
||||
echo "The wine executable used by proton can automatically set the niceness of a process;"
|
||||
echo "Consider adding yourself to the games group to make this work by issuing: usermod -a -G games"
|
||||
echo ""
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install
|
||||
}
|
127
proton-ge-custom-bin/user_settings.py
Executable file
127
proton-ge-custom-bin/user_settings.py
Executable file
@ -0,0 +1,127 @@
|
||||
#Settings here will take effect for all games run with this Proton version.
|
||||
|
||||
user_settings = {
|
||||
###### Proton GE flags ######
|
||||
|
||||
#Disables DX12.
|
||||
# "PROTON_NO_D3D12": "1",
|
||||
|
||||
#Disable AMD FidelityFX Super Resolution (FSR), as it is enabled by default. FSR only works in vulkan games (dxvk and vkd3d-proton included).
|
||||
# "WINE_FULLSCREEN_FSR": "0",
|
||||
|
||||
#By default, the "balanced" resolution option for FSR is added to the resolution list if a mode is not specified.
|
||||
#possible modes : ultra, quality, balanced, performance.
|
||||
# "WINE_FULLSCREEN_FSR_MODE": "performance",
|
||||
|
||||
#Add "widthxheight" to the in-game resolution list. Example resolution: 1234x4321
|
||||
# "WINE_FULLSCREEN_FSR_CUSTOM_MODE": "1234x4321"
|
||||
|
||||
#The default sharpening of 5 is enough without needing modification, but can be changed with 0-5 if wanted.
|
||||
#0 is the maximum sharpness, higher values mean less sharpening.
|
||||
#2 is the AMD recommended default and is set by proton-ge.
|
||||
# "WINE_FULLSCREEN_FSR_STRENGTH": "2",
|
||||
|
||||
###### Proton flags ######
|
||||
|
||||
#Convenience method for dumping a useful debug log to $PROTON_LOG_DIR/steam-$APPID.log
|
||||
# "PROTON_LOG": "1",
|
||||
|
||||
#Log directory can be overridden with $PROTON_LOG_DIR.
|
||||
# "PROTON_LOG_DIR": "~/",
|
||||
|
||||
#When running a game, Proton will write some useful debug scripts for that game into $PROTON_DEBUG_DIR/proton_$USER/.
|
||||
# "PROTON_DUMP_DEBUG_COMMANDS": "1",
|
||||
|
||||
#Root directory for the Proton debug scripts, /tmp by default.
|
||||
# "PROTON_DEBUG_DIR": "1",
|
||||
|
||||
#Use OpenGL-based wined3d for d3d11, d3d10, and d3d9 instead of Vulkan-based DXVK
|
||||
# "PROTON_USE_WINED3D": "1",
|
||||
|
||||
#Disable d3d11.dll, for d3d11 games which can fall back to and run better with d3d9.
|
||||
# "PROTON_NO_D3D11": "1",
|
||||
|
||||
#DDisable d3d10.dll and dxgi.dll, for d3d10 games which can fall back to and run better with d3d9.
|
||||
# "PROTON_NO_D3D10": "1",
|
||||
|
||||
#Disable eventfd-based in-process synchronization primitives
|
||||
# "PROTON_NO_ESYNC": "1",
|
||||
|
||||
#Disable futex-based in-process synchronization primitives
|
||||
# "PROTON_NO_FSYNC": "1",
|
||||
|
||||
#Enable NVIDIA's NVAPI GPU support library.
|
||||
# "PROTON_ENABLE_NVAPI": "1",
|
||||
|
||||
#Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
|
||||
# "PROTON_FORCE_LARGE_ADDRESS_AWARE": "0",
|
||||
|
||||
#Delay freeing some memory, to work around application use-after-free bugs.
|
||||
# "PROTON_HEAP_DELAY_FREE": "1",
|
||||
|
||||
#Create an S: drive which points to the Steam Library which contains the game.
|
||||
# "PROTON_SET_GAME_DRIVE": "1",
|
||||
|
||||
#Create an S: drive which points to the Steam Library which contains the game.
|
||||
# "PROTON_OLD_GL_STRING": "1",
|
||||
|
||||
#Force Nvidia GPUs to always be reported as AMD GPUs.
|
||||
#Some games require this if they depend on Windows-only Nvidia driver functionality.
|
||||
#See also DXVK's nvapiHack config, which only affects reporting from Direct3D.
|
||||
# "PROTON_HIDE_NVIDIA_GPU": "1",
|
||||
|
||||
#Disable support for memory write watches in ntdll.
|
||||
#This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches.
|
||||
#This improves performance for some very specific games (e.g. CoreRT-based games).
|
||||
# "PROTON_NO_WRITE_WATCH": "1",
|
||||
|
||||
###### DXVK flags ######
|
||||
|
||||
#DXVK debug logging; none|error|warn|info|debug
|
||||
# "DXVK_LOG_LEVEL": "info",
|
||||
|
||||
#DXVK debug log; Set to none to disable log file creation entirely, without disabling logging.
|
||||
# "DXVK_LOG_PATH": "~/",
|
||||
|
||||
#Enables use of the VK_EXT_debug_utils extension for translating performance event markers.
|
||||
# "DXVK_PERF_EVENTS": "1",
|
||||
|
||||
#Enables use of the VK_EXT_debug_utils extension for translating performance event markers.
|
||||
# "DXVK_CONFIG_FILE": "~/.config/dxvk.conf",
|
||||
|
||||
#Enable DXVK's HUD; devinfo|fps|frametimes|submissions|drawcalls|pipelines|memory|gpuload|version|api|compiler|samplers|scale=x
|
||||
# "DXVK_HUD": "devinfo,fps",
|
||||
|
||||
#Limit the frame rate. A value of 0 uncaps the frame rate, while any positive value will limit rendering to the given number of frames per second.
|
||||
# "DXVK_FRAME_RATE": "60",
|
||||
|
||||
#DXVK pipeline cache; "0" disable|"/some/directory" Defaults to the current working directory of the application.
|
||||
# "DXVK_STATE_CACHE": "0",
|
||||
|
||||
#Selects devices with a matching Vulkan device name, which can be retrieved with tools such as vulkaninfo.
|
||||
# "DXVK_FILTER_DEVICE_NAME": "Device Name",
|
||||
|
||||
#Vulkan debug layers. Requires the Vulkan SDK to be installed.
|
||||
# "VK_INSTANCE_LAYERS": "VK_LAYER_KHRONOS_validation",
|
||||
|
||||
###### Wine flags ######
|
||||
|
||||
#Enable integer scaling mode, to give sharp pixels when upscaling.
|
||||
# "WINE_FULLSCREEN_INTEGER_SCALING": "1",
|
||||
|
||||
#Wine debug logging
|
||||
# "WINEDEBUG": "+timestamp,+pid,+seh,+unwind,+debugstr,+loaddll,+mscoree",
|
||||
|
||||
#vkd3d debug logging
|
||||
# "VKD3D_DEBUG": "warn",
|
||||
|
||||
#wine-mono debug logging (Wine's .NET replacement)
|
||||
# "WINE_MONO_TRACE": "E:System.NotImplementedException",
|
||||
# "MONO_LOG_LEVEL": "info",
|
||||
|
||||
#general purpose media logging
|
||||
# "GST_DEBUG": "4",
|
||||
#or, verbose converter logging (may impact playback performance):
|
||||
# "GST_DEBUG": "4,WINE:7,protonaudioconverter:7,protonaudioconverterbin:7,protonvideoconverter:7",
|
||||
# "GST_DEBUG_NO_COLOR": "1",
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
pkgbase = yay
|
||||
pkgdesc = Yet another yogurt. Pacman wrapper and AUR helper written in go.
|
||||
pkgver = 12.0.4
|
||||
pkgver = 12.1.2
|
||||
pkgrel = 1
|
||||
url = https://github.com/Jguer/yay
|
||||
arch = i686
|
||||
@ -12,13 +12,13 @@ pkgbase = yay
|
||||
arch = aarch64
|
||||
arch = riscv64
|
||||
license = GPL3
|
||||
makedepends = go>=1.17
|
||||
makedepends = go>=1.19
|
||||
depends = pacman>5
|
||||
depends = git
|
||||
optdepends = sudo: privilege elevation
|
||||
optdepends = doas: privilege elevation
|
||||
options = !lto
|
||||
source = yay-12.0.4.tar.gz::https://github.com/Jguer/yay/archive/v12.0.4.tar.gz
|
||||
sha256sums = 3860685304fce224ba21ee4117e297a8a735c990def160827ff4eb7e0eb09bde
|
||||
source = yay-12.1.2.tar.gz::https://github.com/Jguer/yay/archive/v12.1.2.tar.gz
|
||||
sha256sums = 2bd07d36b3781261c54b0ad8c085682612ba30c4392a1154b215e52456d4ca73
|
||||
|
||||
pkgname = yay
|
||||
|
11
yay/PKGBUILD
11
yay/PKGBUILD
@ -1,6 +1,6 @@
|
||||
# Maintainer: Jguer <pkgbuilds at jguer.space>
|
||||
pkgname=yay
|
||||
pkgver=12.0.4
|
||||
pkgver=12.1.2
|
||||
pkgrel=1
|
||||
pkgdesc="Yet another yogurt. Pacman wrapper and AUR helper written in go."
|
||||
arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64' 'riscv64')
|
||||
@ -15,14 +15,9 @@ optdepends=(
|
||||
'sudo: privilege elevation'
|
||||
'doas: privilege elevation'
|
||||
)
|
||||
makedepends=('go>=1.17')
|
||||
makedepends=('go>=1.19')
|
||||
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Jguer/yay/archive/v${pkgver}.tar.gz")
|
||||
sha256sums=('3860685304fce224ba21ee4117e297a8a735c990def160827ff4eb7e0eb09bde')
|
||||
|
||||
# With pacman 6 arriving a rebuild of yay will be necessary, if you upgrade pacman without upgrading yay at the same time, yay will not run after.
|
||||
# I'm bumping the pkgrel so it shows up on the upgrade list (and will do so when pacman transitions from staging->core)
|
||||
# In case you end up with a non-functioning yay after the upgrade follow the
|
||||
# instructions on the github page
|
||||
sha256sums=('2bd07d36b3781261c54b0ad8c085682612ba30c4392a1154b215e52456d4ca73')
|
||||
|
||||
build() {
|
||||
export GOPATH="$srcdir"/gopath
|
||||
|
Loading…
Reference in New Issue
Block a user