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
|
pkgbase = yay
|
||||||
pkgdesc = Yet another yogurt. Pacman wrapper and AUR helper written in go.
|
pkgdesc = Yet another yogurt. Pacman wrapper and AUR helper written in go.
|
||||||
pkgver = 12.0.4
|
pkgver = 12.1.2
|
||||||
pkgrel = 1
|
pkgrel = 1
|
||||||
url = https://github.com/Jguer/yay
|
url = https://github.com/Jguer/yay
|
||||||
arch = i686
|
arch = i686
|
||||||
@ -12,13 +12,13 @@ pkgbase = yay
|
|||||||
arch = aarch64
|
arch = aarch64
|
||||||
arch = riscv64
|
arch = riscv64
|
||||||
license = GPL3
|
license = GPL3
|
||||||
makedepends = go>=1.17
|
makedepends = go>=1.19
|
||||||
depends = pacman>5
|
depends = pacman>5
|
||||||
depends = git
|
depends = git
|
||||||
optdepends = sudo: privilege elevation
|
optdepends = sudo: privilege elevation
|
||||||
optdepends = doas: privilege elevation
|
optdepends = doas: privilege elevation
|
||||||
options = !lto
|
options = !lto
|
||||||
source = yay-12.0.4.tar.gz::https://github.com/Jguer/yay/archive/v12.0.4.tar.gz
|
source = yay-12.1.2.tar.gz::https://github.com/Jguer/yay/archive/v12.1.2.tar.gz
|
||||||
sha256sums = 3860685304fce224ba21ee4117e297a8a735c990def160827ff4eb7e0eb09bde
|
sha256sums = 2bd07d36b3781261c54b0ad8c085682612ba30c4392a1154b215e52456d4ca73
|
||||||
|
|
||||||
pkgname = yay
|
pkgname = yay
|
||||||
|
11
yay/PKGBUILD
11
yay/PKGBUILD
@ -1,6 +1,6 @@
|
|||||||
# Maintainer: Jguer <pkgbuilds at jguer.space>
|
# Maintainer: Jguer <pkgbuilds at jguer.space>
|
||||||
pkgname=yay
|
pkgname=yay
|
||||||
pkgver=12.0.4
|
pkgver=12.1.2
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Yet another yogurt. Pacman wrapper and AUR helper written in go."
|
pkgdesc="Yet another yogurt. Pacman wrapper and AUR helper written in go."
|
||||||
arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64' 'riscv64')
|
arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64' 'riscv64')
|
||||||
@ -15,14 +15,9 @@ optdepends=(
|
|||||||
'sudo: privilege elevation'
|
'sudo: privilege elevation'
|
||||||
'doas: 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")
|
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Jguer/yay/archive/v${pkgver}.tar.gz")
|
||||||
sha256sums=('3860685304fce224ba21ee4117e297a8a735c990def160827ff4eb7e0eb09bde')
|
sha256sums=('2bd07d36b3781261c54b0ad8c085682612ba30c4392a1154b215e52456d4ca73')
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
export GOPATH="$srcdir"/gopath
|
export GOPATH="$srcdir"/gopath
|
||||||
|
Loading…
Reference in New Issue
Block a user