makedeb


proton-ge-custom-bin 8.3-1


A fancy custom distribution of Valves Proton with various patches

Click here to go back to the commit logs for proton-ge-custom-bin.

Commit:


Hash: e49cd710760a2732a3cb775a9460415998738a87

Message: Upgraded to 7.18

Diff


diff --git a/.SRCINFO b/.SRCINFO
index a87d764..a5814fc 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,49 +1,57 @@
-generated-by = makedeb-makepkg
-
-pkgbase = proton-ge-custom-bin
-	pkgdesc = A fancy custom distribution of Valves Proton with various patches
-	pkgver = 7.10
-	pkgrel = 1
-	url = https://github.com/GloriousEggroll/proton-ge-custom
-	changelog = changelog.md
-	arch = x86_64
-	license = BSD
-	license = LGPL
-	license = zlib
-	license = MIT
-	license = MPL
-	license = custom
-	makedepends = patch
-	depends = python3
-	depends = libvulkan1
-	depends = flac
-	depends = speex
-	depends = libgstreamer1.0-0
-	depends = libgudev-1.0-0
-	depends = mpg123
-	depends = libtheora0
-	depends = ffmpeg
-	depends = libopenal1
-	depends = va-driver-all
-	depends = libvdpau1
-	depends = libturbojpeg
-	optdepends = kdialog: KDE splash dialog support
-	optdepends = zenity: GNOME splash dialog support
-	optdepends = steam: use proton with steam like intended
-	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=7.10
-	conflicts = proton-ge-custom-stable-bin
-	conflicts = proton-ge-custom
-	options = !strip
-	options = emptydirs
-	backup = /usr/share/steam/compatibilitytools.d/proton-ge-custom/user_settings.py
-	source = proton-ge-custom-7_10.tar.gz::https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton7-10/GE-Proton7-10.tar.gz
-	source = supplementary.tar.zst
-	sha512sums = 1d105a3df5c3fca115f390232dbed0a8f8180fba50027437ab59640277628d0831b3d5c598a585bc1df4ed127638163e3520524553e51650128b70e1b4e1bb3d
-	sha512sums = a484c4cd2003057cf0cbbd32ca5d0106e97c75434e7bef34b35be8239ad98a482358852e41e85abedf5b24ac4d0375c8fffc7deee81a9b08c7799a398f23773b
-
+generated-by = makedeb
 pkgname = proton-ge-custom-bin
+changelog = changelog.md
+epoch = 1
+pkgbase = proton-ge-custom-bin
+pkgdesc = A fancy custom distribution of Valves Proton with various patches
+pkgrel = 1
+pkgver = 7.18
+url = https://github.com/GloriousEggroll/proton-ge-custom
+arch = x86_64
+backup = /usr/share/steam/compatibilitytools.d/proton-ge-custom/user_settings.py
+conflicts = proton-ge-custom
+depends = python3
+depends = libvulkan1
+depends = flac
+depends = speex
+depends = libgstreamer1.0-0
+depends = libgudev-1.0-0
+depends = mpg123
+depends = libtheora0
+depends = ffmpeg
+depends = libopenal1
+depends = va-driver-all
+depends = libvdpau1
+depends = libturbojpeg
+license = BSD
+license = LGPL
+license = zlib
+license = MIT
+license = MPL
+license = custom
+makedepends = patch
+optdepends = kdialog: KDE splash dialog support
+optdepends = zenity: GNOME splash dialog support
+optdepends = steam: use proton with steam like intended
+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
+options = !strip
+options = emptydirs
+provides = proton
+provides = proton-ge-custom=7.18
+source = proton-ge-custom-7_18.tar.gz::https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton7-18/GE-Proton7-18.tar.gz
+source = user_settings.py
+source = launcher.sh
+sha512sums = a4e383e8dc0f0dcad413a252d7b7ebe0c444902a24c17030280728757429e1bf6e9bb41a1edd3119d566c24d7707b28e0cbf598f24167183e6adbbca99f18d63
+sha512sums = cd70fa35e8565197148c6135628ea4c751c7dc4d7eba6e59cf8a8f2315e79f45e80fc3adce68c8ca2c195a18aaa2a8b2b346e8843b369f3d0ac97e752dbb5399
+sha512sums = 33efb407e47140a72f1024bec67f2d718eec56e13ca76bcc18e03471b2c64f2b04034eb1e20b0da79afb727e59672fd3539fecc8131da88a8a1330f48a1c8424
+makedepends = patch
+optdepends = kdialog: KDE splash dialog support
+optdepends = zenity: GNOME splash dialog support
+optdepends = steam: use proton with steam like intended
+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
diff --git a/PKGBUILD b/PKGBUILD
index 5cfe355..58016e8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,91 +1,82 @@
-# Maintainer:         steiner <daimarstein@pm.me>
+# Maintainer: hiddeninthesand <hiddeninthesand at pm dot me>
+# Contributor:         steiner <daimarstein@pm.me>
+
 ## AUR Maintainer:     barfin <barfin@protonmail.com>
 ## AUR Co-Maintainer:  Jaja <jaja@mailbox.org>
 ## AUR Co-Maintainer:  floriplum <floriplum@mailbox.org>
 
 ## pkginfo
 pkgdesc='A fancy custom distribution of Valves Proton with various patches'
-pkgname=proton-ge-custom-bin
-pkgver=7.10
-pkgrel=1
+pkgname='proton-ge-custom-bin'
+pkgver='7.18'
+pkgrel='1'
+epoch='1'
 arch=('x86_64')
 license=('BSD' 'LGPL' 'zlib' 'MIT' 'MPL' 'custom')
-changelog=changelog.md
+changelog='changelog.md'
 provides=('proton' "proton-ge-custom=${pkgver/_/.}")
-conflicts=('proton-ge-custom-stable-bin' 'proton-ge-custom')
+conflicts=('proton-ge-custom')
 
 ## dependencies
 makedepends=('patch')
-depends=('python3'
-         'libvulkan1'
-         'flac'
-         'speex'
-         'libgstreamer1.0-0'
-         'libgudev-1.0-0'
-         'mpg123'
-         'libtheora0'
-         'ffmpeg'
-         'libopenal1'
-         'va-driver-all'
-         'libvdpau1'
-         'libturbojpeg'
-        )
+depends=('python3' 'libvulkan1' 'flac' 'speex' 'libgstreamer1.0-0' 'libgudev-1.0-0' 'mpg123' 'libtheora0' 'ffmpeg' 'libopenal1' 'va-driver-all' 'libvdpau1' 'libturbojpeg')
 optdepends=('kdialog: KDE splash dialog support'
-            'zenity: GNOME splash dialog support'
-            'steam: use proton with steam like intended'
-            'vulkan-driver: driver to be used by DXVK'
-            'winetricks: protonfixes backend - highly recommended'
-            'wine: support for 32bit prefixes'
-            'xboxdrv: gamepad driver service'
-          )
+	'zenity: GNOME splash dialog support'
+	'steam: use proton with steam like intended'
+	'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)
 
 ## fix naming conventions, matching upstream
-_pkgname=${pkgname//-bin/}
+_pkgname="${pkgname//-bin/}"
 _pkgver="${pkgver//./_}"
 _srcdir="GE-Proton${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
+_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}")
+backup=("/${_protoncfg}")
 
 ## sources
 url='https://github.com/GloriousEggroll/proton-ge-custom'
 source=("${_pkgname}-${_pkgver}.tar.gz::${url}/releases/download/${_srcdir}/${_srcdir}.tar.gz"
-        "supplementary.tar.zst")
-sha512sums=('1d105a3df5c3fca115f390232dbed0a8f8180fba50027437ab59640277628d0831b3d5c598a585bc1df4ed127638163e3520524553e51650128b70e1b4e1bb3d'
-           'a484c4cd2003057cf0cbbd32ca5d0106e97c75434e7bef34b35be8239ad98a482358852e41e85abedf5b24ac4d0375c8fffc7deee81a9b08c7799a398f23773b')
+	'user_settings.py'
+	'launcher.sh')
+sha512sums=('a4e383e8dc0f0dcad413a252d7b7ebe0c444902a24c17030280728757429e1bf6e9bb41a1edd3119d566c24d7707b28e0cbf598f24167183e6adbbca99f18d63'
+            'cd70fa35e8565197148c6135628ea4c751c7dc4d7eba6e59cf8a8f2315e79f45e80fc3adce68c8ca2c195a18aaa2a8b2b346e8843b369f3d0ac97e752dbb5399'
+            '33efb407e47140a72f1024bec67f2d718eec56e13ca76bcc18e03471b2c64f2b04034eb1e20b0da79afb727e59672fd3539fecc8131da88a8a1330f48a1c8424')
 
 build() {
-## patches
-sed -i "s|_proton=echo|_proton=/${_protondir}/proton|" "${srcdir}"/launchers/proton.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*
+	## 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})/"
-## 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}"/configs/user_settings.py "${pkgdir}/${_protoncfg}"
-## executables
-mv "${_srcdir}"/* "${pkgdir}/${_protondir}"
-install --mode=0755 "${srcdir}"/launchers/proton.sh "${pkgdir}/${_execfile}"
+	## create paths
+	install -d "${pkgdir}/${_protondir}/"
+	install -d "${pkgdir}/${_licensedir}/"
+	install -d "${pkgdir}/$(dirname ${_execfile})/"
+	## 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}"
+	## executables
+	mv "${_srcdir}"/* "${pkgdir}/${_protondir}"
+	install --mode=0755 "${srcdir}"/launcher.sh "${pkgdir}/${_execfile}"
 }
diff --git a/launcher.sh b/launcher.sh
new file mode 100755
index 0000000..80ee627
--- /dev/null
+++ b/launcher.sh
@@ -0,0 +1,146 @@
+#!/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 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}
+		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
+		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}}
+		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
+
+	# 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
+			echo "ProtonLauncher[$$] WARN: file ${STEAM_COMPAT_DATA_PATH}/tracked_files missing! Please report to AUR maintainer"
+		fi
+	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_CLIENT_INSTALL_PATH  ${STEAM_COMPAT_CLIENT_INSTALL_PATH:-"Empty or not set."}
+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
+	"${_proton}" "${_mode}" "$1"
+	;;
+*)
+	if ! [ "$1" -ge 0 ] 2>/dev/null; then
+		# start proton with given arguments, compatible with standard proton invokation
+		set_env
+		"${_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
+		"${_proton}" "${_mode}" "${@:2}"
+	fi
+	;;
+esac
diff --git a/supplementary.tar.zst b/supplementary.tar.zst
deleted file mode 100644
index 870a8ea..0000000
Binary files a/supplementary.tar.zst and /dev/null differ
diff --git a/user_settings.py b/user_settings.py
new file mode 100755
index 0000000..4f09d0b
--- /dev/null
+++ b/user_settings.py
@@ -0,0 +1,125 @@
+#Settings here will take effect for all games run in this Proton version.
+
+user_settings = {
+    ###### Proton GE flags ######
+
+    #Disables DX12.
+#    "PROTON_NO_D3D12": "1",
+
+    #Allows Async to be used with DXVK.
+    #This can help with stutter in some games, however it is recommended not to be used with games that have sensitive anti-cheats.
+    #Use at your own risk.
+#    "DXVK_ASYNC": "1",
+
+    #Enable AMD FidelityFX Super Resolution (FSR). Only works in vulkan games (dxvk and vkd3d-proton included).
+#    "WINE_FULLSCREEN_FSR": "1",
+
+    #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",
+}