Compare commits
14 Commits
a69fdcbad2
...
57fcfa605e
Author | SHA1 | Date | |
---|---|---|---|
|
57fcfa605e | ||
|
97077fa67a | ||
|
14d49fd0bd | ||
|
fcc171ba59 | ||
|
1eccf55f87 | ||
|
b7464e20d1 | ||
|
68252ee565 | ||
|
3a07d63ccd | ||
|
46aaca1ee1 | ||
|
d21849c121 | ||
|
1d2ac06f24 | ||
|
f9b8fd069c | ||
|
b354de779c | ||
|
7132e0f00e |
@ -2,6 +2,15 @@ You can help us in the development of the project on the website: https://linux-
|
||||
----------------------------------------
|
||||
Changelog:
|
||||
|
||||
###Scripts version 2390### / Date: 23.02.2025 / Download update size: 4 megabytes
|
||||
* added information that you can not use FAKE_DLSS_3 in multiplayer games
|
||||
* added individual dxvk.conf file using FAKE_DLSS_3 to replace the video card in games on Nvidia RTX 4090
|
||||
* added the ability to download "Cachyos Proton" (thanks Boria138)
|
||||
* improved PortProton integration functions with Steam (thanks Alex2844):
|
||||
- added the ability to use SteamAppId instead of the name of the game that will be added to Steam. Thus, Steam will tighten the layouts of gamepads for games. For USE_STEAMAPPID_AS_NAME (addNonSteamGame) variable is used
|
||||
- added check "StateFlags" and the presence of a section "SharedDepots" in the manifest (listInstalledSteamGames)
|
||||
- added caching of the list of applications received from the Steam server
|
||||
|
||||
###Scripts version 2389### / Date: 20.02.2025 / Download update size: 4 megabytes
|
||||
* added setting USE_FAKE_DLSS_3 to apply Framegen mods to games by replacing DLSS DLL with FSR3 DLL
|
||||
|
||||
|
@ -2,6 +2,15 @@
|
||||
-----------------------------------------
|
||||
История изменений:
|
||||
|
||||
###Scripts version 2390### / Дата: 23.02.2025 / Размер скачиваемого обновления: 4 мегабайта
|
||||
* добавлена информация о том что нельзя использовать FAKE_DLSS_3 в мультиплеерных играх
|
||||
* добавлен индивидуальный dxvk.conf файл при использовании FAKE_DLSS_3 для подмены определения видеокарты в играх на NVIDIA RTX 4090
|
||||
* добавлена возможность скачивания "CachyOS Proton" (спасибо Boria138)
|
||||
* улучшены функции интеграции PortProton со Steam (спасибо alex2844):
|
||||
- добавлена возможность использовать "SteamAppId" вместо названия игры которое будет добавлено в стим. Тем самым стим будет подтягивать раскладки геймпадов для игр. Для активации используется переменная USE_STEAMAPPID_AS_NAME (addNonSteamGame)
|
||||
- добавлена проверка "StateFlags" и наличие секции "SharedDepots" в манифесте (listInstalledSteamGames)
|
||||
- добавлено кеширование списка приложений получаемых с сервера steam. Так же поиск по этому списку теперь регистронезависимый (getSteamId)
|
||||
|
||||
###Scripts version 2389### / Дата: 20.02.2025 / Размер скачиваемого обновления: 4 мегабайта
|
||||
* добавлена настройка USE_FAKE_DLSS_3 которая включает подмену DLSS 3 (с возможностью генерации кадров) в FSR3
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-02-20 00:55+0300\n"
|
||||
"POT-Creation-Date: 2025-02-22 14:55+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -522,8 +522,8 @@ msgstr ""
|
||||
msgid "Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (Decky-"
|
||||
"Framegen)"
|
||||
msgid "Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based "
|
||||
"on Decky-Framegen) Do not use in multiplayer games"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable Easy Anti-Cheat and BattlEye Anti-Cheat runtimes (required if "
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-02-20 00:55+0300\n"
|
||||
"POT-Creation-Date: 2025-02-22 14:55+0300\n"
|
||||
"PO-Revision-Date: 2024-11-13 08:18+0500\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
@ -610,8 +610,8 @@ msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (Decky-"
|
||||
"Framegen)"
|
||||
"Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based on "
|
||||
"Decky-Framegen) Do not use in multiplayer games"
|
||||
msgstr ""
|
||||
"Habilitar el traductor de DLSS en FSR 2 en juegos DirectX 12 (CyberFSR2)"
|
||||
|
||||
|
@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-02-20 00:55+0300\n"
|
||||
"PO-Revision-Date: 2025-02-20 00:59+0300\n"
|
||||
"POT-Creation-Date: 2025-02-22 14:55+0300\n"
|
||||
"PO-Revision-Date: 2025-02-22 14:56+0300\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: ru_RU\n"
|
||||
@ -627,12 +627,12 @@ msgstr ""
|
||||
"Позволяет задействовать FSR 2 в играх с поддержкой DLSS"
|
||||
|
||||
msgid ""
|
||||
"Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (Decky-"
|
||||
"Framegen)"
|
||||
"Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based on "
|
||||
"Decky-Framegen) Do not use in multiplayer games"
|
||||
msgstr ""
|
||||
"Включить трансляцию DLSS 3 с генерацией кадров в FSR 3 в играх на DirectX 12 "
|
||||
"(Decky-Framegen). Клавиша Insert открывает окно настроек OptiScaler внутри "
|
||||
"игры."
|
||||
"игры. Не используйте в мультиплеерных играх"
|
||||
|
||||
msgid ""
|
||||
"Enable Easy Anti-Cheat and BattlEye Anti-Cheat runtimes (required if game "
|
||||
|
@ -100,23 +100,30 @@ getAppId() {
|
||||
getSteamId() {
|
||||
unset SteamAppId
|
||||
local cache_file="${PORT_WINE_TMP_PATH:-/tmp}/steamid_cache.json"
|
||||
local applist_cache_file="${PORT_WINE_TMP_PATH:-/tmp}/steamapplist_cache.json"
|
||||
[[ -n "${1:-}" ]] && NOSTAPPNAME="$1"
|
||||
if [[ -z "${SteamIds:-}" ]] && [[ -f "${cache_file}" ]]; then
|
||||
SteamIds=$(<"${cache_file}")
|
||||
fi
|
||||
if [[ -n "${SteamIds:-}" ]] && jq -e --arg key "$NOSTAPPNAME" 'has($key)' <<< "${SteamIds}" > /dev/null; then
|
||||
if [[ -n "${SteamIds:-}" ]] && jq -e --arg key "${NOSTAPPNAME}" 'has($key)' <<< "${SteamIds}" > /dev/null; then
|
||||
SteamAppId=$(jq -r --arg key "${NOSTAPPNAME}" '.[$key]' <<< "${SteamIds}")
|
||||
else
|
||||
if [[ -n "${1:-}" ]] && [[ "${USE_STEABGRIDDB:-1}" == "1" ]]; then
|
||||
if [[ -n "${1:-}" ]] && [[ "${USE_STEAMGRIDDB:-1}" == "1" ]]; then
|
||||
getSteamGridDBId "${NOSTAPPNAME}" > /dev/null
|
||||
fi
|
||||
if [[ $SteamGridDBTypeSteam == true ]]; then
|
||||
if [[ ${SteamGridDBTypeSteam} == true ]]; then
|
||||
SRES=$(curl -Ls --connect-timeout 5 -m 10 -e "https://www.steamgriddb.com/game/${SteamGridDBId}" "https://www.steamgriddb.com/api/public/game/${SteamGridDBId}")
|
||||
if jq -e ".success == true" <<< "${SRES}" > /dev/null 2>&1; then
|
||||
SteamAppId="$(jq -r '.data.platforms.steam.id' <<< "${SRES}")"
|
||||
fi
|
||||
elif [[ "${USE_STEABGRIDDB:-1}" == "0" ]]; then
|
||||
SteamAppId="$(curl -s --connect-timeout 5 -m 10 "https://api.steampowered.com/ISteamApps/GetAppList/v2/" | jq --arg name "${NOSTAPPNAME}" '.applist.apps[] | select(.name == $name) | .appid')"
|
||||
elif [[ "${USE_STEAMGRIDDB:-1}" == "0" ]]; then
|
||||
if [[ ! -f "${applist_cache_file}" ]] || [[ $(find "${applist_cache_file}" -mmin +1440) ]]; then
|
||||
applist_data=$(curl -s --connect-timeout 5 "https://api.steampowered.com/ISteamApps/GetAppList/v2/")
|
||||
[[ -n "${applist_data}" ]] && echo "${applist_data}" > "${applist_cache_file}"
|
||||
else
|
||||
applist_data=$(<"${applist_cache_file}")
|
||||
fi
|
||||
[[ -n "${applist_data}" ]] && SteamAppId=$(jq --arg name "${NOSTAPPNAME,,}" '.applist.apps[] | select(.name == $name) | .appid' <<< "${applist_data,,}")
|
||||
fi
|
||||
SteamIds=$(jq --arg key "${NOSTAPPNAME}" --arg value "${SteamAppId:-}" '. + {($key): $value}' <<< "${SteamIds:-$(jq -n '{}')}")
|
||||
echo "${SteamIds}" > "${cache_file}"
|
||||
@ -129,7 +136,7 @@ getSteamId() {
|
||||
getSteamGridDBId() {
|
||||
unset SteamGridDBId
|
||||
NOSTAPPNAME="$1"
|
||||
if [[ "${USE_STEABGRIDDB:-1}" == "1" ]] && [[ -n "${SGDBAPIKEY}" ]] && [[ -n "${BASESTEAMGRIDDBAPI}" ]] && curl -fs --connect-timeout 5 -m 10 -o /dev/null "${BASESTEAMGRIDDBAPI}"; then
|
||||
if [[ "${USE_STEAMGRIDDB:-1}" == "1" ]] && [[ -n "${SGDBAPIKEY}" ]] && [[ -n "${BASESTEAMGRIDDBAPI}" ]] && curl -fs --connect-timeout 5 -m 10 -o /dev/null "${BASESTEAMGRIDDBAPI}"; then
|
||||
SGDBRES=$(curl -Ls --connect-timeout 5 -m 10 -H "Authorization: Bearer ${SGDBAPIKEY}" "${BASESTEAMGRIDDBAPI}/search/autocomplete/${NOSTAPPNAME// /_}")
|
||||
if jq -e ".success == true and (.data | length > 0)" <<< "${SGDBRES}" > /dev/null 2>&1; then
|
||||
if jq -e '.data[0].types | contains(["steam"])' <<< "${SGDBRES}" > /dev/null; then
|
||||
@ -141,7 +148,7 @@ getSteamGridDBId() {
|
||||
echo "${SteamGridDBId}"
|
||||
fi
|
||||
else
|
||||
USE_STEABGRIDDB="0"
|
||||
USE_STEAMGRIDDB="0"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -204,10 +211,12 @@ listInstalledSteamGames() {
|
||||
jq -n '[]'
|
||||
else
|
||||
for manifest_file in "${manifests[@]}"; do
|
||||
name="$(grep -Po '"name"\s+"\K[^"]+' "$manifest_file")";
|
||||
if [[ ! "${name}" =~ ^(Proton |Steam Linux Runtime|Steamworks Common) ]]; then
|
||||
name="$(grep -Po '"name"\s+"\K[^"]+' "${manifest_file}")";
|
||||
stateflags="$(grep -Po '"StateFlags"\s+"\K\d+' "${manifest_file}")"
|
||||
# if [[ ! "${name}" =~ ^(Proton |Steam Linux Runtime|Steamworks Common) ]]; then
|
||||
if ((stateflags & 4)) && grep -q '"SharedDepots"' "${manifest_file}"; then
|
||||
jq -n \
|
||||
--arg id "$(grep -Po '"appid"\s+"\K\d+' "$manifest_file")" \
|
||||
--arg id "$(grep -Po '"appid"\s+"\K\d+' "${manifest_file}")" \
|
||||
--arg name "${name}" \
|
||||
'{id: $id, name: $name}'
|
||||
fi
|
||||
@ -234,10 +243,21 @@ listSteamGames() {
|
||||
jq -r '.[] | tostring' <<< "$(listNonSteamGames)" | while read -r game; do
|
||||
id=$(jq -r '.id' <<< "${game}")
|
||||
name=$(jq -r '.name' <<< "${game}")
|
||||
jq -r \
|
||||
--arg SteamAppId "$(getSteamId "${name}")" \
|
||||
--arg SteamGameId "$(getSteamGameId $id)" \
|
||||
'{AppId: .id, SteamAppId: ($SteamAppId | if . == "" then "0" else . end), SteamGameId: $SteamGameId, Name: .name} | tostring' <<< "${game}"
|
||||
exe=$(jq -r '.exe' <<< "${game}")
|
||||
if [[ "${name}" =~ ^[0-9]+$ ]] && [[ "${exe}" =~ .sh$ ]]; then
|
||||
appid="${name}"
|
||||
name=$(basename "${exe}" .sh)
|
||||
else
|
||||
appid="$(getSteamId "${name}")"
|
||||
[[ -z "${appid}" ]] && appid="0"
|
||||
fi
|
||||
gid="$(getSteamGameId $id)"
|
||||
jq -n \
|
||||
--arg id "${id}" \
|
||||
--arg appid "${appid}" \
|
||||
--arg gid "${gid}" \
|
||||
--arg name "${name}" \
|
||||
'{AppId: $id, SteamAppId: $appid, SteamGameId: $gid, Name: $name}'
|
||||
done
|
||||
) | jq -s '.'
|
||||
}
|
||||
@ -350,8 +370,8 @@ downloadImageSteamGridDB() {
|
||||
}
|
||||
|
||||
addGrids() {
|
||||
getSteamGridDBId "${name_desktop}" > /dev/null
|
||||
if [[ "${USE_STEABGRIDDB:-1}" == "0" ]]; then
|
||||
[[ -z "${SteamGridDBId}" ]] && getSteamGridDBId "${name_desktop}" > /dev/null
|
||||
if [[ -z "${SteamAppId}" ]] && [[ "${USE_STEAMGRIDDB:-1}" == "0" ]]; then
|
||||
getSteamId > /dev/null
|
||||
fi
|
||||
if [[ -n "${SteamGridDBId}" ]] || [[ -n "${SteamAppId}" ]]; then
|
||||
@ -474,8 +494,8 @@ addNonSteamGame() {
|
||||
fi
|
||||
NOSTICONPATH="${PORT_WINE_PATH}/data/img/${name_desktop_png}.png"
|
||||
NOSTAIDVDF="$(generateShortcutVDFAppId "${NOSTAPPNAME}${NOSTEXEPATH}")" # signed integer AppID, stored in the VDF as hexidecimal - ex: -598031679
|
||||
NOSTAIDVDFHEX="$(generateShortcutVDFHexAppId "$NOSTAIDVDF")" # 4byte little-endian hexidecimal of above 32bit signed integer, which we write out to the binary VDF - ex: c1c25adc
|
||||
NOSTAPPID="$(extractSteamId32 "$NOSTAIDVDF")" # unsigned 32bit ingeger version of "$NOSTAIDVDF", which is used as the AppID for Steam artwork ("grids"), as well as for our shortcuts
|
||||
NOSTAIDVDFHEX="$(generateShortcutVDFHexAppId "${NOSTAIDVDF}")" # 4byte little-endian hexidecimal of above 32bit signed integer, which we write out to the binary VDF - ex: c1c25adc
|
||||
NOSTAPPID="$(extractSteamId32 "${NOSTAIDVDF}")" # unsigned 32bit ingeger version of "$NOSTAIDVDF", which is used as the AppID for Steam artwork ("grids"), as well as for our shortcuts
|
||||
|
||||
create_new_dir "${STEAM_SCRIPTS}"
|
||||
cat <<-EOF > "${NOSTSHPATH}"
|
||||
@ -491,9 +511,15 @@ addNonSteamGame() {
|
||||
cp "${SCPATH}" "${SCPATH//.vdf}_${PROGNAME}_backup.vdf" 2>/dev/null
|
||||
fi
|
||||
|
||||
if [[ "${USE_STEAMAPPID_AS_NAME:-0}" == "1" ]]; then
|
||||
SteamAppId=$(getSteamId "${NOSTAPPNAME}")
|
||||
[[ -n "${SteamAppId}" ]] && NOSTAPPNAME="${SteamAppId}"
|
||||
fi
|
||||
|
||||
addEntry
|
||||
|
||||
if [[ "${DOWNLOAD_STEAM_GRID}" == "1" ]] ; then
|
||||
NOSTAPPNAME="${name_desktop}"
|
||||
pw_start_progress_bar_block "${translations[Please wait. downloading covers for]} ${NOSTAPPNAME}"
|
||||
addGrids
|
||||
pw_stop_progress_bar
|
||||
|
@ -2,6 +2,7 @@
|
||||
# Author: Castro-Fidel (linux-gaming.ru)
|
||||
# shellcheck disable=SC2034
|
||||
########################################################################
|
||||
|
||||
$PW_DEBUG
|
||||
print_error () { printf "\E[31m%s Error: $@ %s\e[0m\n" ;}
|
||||
export -f print_error
|
||||
@ -3160,6 +3161,7 @@ start_portwine () {
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
|
||||
fi
|
||||
export GST_GL_WINDOW="surfaceless"
|
||||
unset GST_GL_WINDOW
|
||||
create_new_dir "${PORT_WINE_TMP_PATH}/gstreamer_tmp"
|
||||
export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}/gstreamer_tmp"
|
||||
|
||||
@ -3181,7 +3183,7 @@ start_portwine () {
|
||||
if [[ "${PW_LOG}" == 1 ]] \
|
||||
|| [[ -n "$PW_DEBUG" ]]
|
||||
then
|
||||
check_variables WINEDEBUG "+loaddll,+dll"
|
||||
check_variables WINEDEBUG "err+all"
|
||||
check_variables WINE_MONO_TRACE "E:System.NotImplementedException"
|
||||
check_variables VKBASALT_LOG_LEVEL "error"
|
||||
else
|
||||
@ -3350,7 +3352,7 @@ start_portwine () {
|
||||
# NVAPI, DLSS AND FAKE DLSS
|
||||
FAKE_DLSS_3_PATH="$PW_PLUGINS_PATH/fake_dlss/DeckyFramegen_$PW_FAKE_DLSS_3_VER/bin/"
|
||||
FAKE_DLSS_3_FILES="amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll d3dcompiler_47.dll dlss-enabler.dll
|
||||
dlss-enabler-upscaler.dll dlssg_to_fsr3_amd_is_better-3.0.dll dlssg_to_fsr3_amd_is_better.dll
|
||||
dlss-enabler-upscaler.dll dlssg_to_fsr3_amd_is_better-3.0.dll dlssg_to_fsr3_amd_is_better.dll dxvk.conf
|
||||
dlssg_to_fsr3.ini fakenvapi.ini libxess.dll nvapi64.dll _nvngx.dll nvngx.ini nvngx-wrapper.dll dxgi.dll"
|
||||
ORIGINAL_GAME_DLLS="d3dcompiler_47.dll amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll nvapi64.dll _nvngx.dll"
|
||||
PATH_TO_GAME_EXEC="$PATH_TO_GAME"
|
||||
@ -3409,6 +3411,10 @@ start_portwine () {
|
||||
for rm_dll in "nvngx.ini" "nvngx.dll" "_nvngx.dll" ; do
|
||||
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll"
|
||||
done
|
||||
|
||||
if [[ -f "$PATH_TO_GAME_EXEC/dxvk.conf" ]] ; then
|
||||
export DXVK_CONFIG_FILE="$PATH_TO_GAME_EXEC/dxvk.conf"
|
||||
fi
|
||||
elif [[ "${PW_USE_FAKE_DLSS}" == "1" ]] ; then
|
||||
DXVK_ENABLE_NVAPI="1"
|
||||
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll"
|
||||
@ -4163,10 +4169,6 @@ start_portwine () {
|
||||
fi
|
||||
add_in_start_portwine
|
||||
|
||||
if [[ -f "${PATH_TO_GAME}/dxvk.conf" ]] ; then
|
||||
export DXVK_CONFIG_FILE="${PATH_TO_GAME}/dxvk.conf"
|
||||
fi
|
||||
|
||||
if [[ "$LANGUAGE" == ru ]] ; then
|
||||
for chk_lang_and_uname in "steam_emu.ini" "steam_api.ini" "steam_api64.ini" "SteamConfig.ini" ; do
|
||||
if [[ -f "${PATH_TO_GAME}/${chk_lang_and_uname}" ]] ; then
|
||||
@ -4819,6 +4821,7 @@ gui_proton_downloader () {
|
||||
unset VERSION_WINE_GIT VERSION_INSTALLED_WINE URL_VERSION_PROTON_GIT GIVE_WINE_URL
|
||||
try_remove_file "${PW_TMPFS_PATH}/tmp_proton_pw_git"
|
||||
try_remove_file "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git"
|
||||
try_remove_file "${PW_TMPFS_PATH}/tmp_proton_cachyos_git"
|
||||
try_remove_file "${PW_TMPFS_PATH}/tmp_proton_ge_git"
|
||||
try_remove_file "${PW_TMPFS_PATH}/tmp_wine_ge_custom_git"
|
||||
try_remove_file "${PW_TMPFS_PATH}/tmp_installed_wine"
|
||||
@ -4875,6 +4878,15 @@ gui_proton_downloader () {
|
||||
done
|
||||
sed -i -e "/${PW_WINE_LG_VER}/d" -e '/plugins/d' -e '/^$/d' "${PW_TMPFS_PATH}/tmp_proton_pw_git"
|
||||
fi
|
||||
|
||||
# PROTON_CACHYOS
|
||||
read -r -d '' -a PROTON_CACHYOS_GIT < <(curl -s "https://api.github.com/repos/CachyOS/proton-cachyos/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4 | grep -v "v3" | grep -v "znver4")
|
||||
if [[ -n "${PROTON_CACHYOS_GIT[0]}" ]] ; then
|
||||
for PGEGIT in "${PROTON_CACHYOS_GIT[@]}" ; do
|
||||
echo "${PGEGIT}" | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_proton_cachyos_git"
|
||||
done
|
||||
fi
|
||||
|
||||
pw_stop_progress_bar
|
||||
|
||||
if [[ -z "${PROTON_PW_GIT}" ]] ; then
|
||||
@ -4886,7 +4898,7 @@ gui_proton_downloader () {
|
||||
for INSTALLING_VERSION_IN_DIST in * ; do
|
||||
sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PW_TMPFS_PATH}/tmp_proton_pw_git" \
|
||||
"${PW_TMPFS_PATH}/tmp_proton_ge_git" "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git" \
|
||||
"${PW_TMPFS_PATH}/tmp_wine_ge_custom_git"
|
||||
"${PW_TMPFS_PATH}/tmp_wine_ge_custom_git" "${PW_TMPFS_PATH}/tmp_proton_cachyos_git"
|
||||
done
|
||||
popd 1>/dev/null || fatal
|
||||
|
||||
@ -4894,6 +4906,7 @@ gui_proton_downloader () {
|
||||
TMP_PROTON_GE_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_proton_ge_git" | tr '\n' ' ')"
|
||||
TMP_PROTON_KR_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git" | tr '\n' ' ')"
|
||||
TMP_PROTON_CU_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_wine_ge_custom_git" | tr '\n' ' ')"
|
||||
TMP_PROTON_CACHYOS_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_proton_cachyos_git" | tr '\n' ' ')"
|
||||
|
||||
ls -l ${PORT_WINE_PATH}/data/dist | awk '{print $9}' | sed -e "/$PW_PROTON_LG_VER/d" -e "/$PW_WINE_LG_VER/d" -e '/^$/d' 1>"${PW_TMPFS_PATH}/tmp_installed_wine"
|
||||
TMP_INSTALLED_WINE="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_installed_wine" | tr '\n' ' ')"
|
||||
@ -4937,6 +4950,14 @@ gui_proton_downloader () {
|
||||
"${pw_yad}" --plug=$KEY_WINE --tabnum=5 --list --checklist --separator="" \
|
||||
--gui-type-layout="${NOTEBOOK_GUI_TYPE_LAYOUT}" --gui-type-text="${NOTEBOOK_GUI_TYPE_TEXT}" \
|
||||
--column "${translations[Set]}" \
|
||||
--column "${translations[Select WINE for download:]}" \
|
||||
$TMP_PROTON_CACHYOS_GIT \
|
||||
1>> "${PW_TMPFS_PATH}/tmp_set_wine" \
|
||||
2>/dev/null &
|
||||
|
||||
"${pw_yad}" --plug=$KEY_WINE --tabnum=6 --list --checklist --separator="" \
|
||||
--gui-type-layout="${NOTEBOOK_GUI_TYPE_LAYOUT}" --gui-type-text="${NOTEBOOK_GUI_TYPE_TEXT}" \
|
||||
--column "${translations[Set]}" \
|
||||
--column "${translations[Select installed WINE for delete:]}" \
|
||||
$TMP_INSTALLED_WINE \
|
||||
1> "${PW_TMPFS_PATH}/tmp_installed_wine_set" \
|
||||
@ -4950,6 +4971,7 @@ gui_proton_downloader () {
|
||||
--tab="WINE-KRON4EK!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
|
||||
--tab="PROTON-GE!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
|
||||
--tab="WINE-GE-CUSTOM!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
|
||||
--tab="PROTON-CACHYOS!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
|
||||
--tab="${translations[INSTALLED]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
|
||||
--button="${translations[CANCEL]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!":1 \
|
||||
--button="${translations[OK]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!":0 2>/dev/null
|
||||
@ -5020,7 +5042,7 @@ gui_proton_downloader () {
|
||||
|
||||
if [[ "$1" != "silent" ]] ; then
|
||||
for GIVE_ALL_WINE in ${VERSION_WINE_GIT} ; do
|
||||
for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" ; do
|
||||
for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" ; do
|
||||
if [[ ${GIVE_WINE_URL^^} =~ ${GIVE_ALL_WINE^^} ]] ; then
|
||||
export URL_VERSION_PROTON_GIT=$GIVE_WINE_URL
|
||||
fi
|
||||
@ -5031,7 +5053,7 @@ gui_proton_downloader () {
|
||||
restart_pp
|
||||
else
|
||||
print_error "$PW_WINE_USE"
|
||||
for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" ; do
|
||||
for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" ; do
|
||||
if [[ ${GIVE_WINE_URL^^} =~ ${PW_WINE_USE^^} ]] ; then
|
||||
export URL_VERSION_PROTON_GIT=$GIVE_WINE_URL
|
||||
fi
|
||||
@ -5093,7 +5115,7 @@ gui_edit_db () {
|
||||
PW_USE_SHADER_CACHE_INFO=${translations[Use WINE shader caching (disable only if there are microfreezes in the game)]}
|
||||
PW_WINE_FULLSCREEN_FSR_INFO=${translations[Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen]}
|
||||
PW_USE_FAKE_DLSS_INFO=${translations[Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)]}
|
||||
PW_USE_FAKE_DLSS_3_INFO=${translations[Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (Decky-Framegen)]}
|
||||
PW_USE_FAKE_DLSS_3_INFO=${translations[Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based on Decky-Framegen) Do not use in multiplayer games]}
|
||||
PW_USE_EAC_AND_BE_INFO=${translations[Enable Easy Anti-Cheat and BattlEye Anti-Cheat runtimes (required if game used this anti-cheats)]}
|
||||
PW_REDUCE_PULSE_LATENCY_INFO=${translations[Reduce pulseaudio latency to fix intermittent sound]}
|
||||
PW_USE_US_LAYOUT_INFO=${translations[Forced use of the us layout (useful for games in which the control works correctly only on the us layout)]}
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
#Author: Castro-Fidel (linux-gaming.ru)
|
||||
#SCRIPTS_NEXT_VERSION=2389
|
||||
#SCRIPTS_NEXT_VERSION=2390
|
||||
#SCRIPTS_STABLE_VERSION=2388
|
||||
########################################################################
|
||||
export AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET PW_WORLD_OF_SEA_BATTLE PW_RUSSIAN_FISHING PW_HO_YO_PLAY PW_FARLIGHT84 PW_WARFRAME PW_WGC PW_UBISOFT"
|
||||
|
Loading…
Reference in New Issue
Block a user