Commit fb0ecbc6 authored by Mikhail Tergoev's avatar Mikhail Tergoev

Merge branch 'Boria138-gpu-select'

parents b9eccd4f f0d526f3
......@@ -308,10 +308,8 @@ check_user_conf () {
echo "# User overides db and var settings..." >> "${USER_CONF}"
echo "# export DXVK_HUD=full" >> "${USER_CONF}"
echo "# export GALLIUM_HUD=fps" >> "${USER_CONF}"
echo "export optirun_on= #nvidia-prime-run or prime-run" >> "${USER_CONF}"
else
grep "optirun_on" "${USER_CONF}" >/dev/null
[[ "$?" != 0 ]] && echo "export optirun_on=" >> "${USER_CONF}"
elif grep "optirun_on" "${USER_CONF}" ; then
sed -i '/optirun_on/d' "${USER_CONF}"
fi
}
......
......@@ -140,7 +140,6 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export PW_USE_WINE_DXGI_INFO='Принудительное использование встроенной библиотеки DXGI (в редких случаях решает проблемы с запуском игр под DX12)'
export PW_MANGOHUD_USER_CONF_INFO='Принудительное использование системных настроек MANGOHUD (GOverlay и т.п.)'
export PW_USE_D3D_EXTRAS_INFO='Включить принудительное использование сторонних библиотек DirectX'
export PW_PRIME_RENDER_OFFLOAD_INFO='Включить дискретную видеокарту NVIDIA для ноутбуков с гибридной графикой (при поддержке установленого драйвера в ОС)'
export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе'
export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)'
export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана'
......@@ -268,6 +267,9 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_amd_vulkan_select="Изменить используемый драйвер vulkan для AMD"
export loc_gui_amd_vulkan_select_help="Выбор какая реализация vulkan будет использоваться для запуска игры"
export loc_gui_gpu_select="Выбрать видеокарту для запуска игры"
export loc_gui_gpu_select_help="Выбор какая видеокарта будет использоваться для запуска игры"
export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub"
export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE."
export loc_gui_set_new_wine="Выберите версию WINE для загрузки:"
......@@ -420,7 +422,6 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export PW_USE_WINE_DXGI_INFO='Forced use of built-in DXGI library (in rare cases it solves problems with DX12 games)'
export PW_MANGOHUD_USER_CONF_INFO='Forced use of MANGOHUD system settings (GOverlay, etc.)'
export PW_USE_D3D_EXTRAS_INFO='Enable forced use of third-party DirectX libraries'
export PW_PRIME_RENDER_OFFLOAD_INFO='Enable NVIDIA discrete graphics card for notebooks with hybrid graphics (if supported by the installed driver in the OS)'
export PW_USE_WINDOWS_7_INFO='Change the version of WINDOWS 10 to WINDOWS 7 in the prefix'
export PW_USE_SHADER_CACHE_INFO='Use WINE shader caching (disable only if there are microfreezes in the game)'
export PW_WINE_FULLSCREEN_FSR_INFO='Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen'
......@@ -548,6 +549,9 @@ A brief instruction:
export loc_gui_amd_vulkan_select="Select needed AMD vulkan implementation"
export loc_gui_amd_vulkan_select_help="Choosing which implementation of vulkan will be used to run the game"
export loc_gui_gpu_select="Choose a graphics card to run the game"
export loc_gui_gpu_select_help="Selecting which video card will be used to run the game"
export loc_gui_check_new_wine="Check new version WINE from GitHub"
export loc_gui_check_new_wine_error="Error: check wine from github."
export loc_gui_set_new_wine="Select WINE for download:"
......
#!/usr/bin/env bash
# Author: Castro-Fidel (linux-gaming.ru)
# Development assistants: Cefeiko; Dezert1r; Taz_mania; Anton_Famillianov; gavr; RidBowt; chal55rus; UserDiscord
# Development assistants: Cefeiko; Dezert1r; Taz_mania; Anton_Famillianov; gavr; RidBowt; chal55rus; UserDiscord; Boria138
########################################################################
echo '
█░░ █ █▄░█ █░█ ▀▄▀ ▄▄ █▀▀ ▄▀█ █▀▄▀█ █ █▄░█ █▀▀ ░ █▀█ █░█
......@@ -162,18 +162,6 @@ start_portwine () {
export PW_VULKAN_USE=5
fi
if [[ "${PW_PRIME_RENDER_OFFLOAD}" == 1 ]] ; then
if ${PW_WINELIB}/portable/bin/inxi -Gc0 | grep "renderer" | grep -i "nvidia" ; then
print_debug "Nvidia used by default. Force disabled PRIME_RENDER_OFFLOAD"
export __NV_PRIME_RENDER_OFFLOAD=0
unset __GLX_VENDOR_LIBRARY_NAME __VK_LAYER_NV_optimus
else
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
fi
fi
if [[ "${PW_HEAP_DELAY_FREE}" == 1 ]]
then export WINE_HEAP_DELAY_FREE="1"
else export WINE_HEAP_DELAY_FREE="0"
......@@ -636,7 +624,7 @@ pw_run () {
echo "Log WINE:" >> "${PW_LOG_TO_FILE}"
echo ""
print_debug "Log from RUNTIME and WINE:"
env ${optirun_on} ${PW_GAMEMODERUN_SLR} \
${PW_GAMEMODERUN_SLR} \
NO_AT_BRIDGE=0 ${pw_runtime} \
env ${PW_MANGOHUD_SLR} \
PATH="${PATH}" \
......@@ -652,7 +640,7 @@ pw_run () {
fi
echo ""
print_debug "Log from RUNTIME and WINE:"
env ${optirun_on} ${PW_GAMEMODERUN_SLR} \
${PW_GAMEMODERUN_SLR} \
NO_AT_BRIDGE=0 ${pw_runtime} \
env ${PW_MANGOHUD_SLR} \
PATH="${PATH}" \
......
......@@ -409,7 +409,7 @@ pw_start_cont_xterm () {
unset PW_SANDBOX_HOME_PATH
# export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
pw_init_runtime
${optirun_on} ${PW_GAMEMODERUN_SLR} ${pw_runtime} \
${PW_GAMEMODERUN_SLR} ${pw_runtime} \
env ${PW_MANGOHUD_SLR} \
PATH="${PATH}" \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
......@@ -466,7 +466,7 @@ pw_edit_db () {
pw_gui_for_edit_db \
PW_MANGOHUD PW_MANGOHUD_x32 PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING \
PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL \
PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME \
PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_DX12_DISABLE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME \
PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE \
PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK
if [ "$?" == 0 ] ; then
......
......@@ -55,7 +55,6 @@ export DEFPFX_VER="v1"
export PROGPFX_VER="v1"
export PW_MUST_WINEDLLOVERRIDES="steam_api,steam_api64,steamclient,steamclient64=n;dotnetfx35.exe,dotnetfx35setup.exe=b,winemenubuilder.exe="
#################################################################
export optirun_on=""
export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf"
#################################################################
pw_install_dll_in_prefix ()
......
......@@ -165,6 +165,14 @@ pw_gui_for_edit_db () {
AMD_VULKAN_VAR="disabled"
fi
if [[ ! -z "${PW_GPU_USE}" ]] && [[ "${PW_GPU_USE}" != "disabled" ]] ; then
GPU_VAR="${PW_GPU_USE}"
else
GPU_VAR="disabled"
fi
GET_GPU_NAMES=$(vulkaninfo 2>/dev/null | awk -F '=' '/deviceName/{print $2}' | paste -sd '!' | sed 's/^ //')
GET_REFRASH_RATE="30!45!60!75!120!144!165!240"
logical_cores=$(grep -c "^processor" /proc/cpuinfo)
......@@ -207,6 +215,7 @@ pw_gui_for_edit_db () {
--field=":LBL" "" \
--field="${loc_gui_cpu_limit}!${loc_gui_cpu_limit_help} :CB" "${CPU_LIMIT_VAR}!disabled!${GET_LOGICAL_CORE}" \
--field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select_help} :CB" "${AMD_VULKAN_VAR}!disabled!amdvlk!amdgpupro!radv!radv_gpl!radv_aco" \
--field="${loc_gui_gpu_select}!${loc_gui_gpu_select_help} :CB" "${GPU_VAR}!disabled!${GET_GPU_NAMES}" \
--field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRASH_RATE}" 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
"${pw_yad_v12_3}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="700" \
--text "${loc_gui_edit_db} <b>${PORTWINE_DB}</b>\n ${loc_gui_edit_db_help}" --separator=" " --borders=3 \
......@@ -239,7 +248,8 @@ pw_gui_for_edit_db () {
LAUNCH_PARAMETERS=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}'`
CPU_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`"
PW_AMD_VULKAN_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $9}'`"
PW_GPU_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $9}'`"
FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $10}'`"
if [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then
export MANGOHUD_CONFIG="$(echo ${MANGOHUD_CONFIG} | sed "s/fps_limit=${FPS_LIMIT_VAR}/fps_limit=${FPS_LIMIT}/")"
......@@ -253,7 +263,7 @@ pw_gui_for_edit_db () {
if [[ "${CPU_LIMIT}" != "disabled" ]] ; then
export PW_WINE_CPU_TOPOLOGY="${CPU_LIMIT}:$(seq -s, 0 $((${CPU_LIMIT} - 1)))"
else
export PW_WINE_CPU_TOPOLOGY="disabled"
export PW_WINE_CPU_TOPOLOGY="disabled"
fi
if [[ "${PW_AMD_VULKAN_USE}" == "amdvlk" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
......@@ -284,8 +294,12 @@ pw_gui_for_edit_db () {
var_radv_perftest_config_update gpl
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
fi
if [[ "${PW_GPU_USE}" != "disabled" ]]; then
export DXVK_FILTER_DEVICE_NAME=$PW_GPU_USE
export VKD3D_FILTER_DEVICE_NAME=$PW_GPU_USE
fi
echo "pw_gui_for_edit_db PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY PW_AMD_VULKAN_USE
edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY PW_AMD_VULKAN_USE PW_GPU_USE
return 0
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment