forked from CastroFidel/PortWINE
Scripts version 2093
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
#!/bin/env bash
|
||||
#!/usr/bin/env bash
|
||||
# Author: Castro-Fidel (PortWINE-Linux.ru)
|
||||
# Development assistants: Cefeiko; Dezert1r; Taz_mania; Anton_Famillianov; gavr; RidBowt; chal55rus
|
||||
# Development assistants: Cefeiko; Dezert1r; Taz_mania; Anton_Famillianov; gavr; RidBowt; chal55rus; UserDiscord
|
||||
########################################################################
|
||||
echo '
|
||||
████─████─████─███─█───█─███─█──█─███
|
||||
@ -32,7 +32,6 @@ start_portwine () {
|
||||
sed -i '/Steam.exe/d' "${WINEDIR}/share/wine/wine.inf"
|
||||
sed -i '/\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf"
|
||||
if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e"
|
||||
# elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- /usr/bin/env bash" ???
|
||||
elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e"
|
||||
elif [ -x "`which xterm 2>/dev/null`" ]; then export PW_TERM="${PW_XTERM}"
|
||||
else export PW_TERM="${PW_XTERM}"
|
||||
@ -43,96 +42,7 @@ start_portwine () {
|
||||
fi
|
||||
|
||||
pw_update_pfx_cover_gui
|
||||
|
||||
if [[ ! -z "`cat /etc/*-release | grep -i opensuse`" ]] \
|
||||
|| [[ ! -z "`cat /etc/*-release | grep -i centos`" ]] \
|
||||
|| [[ ! -z "`cat /etc/*-release | grep -i fedora`" ]] \
|
||||
|| [[ ! -z "`cat /etc/*-release | grep -i gentoo`" ]] ; then
|
||||
if check_symlink "${PW_WINELIB}/portable/lib/lib64" ; then
|
||||
rm -fr "${PW_WINELIB}/portable/lib/lib64"
|
||||
fi
|
||||
if [[ ! -d "${PW_WINELIB}/portable/lib/lib64" ]] ; then
|
||||
mv -f "${PW_WINELIB}/portable/lib/lib" "${PW_WINELIB}/portable/lib/lib64"
|
||||
fi
|
||||
if [[ ! -d "${PW_WINELIB}/portable/lib/lib" ]] ; then
|
||||
mv -f "${PW_WINELIB}/portable/lib/lib32" "${PW_WINELIB}/portable/lib/lib"
|
||||
fi
|
||||
fi
|
||||
|
||||
PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"
|
||||
if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then
|
||||
if [[ -z "`echo ${PW_LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then
|
||||
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:${LD_LIBRARY_PATH}"
|
||||
fi
|
||||
else
|
||||
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases"
|
||||
fi
|
||||
|
||||
if [[ ! -z "${VK_LAYER_PATH}" ]]
|
||||
then export VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/:${VK_LAYER_PATH}"
|
||||
else export VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/"
|
||||
fi
|
||||
if [ ! -z ${PATH_TMP} ]
|
||||
then export PATH="${PATH_TMP}"
|
||||
else export PATH_TMP="${PATH}"
|
||||
fi
|
||||
if [ ! -z "${PATH}" ]
|
||||
then export PATH="${WINEDIR}/bin:${PATH}:${PW_WINELIB}/portable/bin"
|
||||
else export PATH="${WINEDIR}/bin:${PW_WINELIB}/portable/bin"
|
||||
fi
|
||||
if [ "${PW_USE_GSTREAMER}" = 1 ] ; then
|
||||
if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; then
|
||||
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
|
||||
fi
|
||||
export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"
|
||||
export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz
|
||||
export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz
|
||||
export MEDIACONV_VIDEO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/video.foz
|
||||
export MEDIACONV_VIDEO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_video.foz
|
||||
else
|
||||
var_winedlloverride_update "winegstreamer="
|
||||
fi
|
||||
# export STAGING_SHARED_MEMORY=1
|
||||
# export PW_FORCE_LARGE_ADDRESS_AWARE=1
|
||||
|
||||
if [ "${PW_USE_RUNTIME}" = 0 ] ; then
|
||||
export pw_runtime=""
|
||||
if [ "${PW_MANGOHUD}" = 1 ] ; then
|
||||
[ -z `which mangohud` ] && export PW_MANGOHUD=0
|
||||
fi
|
||||
echo "RUNTIME is disabled"
|
||||
else
|
||||
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]]; then
|
||||
export pw_runtime="${PW_WINELIB}/run \
|
||||
--unshare-home \
|
||||
--home="${PW_SANDBOX_HOME_PATH}" \
|
||||
--"
|
||||
else
|
||||
export pw_runtime="${PW_WINELIB}/run \
|
||||
--share-home \
|
||||
--"
|
||||
fi
|
||||
# export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/runtime"
|
||||
export PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=1
|
||||
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=1
|
||||
export PRESSURE_VESSEL_GC_RUNTIMES=0
|
||||
export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel"
|
||||
unset PRESSURE_VESSEL_FILESYSTEMS_RO
|
||||
unset PRESSURE_VESSEL_FILESYSTEMS_RW
|
||||
for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do
|
||||
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ]
|
||||
then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}"
|
||||
else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}"
|
||||
fi
|
||||
done
|
||||
for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do
|
||||
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ]
|
||||
then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}"
|
||||
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
|
||||
fi
|
||||
done
|
||||
echo "RUNTIME is enabled"
|
||||
fi
|
||||
pw_init_runtime
|
||||
|
||||
if [[ ! -z "${PW_LOG}" && "${PW_LOG}" != 0 ]] ; then
|
||||
export WINEDEBUG="fixme-all,err+loaddll,err+dll,err+file,err+reg"
|
||||
@ -143,11 +53,12 @@ start_portwine () {
|
||||
export WINEDEBUG="-all"
|
||||
export DXVK_LOG_LEVEL="none"
|
||||
export VKD3D_SHADER_DEBUG="none"
|
||||
export VKD3D_FEATURE_LEVEL="12_0"
|
||||
export VKD3D_DEBUG="none"
|
||||
export DXVK_LOG_PATH="none"
|
||||
fi
|
||||
|
||||
export VKD3D_FEATURE_LEVEL="12_0"
|
||||
|
||||
#default wine-mono override for FNA games
|
||||
export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n"
|
||||
|
||||
@ -312,6 +223,9 @@ start_portwine () {
|
||||
then
|
||||
pw_clear_pfx
|
||||
check_dirs_and_files_in_pfx
|
||||
if [[ -d "${WINEDIR}/share/default_pfx/" ]] ; then
|
||||
cp -frL "${WINEDIR}/share/default_pfx/"* "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/"
|
||||
fi
|
||||
${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
wait_wineserver &&
|
||||
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
|
||||
@ -335,7 +249,7 @@ start_portwine () {
|
||||
#enabled BattleEye_Runtime and EasyAntiCheat_Runtime
|
||||
export PROTON_BATTLEYE_RUNTIME="${PW_PLUGINS_PATH}/d3d_extras/BattlEye_Runtime"
|
||||
export PROTON_EAC_RUNTIME="${PW_PLUGINS_PATH}/d3d_extras/EasyAntiCheat_Runtime"
|
||||
var_winedlloverride_update "easyanticheat_x86,easyanticheat_x64,beclient,beclient_x64=b,n"
|
||||
var_winedlloverride_update "beclient,beclient_x64=b,n"
|
||||
#try link d3d extras libs
|
||||
for d3d_extras_from_plugins in d3dcompiler_33 d3dcompiler_34 d3dcompiler_35 d3dcompiler_36 d3dcompiler_37 \
|
||||
d3dcompiler_38 d3dcompiler_39 d3dcompiler_40 d3dcompiler_41 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 \
|
||||
@ -455,20 +369,10 @@ start_portwine () {
|
||||
echo "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}"
|
||||
chmod -R 775 "${HOME}/.cache/winetricks"
|
||||
# if [ "${PW_WINE_VER}" != "${PW_PROTON_STEAM_VER}" ] ; then
|
||||
# export PW_WINE_VER_FROM_DB="${PW_WINE_USE}"
|
||||
# export PW_WINE_VER="${PW_PROTON_STEAM_VER}"
|
||||
# init_wine_ver
|
||||
# fi
|
||||
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
wait_wineserver
|
||||
kill_portwine
|
||||
# if [ "${PW_WINE_VER_FROM_DB}" != "${PW_PROTON_STEAM_VER}" ] ; then
|
||||
# export PW_SILENT_RESTART=1
|
||||
# /usr/bin/env bash ${pw_full_command_line[*]} &
|
||||
# exit 0
|
||||
# fi
|
||||
fi
|
||||
fi
|
||||
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] && [[ -z `cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" | grep "Windows $PW_WINDOWS_VER"` ]] ; then
|
||||
@ -481,6 +385,10 @@ start_portwine () {
|
||||
kill_portwine
|
||||
echo "Set to win${PW_WINDOWS_VER}"
|
||||
fi
|
||||
if [[ "${portwine_exe}" == *-Shipping.exe ]] ; then
|
||||
echo "Disable EAC"
|
||||
[[ -z "${LAUNCH_PARAMETERS}" ]] && export LAUNCH_PARAMETERS+="-eac-nop-loaded "
|
||||
fi
|
||||
pw_stop_progress_bar &&
|
||||
pw_tray_icon &&
|
||||
if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then
|
||||
@ -524,11 +432,12 @@ pw_run () {
|
||||
export -f pw_run
|
||||
|
||||
###MAIN###
|
||||
if [ $(id -u) -eq 0 ] ; then
|
||||
if [[ $(id -u) -eq 0 ]] ; then
|
||||
zenity_error "Do not run the script from the superuser!"
|
||||
exit 1
|
||||
fi
|
||||
if [[ ! -z "${PW_SILENT_RESTART}" && "${PW_SILENT_RESTART}" = 1 ]] ; then
|
||||
create_new_dir "${HOME}/.local/share/applications"
|
||||
if [[ ! -z "${PW_SILENT_RESTART}" ]] && [[ "${PW_SILENT_RESTART}" = 1 ]] ; then
|
||||
export PW_GUI_DISABLED_CS=1
|
||||
unset PW_SILENT_RESTART
|
||||
else
|
||||
@ -537,7 +446,7 @@ fi
|
||||
unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET PW_ICON_FOR_YAD
|
||||
unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREATE_DB
|
||||
unset CHK_SYMLINK_FILE MESA_GL_VERSION_OVERRIDE PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PORTWINE_CREATE_SHORTCUT_NAME
|
||||
unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER
|
||||
unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME
|
||||
|
||||
export portname=PortProton
|
||||
|
||||
|
Reference in New Issue
Block a user