diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 223225d8..505d3bd7 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -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 } diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index 5676c18a..51be6045 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -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:" diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 3cbb1326..66a3981f 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -1,6 +1,6 @@ #!/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}" \ diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 45de81ca..9e0efab8 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -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 diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 68fbd870..4847e5f5 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -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 () diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui index 90e37a1b..1f1465e8 100755 --- a/data_from_portwine/scripts/zen_yad_gui +++ b/data_from_portwine/scripts/zen_yad_gui @@ -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} ${PORTWINE_DB}\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 }