Scripts version 2257
This commit is contained in:
@ -22,50 +22,36 @@ fi
|
||||
. "$(dirname $(readlink -f "$0"))/functions_helper"
|
||||
|
||||
start_portwine () {
|
||||
var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}"
|
||||
export WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")"
|
||||
if [[ "$WINEPREFIX" != "${PORT_WINE_PATH}/data/prefixes/"* ]] && [[ ! -d "$WINEPREFIX" ]] ; then
|
||||
yad_error "Path to PREFIX not found:\n$WINEPREFIX"
|
||||
exit 1
|
||||
fi
|
||||
create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_force_link_dir "${PORT_WINE_PATH}/data/prefixes" "${WINEPREFIX}/drive_c/"
|
||||
export WINEARCH="win64"
|
||||
if [[ "${PW_VULKAN_USE}" == 3 ]] ; then
|
||||
export PW_WINE_USE="${PW_PROTON_LG_VER}"
|
||||
echo "Force to use $PW_WINE_USE"
|
||||
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
|
||||
if try_download "github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" \
|
||||
"${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
|
||||
if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
|
||||
UNPACK_STATUS=0
|
||||
else
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
|
||||
try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}"
|
||||
fi
|
||||
fi
|
||||
[[ "${UNPACK_STATUS}" != 0 ]] && exit 1
|
||||
|
||||
PROGPFX_URL="github.com/Castro-Fidel/PortWINE/releases/download/progpfx${PROGPFX_VER}/progpfx${PROGPFX_VER}.tar.xz"
|
||||
if [[ "${PW_PREFIX_NAME}" == "PROGRAMS" && ! -f "${WINEPREFIX}"/.progpfx ]] ; then
|
||||
print_info "Download and install PROGRAMS pfx..."
|
||||
if try_download "${PROGPFX_URL}" "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz" ; then
|
||||
unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/"
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz"
|
||||
else
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz"
|
||||
yad_error_download && exit 1
|
||||
fi
|
||||
edit_db_from_gui PW_WINE_USE
|
||||
else
|
||||
pw_check_and_download_wine "${PW_WINE_USE}"
|
||||
fi
|
||||
pw_install_dll_in_prefix
|
||||
|
||||
DOTPFX_URL="github.com/Castro-Fidel/PortWINE/releases/download/dotpfx${DOTPFX_VER}/dotpfx${DOTPFX_VER}.tar.xz"
|
||||
if [[ "${PW_PREFIX_NAME}" == "DOTNET" ]] && [[ ! -f "${WINEPREFIX}"/.dotnet${DOTPFX_VER} ]] ; then
|
||||
print_info "Download and install DOTNET pfx..."
|
||||
if try_download "${DOTPFX_URL}" "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz" ; then
|
||||
unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/"
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz"
|
||||
else
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz"
|
||||
yad_error_download && exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}"
|
||||
pw_list_install_dll_in_prefix
|
||||
pw_check_and_download_wine "${PW_WINE_USE}"
|
||||
init_wine_ver
|
||||
|
||||
if [[ -f "$portwine_exe" ]] && [[ "${WARN_CYRILLIC_IN_PATH}" == 1 ]] ; then
|
||||
edit_db_from_gui WARN_CYRILLIC_IN_PATH
|
||||
unset WARN_CYRILLIC_IN_PATH
|
||||
fi
|
||||
|
||||
if [[ "$PW_USE_OBS_VKCAPTURE" == "1" ]] ; then
|
||||
export OBS_VKCAPTURE="1"
|
||||
export PW_USE_SYSTEM_VK_LAYERS="1"
|
||||
print_warning "System mangohud, vkBasalt, obs-vk capture and other applications using vulkan layers are forcibly used."
|
||||
fi
|
||||
|
||||
pw_init_runtime
|
||||
|
||||
check_variables VKD3D_DEBUG none
|
||||
@ -82,6 +68,65 @@ start_portwine () {
|
||||
unset WINE_MONO_TRACE
|
||||
fi
|
||||
|
||||
if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/windows ]] \
|
||||
|| [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/userdef.reg ]] \
|
||||
|| [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/system.reg ]] \
|
||||
|| [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/user.reg ]]
|
||||
then
|
||||
pw_clear_pfx
|
||||
check_dirs_and_files_in_pfx
|
||||
|
||||
pw_wineboot () {
|
||||
print_info "Used wineboot $@ for prefix: ${PW_PREFIX_NAME}"
|
||||
${pw_runtime} env GST_PLUGIN_SYSTEM_PATH_1_0="" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||
"${WINELOADER}" wineboot $@ &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
wait_wineserver
|
||||
print_info "The prefix has been updated."
|
||||
}
|
||||
|
||||
if [[ "${PW_PREFIX_NAME}" == DEFAULT ]] ; then
|
||||
pw_update_pfx_cover_gui
|
||||
unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent
|
||||
pw_wineboot -u
|
||||
elif [[ "${PW_CHECK_AUTOINSTAL}" == 1 ]] \
|
||||
&& [[ "${DISABLE_CP_DEFPFX}" != 1 ]] ; then
|
||||
pw_update_pfx_cover_gui
|
||||
unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent
|
||||
pw_wineboot -u
|
||||
elif yad_question "$loc_gui_dll_new_pfx ${PW_PREFIX_NAME}" ; then
|
||||
pw_update_pfx_cover_gui
|
||||
unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent
|
||||
pw_wineboot -u
|
||||
else
|
||||
pw_update_pfx_cover_gui
|
||||
pw_wineboot -i
|
||||
fi
|
||||
else
|
||||
check_dirs_and_files_in_pfx
|
||||
if [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" ]] \
|
||||
|| ! grep "${PW_WINE_USE}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" &>/dev/null
|
||||
then
|
||||
pw_update_pfx_cover_gui
|
||||
# HOTFIX - update prefix for vkPlay
|
||||
if echo "$portwine_exe" | grep -i vkplay &>/dev/null
|
||||
then pw_kill_autostart GameCe 5 please & :
|
||||
fi
|
||||
pw_wineboot -u
|
||||
fi
|
||||
fi
|
||||
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
|
||||
|
||||
# if [[ -f "$portwine_exe" ]] && [[ "${WARN_CYRILLIC_IN_PATH}" == 1 ]] ; then
|
||||
# edit_db_from_gui WARN_CYRILLIC_IN_PATH
|
||||
# unset WARN_CYRILLIC_IN_PATH
|
||||
# fi
|
||||
|
||||
if [[ "$PW_USE_OBS_VKCAPTURE" == "1" ]] ; then
|
||||
export OBS_VKCAPTURE="1"
|
||||
export PW_USE_SYSTEM_VK_LAYERS="1"
|
||||
print_warning "System mangohud, vkBasalt, obs-vk capture and other applications using vulkan layers are forcibly used."
|
||||
fi
|
||||
|
||||
if [[ "${PW_NO_ESYNC}" == 1 ]]
|
||||
then export WINEESYNC="0"
|
||||
else export WINEESYNC="1"
|
||||
@ -134,18 +179,6 @@ start_portwine () {
|
||||
export PW_USE_GAMESCOPE="0"
|
||||
export PW_RUN_GAMESCOPE=""
|
||||
fi
|
||||
|
||||
if [[ "${PW_DISABLE_COMPOSITING}" == "1" ]] ; then
|
||||
if [[ "${DESKTOP_SESSION}" =~ "plasma" ]] ; then
|
||||
qdbus org.kde.KWin /Compositor suspend
|
||||
elif [[ "${DESKTOP_SESSION}" =~ "mate" ]] ; then
|
||||
gsettings set org.mate.Marco.general compositing-manager false
|
||||
elif [[ "${DESKTOP_SESSION}" =~ "xfce" ]] ; then
|
||||
xfconf-query -c xfwm4 -p /general/use_compositing -s false
|
||||
elif [[ "${DESKTOP_SESSION}" =~ "cinnamon" ]] ; then
|
||||
gsettings set org.cinnamon.muffin unredirect-fullscreen-windows true
|
||||
fi
|
||||
fi
|
||||
|
||||
enabled_fake_nvidia_videocard ()
|
||||
{
|
||||
@ -222,8 +255,8 @@ start_portwine () {
|
||||
var_winedlloverride_update "nvngx,_nvngx="
|
||||
fi
|
||||
|
||||
if [[ "${PW_USE_GALLIUM_ZINK}" == 1 ]] ; then
|
||||
export PW_VULKAN_USE=5
|
||||
if [[ "${PW_USE_GALLIUM_ZINK}" == 1 ]]
|
||||
then export PW_VULKAN_USE=5
|
||||
fi
|
||||
|
||||
if [[ "${PW_HEAP_DELAY_FREE}" == 1 ]]
|
||||
@ -265,36 +298,6 @@ start_portwine () {
|
||||
fi
|
||||
fi
|
||||
|
||||
# if [[ "${PW_AMD_VULKAN_USE}" == "amdvlk" ]] ; then
|
||||
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
||||
# if grep -i -q -E '(rosa|redos|nobara|linuxmint|ubuntu|centos|rhel|fedora)' "/etc/os-release" ; then
|
||||
# export VK_ICD_FILENAMES="/opt/amdgpu/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu/etc/vulkan/icd.d/amd_icd64.json"
|
||||
# elif grep -i -q "altlinux" '/etc/os-release' ; then
|
||||
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd.json"
|
||||
# else
|
||||
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json"
|
||||
# fi
|
||||
# elif [[ "${PW_AMD_VULKAN_USE}" == "amdgpupro" ]] ; then
|
||||
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
||||
# if grep -i -q -E '(rosa|redos|nobara|linuxmint|ubuntu|centos|rhel|fedora)' "/etc/os-release" ; then
|
||||
# export VK_ICD_FILENAMES="/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd64.json"
|
||||
# var_ld_library_path_update "/opt/amdgpu/libdrm/lib64:/opt/amdgpu/libdrm/lib32"
|
||||
# else
|
||||
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_pro_icd32.json:/usr/share/vulkan/icd.d/amd_pro_icd64.json"
|
||||
# fi
|
||||
# elif [[ "${PW_AMD_VULKAN_USE}" == "radv" ]] ; then
|
||||
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
||||
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
|
||||
# elif [[ "${PW_AMD_VULKAN_USE}" == "radv_aco" ]] ; then
|
||||
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
||||
# var_radv_perftest_config_update aco
|
||||
# export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
|
||||
# elif [[ "${PW_AMD_VULKAN_USE}" == "radv_gpl" ]] ; then
|
||||
# export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
||||
# 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
|
||||
|
||||
case "$PW_FORCE_USE_VSYNC" in # 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
|
||||
0)
|
||||
export vblank_mode=0
|
||||
@ -308,14 +311,15 @@ start_portwine () {
|
||||
unset vblank_mode __GL_SYNC_TO_VBLANK
|
||||
;;
|
||||
esac
|
||||
|
||||
export int_xneur=0
|
||||
if [[ ! -z "`pgrep xneur`" ]]; then
|
||||
killall xneur
|
||||
export int_xneur=1
|
||||
fi
|
||||
if [[ "$PW_USE_GAMEMODE" = "1" ]] ; then
|
||||
|
||||
if command -v gamemoded ; then
|
||||
if [[ "$PW_USE_GAMEMODE" = "1" ]] ; then
|
||||
if command -v gamemoded &>/dev/null ; then
|
||||
export GAMEMODERUN=1
|
||||
PW_GAMEMODERUN_SLR="gamemoderun"
|
||||
systemctl enable --now --user gamemoded &>/dev/null
|
||||
@ -342,110 +346,7 @@ start_portwine () {
|
||||
print_info "Gamemod is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE"
|
||||
fi
|
||||
pw_other_fixes
|
||||
|
||||
check_dirs_and_files_in_pfx () {
|
||||
create_new_dir "${WINEPREFIX}"
|
||||
create_new_dir "${WINEPREFIX}/drive_c"
|
||||
create_new_dir "${WINEPREFIX}/dosdevices"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/tmp/.private/$USER/"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/tmp/.private/steamuser/"
|
||||
|
||||
[ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:"
|
||||
[ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:"
|
||||
[ ! -d "${WINEPREFIX}/dosdevices/h:" ] && try_force_link_dir "$HOME" "${WINEPREFIX}/dosdevices/h:"
|
||||
|
||||
create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/"
|
||||
LN_FONTS="arialbd.ttf courbd.ttf georgia.ttf micross.ttf msyh.ttf simsun.ttc arial.ttf cour.ttf malgun.ttf msgothic.ttc nirmala.ttf times.ttf"
|
||||
for link_font in $LN_FONTS ; do
|
||||
if [[ ! -f "${WINEPREFIX}/drive_c/windows/Fonts/${link_font}" ]] ; then
|
||||
try_force_link_file "${WINEDIR}/share/fonts/${link_font}" "${WINEPREFIX}/drive_c/windows/Fonts/"
|
||||
fi
|
||||
done
|
||||
|
||||
find "${WINEPREFIX}/dosdevices" -xtype l -maxdepth 1 2>/dev/null -exec rm {} \;
|
||||
rm -f "${WINEPREFIX}/dosdevices/"*::
|
||||
DRIVES=(d e f g i j k l m n o p q r s t u v w x y)
|
||||
DEF_MOUNT_DIRS=('/media' "/media/$USER" '/mnt' '/run/media' "/run/media/$USER")
|
||||
MOUNT_DIRS=($(find "${DEF_MOUNT_DIRS[@]}" -maxdepth 1 -type d 2>/dev/null | sort -u))
|
||||
|
||||
for drive_dir in "${MOUNT_DIRS[@]}" ; do
|
||||
if [[ ! "${DEF_MOUNT_DIRS[@]}" =~ "$drive_dir" ]] \
|
||||
&& ! realpath "${WINEPREFIX}/dosdevices"/*: | grep "$drive_dir" &>/dev/null ; then
|
||||
drive_num=0
|
||||
while [[ "$drive_num" -lt "${#DRIVES[@]}" ]] ; do
|
||||
drive_path="${WINEPREFIX}/dosdevices/${DRIVES[$drive_num]}:"
|
||||
if [ ! -d "$drive_path" ] ; then
|
||||
ln -sf "$drive_dir" "$drive_path"
|
||||
break
|
||||
else
|
||||
((drive_num++))
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
PROGPFX_URL="github.com/Castro-Fidel/PortWINE/releases/download/progpfx${PROGPFX_VER}/progpfx${PROGPFX_VER}.tar.xz"
|
||||
if [[ "${PW_PREFIX_NAME}" == "PROGRAMS" && ! -f "${WINEPREFIX}"/.progpfx ]] ; then
|
||||
print_info "Download and install PROGRAMS pfx..."
|
||||
if try_download "${PROGPFX_URL}" "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz" ; then
|
||||
unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/"
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz"
|
||||
else
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/progpfx.tar.xz"
|
||||
yad_error_download && exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
DOTPFX_URL="github.com/Castro-Fidel/PortWINE/releases/download/dotpfx${DOTPFX_VER}/dotpfx${DOTPFX_VER}.tar.xz"
|
||||
if [[ "${PW_PREFIX_NAME}" == "DOTNET" ]] && [[ ! -f "${WINEPREFIX}"/.dotnet${DOTPFX_VER} ]] ; then
|
||||
print_info "Download and install DOTNET pfx..."
|
||||
if try_download "${DOTPFX_URL}" "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz" ; then
|
||||
unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/"
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz"
|
||||
else
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/dotpfx.tar.xz"
|
||||
yad_error_download && exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
pw_update_pfx_cover_gui
|
||||
|
||||
if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" \
|
||||
|| ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/windows \
|
||||
|| ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/userdef.reg \
|
||||
|| ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/system.reg \
|
||||
|| ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/user.reg ]]
|
||||
then
|
||||
pw_clear_pfx
|
||||
check_dirs_and_files_in_pfx
|
||||
if [[ -f "${PW_WINELIB}/default_pfx.tar.xz" ]] && [[ "${DISABLE_CP_DEFPFX}" != 1 ]] ; then
|
||||
unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent
|
||||
fi
|
||||
fi
|
||||
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
|
||||
check_dirs_and_files_in_pfx
|
||||
|
||||
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser"
|
||||
if [ ! -d "${WINEPREFIX}/drive_c/users/${USER}" ]; then
|
||||
try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser" "${WINEPREFIX}/drive_c/users/${USER}"
|
||||
fi
|
||||
create_new_dir "${WINEPREFIX}/drive_c/users/Public/Documents/Steam"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents/Steam"
|
||||
if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/My Documents" ]
|
||||
then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents" "${WINEPREFIX}/drive_c/users/steamuser/My Documents"
|
||||
fi
|
||||
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming"
|
||||
if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/Application Data" ]
|
||||
then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Roaming" "${WINEPREFIX}/drive_c/users/steamuser/Application Data"
|
||||
fi
|
||||
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Local"
|
||||
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser/Local Settings"
|
||||
if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data" ]
|
||||
then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/AppData/Local" "${WINEPREFIX}/drive_c/users/steamuser/Local Settings/Application Data"
|
||||
fi
|
||||
#enabled BattleEye_Runtime and EasyAntiCheat_Runtime
|
||||
if [[ "${PW_USE_EAC_AND_BE}" == 1 ]] ; then
|
||||
export PROTON_BATTLEYE_RUNTIME="${PW_PLUGINS_PATH}/BattlEye_Runtime"
|
||||
@ -462,7 +363,10 @@ start_portwine () {
|
||||
unset PULSE_LATENCY_MSEC
|
||||
fi
|
||||
|
||||
if [[ "$PW_USE_US_LAYOUT" == "1" ]] && [[ "${XDG_SESSION_TYPE}" != "wayland" ]] && command -v setxkbmap &>/dev/null ; then
|
||||
if [[ "$PW_USE_US_LAYOUT" == "1" ]] \
|
||||
&& [[ "${XDG_SESSION_TYPE}" != "wayland" ]] \
|
||||
&& command -v setxkbmap &>/dev/null
|
||||
then
|
||||
setxkbmap -model pc101 us -print | xkbcomp - $DISPLAY &>/dev/null
|
||||
else
|
||||
export PW_USE_US_LAYOUT="0"
|
||||
@ -692,6 +596,7 @@ start_portwine () {
|
||||
fi
|
||||
done
|
||||
if [[ "${USE_WT_FROM_DB}" == "1" ]] ; then
|
||||
pw_update_pfx_cover_gui
|
||||
update_winetricks
|
||||
echo "START WINETRICKS..." >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
echo "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
@ -731,6 +636,20 @@ start_portwine () {
|
||||
if [[ -f "${PATH_TO_GAME}/dxvk.conf" ]] ; then
|
||||
export DXVK_CONFIG_FILE="${PATH_TO_GAME}/dxvk.conf"
|
||||
fi
|
||||
|
||||
if [[ "${PW_DISABLE_COMPOSITING}" == "1" ]] \
|
||||
&& ! check_gamescope_session
|
||||
then
|
||||
if [[ "${DESKTOP_SESSION}" =~ "plasma" ]] ; then
|
||||
qdbus org.kde.KWin /Compositor suspend
|
||||
elif [[ "${DESKTOP_SESSION}" =~ "mate" ]] ; then
|
||||
gsettings set org.mate.Marco.general compositing-manager false
|
||||
elif [[ "${DESKTOP_SESSION}" =~ "xfce" ]] ; then
|
||||
xfconf-query -c xfwm4 -p /general/use_compositing -s false
|
||||
elif [[ "${DESKTOP_SESSION}" =~ "cinnamon" ]] ; then
|
||||
gsettings set org.cinnamon.muffin unredirect-fullscreen-windows true
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pw_run () {
|
||||
|
Reference in New Issue
Block a user