Commit fa625f7b authored by Mikhail Tergoev's avatar Mikhail Tergoev

Update run scripts for Proton

parent 692d41a5
#!/bin/bash
# Author: PortWINE-Linux.ru
. "$(dirname $(readlink -f "$0"))/runlib"
if [ -e "${config_path}/dxvk" ]
then
START_PORTWINE
WINE_DX_TO_VULKAN
VULKAN_SET
else
START_PORTWINE
WINE_DX_TO_OPENGL
OPENGL_SET
fi
START_PORTWINE
echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log"
echo "${port_deb2}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "PortWINE version:" >> "${PORT_WINE_PATH}/${portname}.log"
read install_ver < "${config_path}/${portname}_ver"
echo ${install_ver} >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "${portname}-${install_ver}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "var_dxvk_on = ${var_dxvk_on}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Date and time of start debug for ${portname}" >> "${PORT_WINE_PATH}/${portname}.log"
date >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "The installation path of the ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "$link" >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Operating system" >> "${PORT_WINE_PATH}/${portname}.log"
lsb_release -d | sed s/Description/ОС/g >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Desktop Environment" >> "${PORT_WINE_PATH}/${portname}.log"
echo "$DESKTOP_SESSION" >> "${PORT_WINE_PATH}/${portname}.log"
echo "${XDG_CURRENT_DESKTOP}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Kernel" >> "${PORT_WINE_PATH}/${portname}.log"
uname -r >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "CPU" >> "${PORT_WINE_PATH}/${portname}.log"
cat /proc/cpuinfo | grep "model name" >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "RAM" >> "${PORT_WINE_PATH}/${portname}.log"
free -m >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Graphic cards" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Graphic cards and drivers" >> "${PORT_WINE_PATH}/${portname}.log"
lspci | grep VGA >> "${PORT_WINE_PATH}/${portname}.log"
lspci | grep 3D >> "${PORT_WINE_PATH}/${portname}.log"
if [ -x "`which glxinfo 2>/dev/null`" ]
then
glxinfo | grep OpenGL >> "${PORT_WINE_PATH}/${portname}.log"
else
echo "!!!glxinfo not found!!!" >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Vulkan info device name" >> "${PORT_WINE_PATH}/${portname}.log"
if [ -x "`which vulkaninfo 2>/dev/null`" ]
then
vulkaninfo | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log"
else
echo "!!!vulkaninfo not found!!!" >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo "---------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Version WINE in the Port" >> "${PORT_WINE_PATH}/${portname}.log"
"$WINELOADER" --version 2>&1 | tee -a "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
......@@ -62,17 +62,14 @@ export DXVK_LOG_LEVEL="info"
export VKD3D_DEBUG="warn"
export DXVK_HUD="fps,devinfo"
"/usr/bin/xterm" -geometry 150x10 -sb -e '"${optirun_on}" "${WINELOADER}" "${gamestart}" "${launch_parameters}" 2>> "${PORT_WINE_PATH}/${portname}.log"'
#"/usr/bin/xterm" -geometry 130x13 -sb -e 'echo "--------------------------------------------------------PORTWINE-LINUX.RU--------------------------------------------------------" && "${PROTONRUN}" "run" "${gamestart}" "${launch_parameters}" &>> "${PORT_WINE_PATH}/${portname}.log"'
START_PORTWINE
"${PROTONRUN}" "run" "${gamestart}" ${launch_parameters} &>> "${PORT_WINE_PATH}/${portname}.log"
sleep 3
while [ $(pgrep wineserver)>'0' ]
do
sleep 3
done
KILL9_WINEDEVICE | pwzen
STOP_PORTWINE | pwzen
deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++')
deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++')
echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log"
echo "$deb_text" | zenity --text-info --editable \
--width=800 --height=600 \
......
......@@ -11,11 +11,12 @@ then
export inst_set_top="Установка PortWINE"
export ss_title="Опции запуска:"
export ss_text="Выбирете желаемый вариант запуска ${portname}. Вы всегда можете изменить свой выбор, \nзапустив ярлык start_settings из каталога: \n"${PORT_WINE_PATH}"/settings/"
export ss_text="Выбирете желаемый вариант запуска ${portname}. Вы всегда можете изменить свой выбор, \nзапустив ярлык restart из каталога: "${PORT_WINE_PATH}"/"
export ss_ver="Версия?"
export ss_default_1="Cтандартный запуск"
export ss_default_2="Старый запуск, с вопросами и логами"
export ss_ogl_2="Использовать библиотеки WINE"
export ss_ogl_2="Использовать библиотеки wined3d"
export ss_ogl_3="Использовать библиотеки Vulkan"
export inst_succ="Установка завершена успешно!"
......@@ -59,11 +60,12 @@ then
export inst_set_top="PortWINE setting"
export ss_title="Settings::"
export ss_text="Choose your preferred ${portname} launch option. You can always change your choice by unsetting\nthe start_settings shortcut from the directory:\n"${PORT_WINE_PATH}"/settings/"
export ss_text="Choose your preferred ${portname} launch option. You can always change your choice by unsetting\nthe restart shortcut from the directory: "${PORT_WINE_PATH}"/"
export ss_ver="Version:"
export ss_default_1="Standard start"
export ss_default_2="Old startup, with questions and logs"
export ss_ogl_2="Use the built-in WINE libraries"
export ss_ogl_3="Use the Vulkan libraries"
export inst_succ="The installation was successful."
......
......@@ -71,12 +71,12 @@ else
elif [ ! -z "$(command -v python)" ]; then
python -m webbrowser "$urlg"
fi &
echo "150" > "${HOME}/.config/.PortTime"
echo "200" > "${HOME}/.config/.PortTime"
sleep 5 ;;
"${port_time5}")
echo "30" > "${HOME}/.config/.PortTime" ;;
echo "50" > "${HOME}/.config/.PortTime" ;;
"${port_time6}")
echo "80" > "${HOME}/.config/.PortTime" ;;
echo "100" > "${HOME}/.config/.PortTime" ;;
esac
fi
fi
......
......@@ -13,8 +13,6 @@ if [ $? -eq 1 ];then exit 1; fi
exit 0 ;;
"${port_del5}")
rm -fR "/home/${USER}/.local/share/applications/${gamename}.desktop"
rm -fR "${PORT_WINE_PATH}"
rm -fR "/home/${USER}/.config/${portname}"
ADD_IN_POST_UNINSTALL
zenity --info --title "PortWINE ${port_del6}!" --text "$portname ${port_del6}!" --no-wrap ;;
esac
......
#!/bin/bash
# Author: PortWINE-Linux.ru
. "$(dirname $(readlink -f "$0"))/runlib"
"${WINESERVER}" -k
kill $(prgep wineserver)
STOP_PORTWINE
STOP_PORTWINE | pwzen
rm -f "${config_path}/dxvk_on"
#!/bin/bash
# Author: PortWINE-Linux.ru
########################################################################
[ $(id -u) -eq 0 ] && echo "Do not run this script as root!" && zenity --error --text "Do not run this script as root!" && exit 1
for PROGS in "xterm" "wget" "curl"
do
if [ ! -x "`which "${PROGS}" 2>/dev/null`" ]
then
zenity --info --text "You need to install: ${PROGS}"
fi
done
########################################################################
sszen() {
zenity --progress --title="Settings..." --text="Updating start parameters" --pulsate --auto-close --auto-kill --width=450
}
########################################################################
pwzen() {
zenity --progress --title="Settings..." --text="Please wait!" --pulsate --auto-close --auto-kill --width=450
}
########################################################################
wine_pids=$(ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | perl -pe 's;^.*/proc/(\d+)/exe.*$;$1;g;')
if ! [ -z "${wine_pids}" ] ; then
kill -9 ${wine_pids}
fi
########################################################################
export kill_winedevice=0
export kill_explorer=0
########################################################################
cd "$(dirname "`readlink -f "$0"`")"
export link="$(pwd)"
cd "${link}/../../"
export PORT_WINE_PATH="$(pwd)"
cd "${link}"
. "${link}"/vars
export config_path="${PORT_WINE_PATH}/data/tmp"
if [ ! -d "${config_path}" ]
then
mkdir -p "${config_path}"
fi
if [ ! -e "${config_path}/${portname}_loc" ]
then
SET_LANG=`zenity --title "Install $portname" --text "Select the language\nВыберите язык" --list --radiolist \
......@@ -36,165 +38,74 @@ then
FALSE "ENG" `
echo "${SET_LANG}" > "${config_path}/${portname}_loc"
fi
. "${link}"/lang
if [ ! -e "${config_path}/${portname}_ver" ]
then
echo "10" > "${config_path}/${portname}_ver"
fi
if [ "${update_loc}" = "RUS" ]
then
LC_COLLATE_old="${LC_COLLATE}"
LC_CTYPE_old="${LC_CTYPE}"
LC_ALL_old="${LC_ALL}"
export LC_COLLATE=ru_RU.UTF-8
export LC_CTYPE=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
fi
export LD_LIBRARY_PATH_OLD="${LD_LIBRARY_PATH}"
export LD_PRELOAD_OLD="${LD_PRELOAD}"
export PATH_OLD="$PATH"
. "${link}"/lang
########################################################################
GLIBC_REQUIRED=2.27
GLIBC_VERSION="$(ldd --version | head -n1 | sed 's/\(.*\) //g' | sed 's/\.[^.]*//2g')"
if [ ! -d "${PORT_WINE_PATH}"/data/wine ]
then
if [ "$(echo ${GLIBC_VERSION} | sed 's/\.//g')" -lt "$(echo ${GLIBC_REQUIRED} | sed 's/\.//g')" ]
then
WINEDIR="${PORT_WINE_PATH}"/data/wine_glibc_223
if [ -d "${PORT_WINE_PATH}/data/wine_glibc_227" ]
then
rm -fr "${PORT_WINE_PATH}"/data/wine_glibc_227
fi
else
WINEDIR="${PORT_WINE_PATH}"/data/wine_glibc_227
if [ -d "${PORT_WINE_PATH}/data/wine_glibc_223" ]
then
rm -fr "${PORT_WINE_PATH}"/data/wine_glibc_223
fi
fi
else
WINEDIR="${PORT_WINE_PATH}"/data/wine
if [ ! -f "${config_path}/dxvk_on" ]
then
start_settings=`zenity --title "${ss_title}" --text "${ss_text}" --list --radiolist \
--column="${inst_set}" --column "${ss_ver}" --column "${ss_dr}" --width=600 --height=250 \
FALSE "OpenGL" "${ss_ogl_2}" \
FALSE "DXVK+HUD" "${ss_ogl_3} + HUD" \
TRUE "DXVK" "${ss_ogl_3}" `
if [ $? -eq 1 ];then exit 1; fi
case $start_settings in
"OpenGL")
echo "0" > "${config_path}/dxvk_on" ;;
"DXVK")
echo "1" > "${config_path}/dxvk_on" ;;
"DXVK+HUD")
echo "2" > "${config_path}/dxvk_on" ;;
esac
fi
echo "Used WINE: ${WINEDIR}"
read "var_dxvk_on" < "${config_path}/dxvk_on"
export "var_dxvk_on"
#if [ ! -x "`which "gamemode" 2>/dev/null`" ]
#then
# LD_PRELOAD="$LD_PRELOAD:/usr/${LIB}/libgamemodeauto.so"
# var_gamemode="gamemoderun"
#else
# var_gamemode=""
#fi
########################################################################
if [ ! -d "${WINEDIR}/lib64" ]
then
export WINEARCH=win32
export WINELOADER="${WINEDIR}/bin/wine"
export WINEDLLPATH="${WINEDIR}/lib/wine"
if [ "$runtime_libs" -eq "1" ]
then
export LD_LIBRARY_PATH=${WINEDIR}/runtime-lib_i386:${WINEDIR}/lib:${LD_LIBRARY_PATH}
else
export LD_LIBRARY_PATH=${WINEDIR}/lib:${LD_LIBRARY_PATH}
fi
else
export WINEARCH=win64
export WINELOADER="${WINEDIR}/bin/wine64"
export WINEDLLPATH="${WINEDIR}/lib64/wine"
if [ "$runtime_libs" -eq "1" ]
then
export LD_LIBRARY_PATH=${WINEDIR}/runtime-lib_x86_64:${WINEDIR}/runtime-lib_i386:${WINEDIR}/lib64:${WINEDIR}/lib:${LD_LIBRARY_PATH}
else
export LD_LIBRARY_PATH=${WINEDIR}/lib64:${WINEDIR}/lib:${LD_LIBRARY_PATH}
fi
fi
if [ ! -e "${WINEDIR}/share/wine/smb.conf" ]
then
export us_dir="$USER"
export STAGING_WRITECOPY=1
else
export us_dir="crossover"
fi
WINEDIR="${PORT_WINE_PATH}"/data/dist
WINELIB="${PORT_WINE_PATH}"/data/libs
export PROTONRUN="${PORT_WINE_PATH}/data/proton"
export WINEARCH=win64
export WINELOADER="${WINEDIR}/bin/wine"
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
export WINESERVER="${WINEDIR}/bin/wineserver"
export WINECFG="${WINEDIR}/bin/winecfg"
export WINEREG="${WINEDIR}/bin/regedit"
export WINEOPEN="${WINEDIR}/bin/winefile"
export WINEBOOT="${WINEDIR}/bin/wineboot"
export WINECMD="${WINEDIR}/bin/wineconsole"
export WINEPREFIX="${PORT_WINE_PATH}/data/prefix"
export WINEPREFIX="${PORT_WINE_PATH}/data/pfx"
export PATH="${WINEDIR}/bin":${PATH}
export WINESTART="C:\\windows\\command\\start.exe"
export STEAM_COMPAT_DATA_PATH="${PORT_WINE_PATH}/data/"
export LD_LIBRARY_PATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine:${WINELIB}/ubuntu12_32/steam-runtime/pinned_libs_32:${WINELIB}/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/usr/lib/i386-linux-gnu:/usr/local/lib:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/lib:/usr/lib:/usr/lib/i386-linux-gnu/i686:/usr/lib/i386-linux-gnu/sse2:/usr/lib/i386-linux-gnu/i686/sse2:${WINELIB}/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu:${WINELIB}/ubuntu12_32/steam-runtime/i386/lib:${WINELIB}/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu:${WINELIB}/ubuntu12_32/steam-runtime/i386/usr/lib:${WINELIB}/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu:${WINELIB}/ubuntu12_32/steam-runtime/amd64/lib:${WINELIB}/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu:${WINELIB}/ubuntu12_32/steam-runtime/amd64/usr/lib"
########################################################################
export DXVK_STATE_CACHE_PATH="${PATH_TO_GAME}"
export DXVK_STATE_CACHE=1
export __GL_SHADER_DISK_CACHE_PATH="${PATH_TO_GAME}"
export __GL_SHADER_DISK_CACHE=1
export __GL_SHADER_DISK_CACHE_SIZE=1000000000
export __GL_THREADED_OPTIMIZATIONS=1
export mesa_glthread=true
export DRI_PRIME=1
export urlg="http://portwine-linux.ru/donate"
#export CORES="$(getconf _NPROCESSORS_ONLN)"
export WINEFSYNC=1
export PROTON_NO_FSYNC=0
# Check if Wine has PBA or ESYNC features
if grep PBA "${WINEDIR}/lib/wine/wined3d.dll.so" || grep PBA "${WINEDIR}/lib64/wine/wined3d.dll.so" &>/dev/null
then
export PBA_ENABLE=1
else
export PBA_ENABLE=0
fi
#if grep ESYNC "${WINEDIR}/lib/wine/ntdll.dll.so"|| grep ESYNC "${WINEDIR}/lib64/wine/ntdll.dll.so" &>/dev/null
#then
# if ! ulimit -n 500000 &>/dev/null
# then
export WINEESYNC=0
# else
# export WINEESYNC=1
# fi
#fi
"${WINESERVER}" -k
chmod -R 755 "${WINEPREFIX}"
########################################################################
START_PORTWINE ()
{
gpu="0"
export DRI_PRIME=1
export optirun_on=env
if [ -x "`which primusrun 2>/dev/null`" ]
sh "${link}"/port_update
if [ "${var_dxvk_on}" -eq "1" ]
then
export optirun_on="primusrun"
gpu="1"
elif [ -x "`which optirun 2>/dev/null`" ]
export DXVK_HUD=0
elif [ "${var_dxvk_on}" -eq "2" ]
then
export optirun_on="optirun -b primus"
gpu="1"
export DXVK_HUD="fps,devinfo"
fi
if [ -x "`which nvidia-settings 2>/dev/null`" ]
then
nvidia-settings -a [gpu:"${gpu}"]/GPUPowerMizerMode=1 > /dev/null
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
fi
sh "${link}"/port_update
#rm -f "$WINEPREFIX/dosdevices/z:"
for x in "$WINEPREFIX/drive_c/users/${us_dir}/"*
do
if test -h "$x" && test -d "$x"
then
rm -f "$x"
mkdir -p "$x"
fi
done
for x in "$WINEPREFIX/drive_c/users/${us_dir}/Desktop/"*
do
if test -h "$x" && test -d "$x"
then
rm -f "$x"
mkdir -p "$x"
fi
done
#"$WINE" regedit /d 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{9D20AAE8-0625-44B0-9CA7-71889C2254D9}'
echo disable > "$WINEPREFIX/.update-timestamp"
ADD_IN_START_PORTWINE
}
########################################################################
......@@ -203,86 +114,29 @@ WAIT_WINESERVER ()
sleep 3
while [ $(pgrep wineserver)>'0' ]
do
sleep 1
done
}
########################################################################
RM_DXVK ()
{
"${WINESERVER}" -k
WAIT_WINESERVER
sed -i 's/\*d/d/g' "${WINEPREFIX}/user.reg"
for rm_userreg in "d3d10" "d3d10_1" "d3d10core" "d3d11" "dxgi"
do
sed -i "/$rm_userreg/d" "${WINEPREFIX}/user.reg"
rm -f "${WINEPREFIX}/drive_c/windows/system32/${rm_userreg}".dll
rm -f "${WINEPREFIX}/drive_c/windows/syswow64/${rm_userreg}".dll
sleep 2
done
"${WINEBOOT}" -u
WAIT_WINESERVER
echo "DXVK has been deleted"
}
########################################################################
OPENGL_SET ()
KILL9_WINEDEVICE ()
{
if grep DXVK "${WINEPREFIX}/drive_c/windows/system32/d3d11.dll" || grep DXVK "${WINEPREFIX}/drive_c/windows/syswow64/d3d11.dll"
if [ "${kill_winedevice}" -eq "1" ]
then
RM_DXVK | sszen
sleep 10
killall -r -s9 winedevice
fi
if grep DXVK "${WINEPREFIX}/drive_c/windows/system32/d3d11.dll" || grep DXVK "${WINEPREFIX}/drive_c/windows/syswow64/d3d11.dll"
if [ "${kill_explorer}" -eq "1" ]
then
echo "Error replacing DXVK files"
else
echo "Ok. DXVK is disabled"
sleep 10
killall -r -s9 explorer
fi
export PROTON_USE_WINED3D=1
export PROTON_USE_D9VK=0
export DXVK_STATE_CACHE=0
export __GL_SHADER_DISK_CACHE_PATH="${PATH_TO_GAME}"
export __GL_SHADER_DISK_CACHE=1
#export mesa_glthread="true"
}
########################################################################
VULKAN_SET ()
{
if ! grep DXVK "${WINEPREFIX}/drive_c/windows/system32/d3d11.dll" || ! grep DXVK "${WINEPREFIX}/drive_c/windows/syswow64/d3d11.dll"
then
sh "${link}/winetricks" -q --force dxvk
WAIT_WINESERVER
fi
echo "DXVK is enabled"
export PROTON_USE_WINED3D=0
export __GL_SHADER_DISK_CACHE=0
export DXVK_STATE_CACHE_PATH="${PATH_TO_GAME}"
export DXVK_STATE_CACHE=1
export mesa_glthread="false"
}
########################################################################
STOP_PORTWINE ()
{
WAIT_WINESERVER
if [ "${update_loc}" = "RUS" ]
then
export LC_COLLATE="${LC_COLLATE_old}"
export LC_CTYPE="${LC_CTYPE_old}"
export LC_ALL="${LC_ALL_old}"
fi
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH_OLD}"
export LD_PRELOAD="${LD_PRELOAD_OLD}"
export PATH="$PATH_OLD"
if [ -x "`which nvidia-settings 2>/dev/null`" ]
then
nvidia-settings -a [gpu:"${gpu}"]/GPUPowerMizerMode=0 > /dev/null
fi
ADD_IN_STOP_PORTWINE
rm -f "${PORT_WINE_PATH}"/0
rm -f "${link}"/0
exit 0
}
#!/bin/bash
# Author: PortWINE-Linux.ru
. "$(dirname $(readlink -f "$0"))/runlib"
rm -fR "${PORT_WINE_PATH}/Games"
rm -fR "${PORT_WINE_PATH}/Program Files"
#rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/users/${us}"
#rm -fR "${PORT_WINE_PATH}/data/prefix/drive_c/users/${us_dir}"
rm -fR "${PORT_WINE_PATH}/data/prefix/dosdevices"
rm -f "${PORT_WINE_PATH}/data/prefix/"*".reg"
rm -f "${PORT_WINE_PATH}/data/prefix/.update-timestamp"
rm -f "${PORT_WINE_PATH}/"*".log"
rm -f "${config_path}/update_notifier"
......@@ -19,30 +11,30 @@ then
fi
name_desktop="${gamename}"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Exec="${PORT_WINE_PATH}/data/scripts/start"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Path="${PORT_WINE_PATH}/data/scripts/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.local/share/applications/
name_desktop="readme"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Version=1.0" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Type=Link" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Icon="${PORT_WINE_PATH}/data/img/readme.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Version=1.0" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Type=Link" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Icon="${PORT_WINE_PATH}/data/img/readme.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "URL=${urlg}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
rm -fR "${PORT_WINE_PATH}/Settings"
mkdir -p "${PORT_WINE_PATH}/Settings"
for name_desktop in "winecfg" "winereg" "winefile" "wineboot" "stop" "winecmd" "start_settings"
for name_desktop in "winecfg" "winefile" "wineboot" "winecmd" "winereg"
do
echo ""[Desktop Entry]"
"Name=${name_desktop}"
......@@ -55,7 +47,7 @@ echo ""[Desktop Entry]"
chmod u+x "${PORT_WINE_PATH}/Settings/${name_desktop}.desktop"
done
for name_desktop in "remove" "debug"
for name_desktop in "remove" "debug" "restart"
do
echo ""[Desktop Entry]"
"Name=${name_desktop}"
......@@ -78,19 +70,11 @@ echo ""[Desktop Entry]"
"Icon="${PORT_WINE_PATH}/data/img/s.png""" > "${PORT_WINE_PATH}/Settings/winetricks.desktop"
chmod u+x "${PORT_WINE_PATH}/Settings/winetricks.desktop"
cp -f "${PORT_WINE_PATH}/data/prefix/reg.xuser/"* "${PORT_WINE_PATH}/data/prefix/"
sed -i "s/xuser/${USER}/g" "${PORT_WINE_PATH}/data/prefix/"*.reg
if [ ! -d "${PORT_WINE_PATH}/data/prefix/drive_c/users/steamuser/" ]
then
cp -fR "${PORT_WINE_PATH}/data/prefix/drive_c/users/Public/" "${PORT_WINE_PATH}/data/prefix/drive_c/users/$us_dir/"
fi
chmod u+x "${PORT_WINE_PATH}/data/scripts/"*
ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/drive_c"
ln -s "${PORT_WINE_PATH}/data/prefix/drive_c/" "${PORT_WINE_PATH}/drive_c"
sed -i "s/xuser/${USER}/g" "${PORT_WINE_PATH}/data/pfx/"*.reg
ADD_IN_POST_INSTALL
RM_DXVK
sh "${link}/start_settings"
exit 0
xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0
#!/bin/bash
# Author: PortWINE-Linux.ru
# Author: Tergoev M.A.
. "$(dirname $(readlink -f "$0"))/runlib"
sh "${link}"/start_settings
START_PORTWINE
"${PROTONRUN}" "run" "${gamestart}" ${launch_parameters} & KILL9_WINEDEVICE
#STOP_PORTWINE
#!/bin/bash
# Author: PortWINE-Linux.ru
. "$(dirname $(readlink -f "$0"))/runlib"
start_settings=`zenity --title "${ss_title}" --text "${ss_text}" --list --radiolist \
--column="${inst_set}" --column "${ss_ver}" --column "${ss_dr}" --width=600 --height=300 \
TRUE "${ss_default_1}" "${ss_default_2}" \
FALSE "OpenGL" "${ss_ogl_2}" \
FALSE "DXVK_latest" "AMD/Intel: latest: Nvidia: latest" \
FALSE "DXVK_1.2.3" "AMD/Intel: Mesa 19.1-git+: Nvidia: 418.52.05+" \
FALSE "DXVK_1.0.3" "AMD: Mesa 18.1.2+; Nvidia:396.24.02+" `
if [ $? -eq 1 ];then exit 1; fi
case $start_settings in
"${ss_default_1}")
RM_DXVK | sszen
if grep DXVK "${WINEPREFIX}/drive_c/windows/system32/d3d11.dll" || grep DXVK "${WINEPREFIX}/drive_c/windows/syswow64/d3d11.dll"
then
echo "error replacing DXVK files"
else
echo "Ok. DXVK is disabled"
fi
STOP_PORTWINE | sszen
cat > "${link}/start" <<EOF
#!/bin/bash
# Author: Tergoev M.A.
. "\$(dirname \$(readlink -f "\$0"))/runlib"
xsd=\`zenity --title "\${port_start1}" --text "\${port_start2}" --list --radiolist --height=260 \\
--column="\${inst_set}" --column "\${port_start3}" \\
TRUE "\${port_start4}" \\
FALSE "\${port_start8}" \`
if [ \$? -eq 1 ];then exit 1; fi
case \$xsd in
"\${port_start4}")
START_PORTWINE
WINE_DX_TO_OPENGL
OPENGL_SET
"/usr/bin/xterm" -geometry 130x13 -sb -e 'echo "--------------------------------------------------------PORTWINE-LINUX.RU--------------------------------------------------------" && "\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}"' ;;
"\${port_start8}")
START_PORTWINE
WINE_DX_TO_VULKAN
VULKAN_SET
"/usr/bin/xterm" -geometry 130x13 -sb -e 'echo "--------------------------------------------------------PORTWINE-LINUX.RU--------------------------------------------------------" && "\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}"' ;;
esac
STOP_PORTWINE
EOF
;;
"OpenGL")
RM_DXVK | sszen
if grep DXVK "${WINEPREFIX}/drive_c/windows/system32/d3d11.dll" || grep DXVK "${WINEPREFIX}/drive_c/windows/syswow64/d3d11.dll"
then
echo "error replacing DXVK files"
else
echo "Ok. DXVK is disabled"
fi
STOP_PORTWINE | sszen
cat > "${link}/start" <<EOF
#!/bin/bash
# Author: Tergoev M.A.
. "\$(dirname \$(readlink -f "\$0"))/runlib"
START_PORTWINE
WINE_DX_TO_OPENGL
OPENGL_SET
"/usr/bin/xterm" -geometry 130x13 -sb -e 'echo "--------------------------------------------------------PORTWINE-LINUX.RU--------------------------------------------------------" && "\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}"'
STOP_PORTWINE
EOF
;;
"DXVK_1.0.3")
if grep DXVK "${WINEPREFIX}/drive_c/windows/system32/d3d11.dll" || grep DXVK "${WINEPREFIX}/drive_c/windows/syswow64/d3d11.dll"
then
RM_DXVK | sszen
echo "Old DXVK is disabled"
fi
sh "${link}/winetricks" --force dxvk103 | sszen
STOP_PORTWINE | sszen
echo "New DXVK is enabled"
cat > "${link}/start" <<EOF
#!/bin/bash
# Author: Tergoev M.A.
. "\$(dirname \$(readlink -f "\$0"))/runlib"
START_PORTWINE
WINE_DX_TO_VULKAN
VULKAN_SET
"/usr/bin/xterm" -geometry 130x13 -sb -e 'echo "--------------------------------------------------------PORTWINE-LINUX.RU--------------------------------------------------------" && "\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}"'
STOP_PORTWINE
EOF
;;
"DXVK_1.2.3")
if grep DXVK "${WINEPREFIX}/drive_c/windows/system32/d3d11.dll" || grep DXVK "${WINEPREFIX}/drive_c/windows/syswow64/d3d11.dll"
then
RM_DXVK | sszen
echo "Old DXVK is disabled"
fi
sh "${link}/winetricks" --force dxvk123 | sszen
STOP_PORTWINE | sszen
echo "New DXVK is enabled"
cat > "${link}/start" <<EOF
#!/bin/bash
# Author: Tergoev M.A.
. "\$(dirname \$(readlink -f "\$0"))/runlib"
START_PORTWINE
WINE_DX_TO_VULKAN
VULKAN_SET
"/usr/bin/xterm" -geometry 130x13 -sb -e 'echo "--------------------------------------------------------PORTWINE-LINUX.RU--------------------------------------------------------" && "\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}"'
STOP_PORTWINE
EOF
;;
"DXVK_latest")
if grep DXVK "${WINEPREFIX}/drive_c/windows/system32/d3d11.dll" || grep DXVK "${WINEPREFIX}/drive_c/windows/syswow64/d3d11.dll"
then
RM_DXVK | sszen
echo "Old DXVK is disabled"
fi
sh "${link}/winetricks" --force dxvk | sszen
STOP_PORTWINE | sszen
echo "New DXVK is enabled"
cat > "${link}/start" <<EOF
#!/bin/bash
# Author: Tergoev M.A.
. "\$(dirname \$(readlink -f "\$0"))/runlib"
START_PORTWINE
WINE_DX_TO_VULKAN
VULKAN_SET
"/usr/bin/xterm" -geometry 130x13 -sb -e 'echo "--------------------------------------------------------PORTWINE-LINUX.RU--------------------------------------------------------" && "\${optirun_on}" "\${WINELOADER}" "\${gamestart}" "\${launch_parameters}"'
STOP_PORTWINE
EOF
;;
esac
#!/bin/bash
# Author: PortWINE-Linux.ru
# License GPL
# Author: Tergoev M.A.
########################################################################
export gamedir=" "
export gamename=" "
export portname=" "
export porturl="http://portwine-linux.ru/port-/"
export gamestart="c:\\Games\\${gamedir}\\ .exe"
export PATH_TO_GAME="${PORT_WINE_PATH}/data/prefix/drive_c/Games/${gamedir}/"
export portname=""
export gamename=""
export gamedir=""
export porturl="http://portwine-linux.ru/"
export PATH_TO_GAME="${PORT_WINE_PATH}/data/pfx/drive_c/Program Files (x86)/${gamedir}"
export gamestart="${PATH_TO_GAME}/.exe"
########################################################################
export runtime_libs=0
#export LD_PRELOAD="libpthread.so.0 libGL.so.1"
#export __GL_THREADED_OPTIMIZATIONS=1
#export __GL_SYNC_TO_VBLANK=0
#export vblank_mode=0
#__NV_PRIME_RENDER_OFFLOAD=1
#__GLX_VENDOR_LIBRARY_NAME=nvidia
export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
export STAGING_SHARED_MEMORY=1
export PROTON_FORCE_LARGE_ADDRESS_AWARE=0
export STAGING_SHARED_MEMORY=1
export WINEDEBUG="-all"
########################################################################
WINE_DX_TO_OPENGL ()
{
export launch_parameters=""
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export PROTON_OLD_GL_STRING=0
}
########################################################################
WINE_DX_TO_VULKAN ()
{
export launch_parameters=""
export PROTON_USE_SECCOMP=0
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
export DXVK_HUD=fps
#export PROTON_USE_D9VK=1
}
export WINEDEBUG="-all"
export kill_winedevice=0
export kill_explorer=0
########################################################################
ADD_IN_START_PORTWINE ()
{
if [ "${var_dxvk_on}" -eq "0" ]
then ###OPENGL###
export launch_parameters=""
export vblank_mode=0
export __GL_SYNC_TO_VBLANK=0
export PROTON_USE_WINED3D=1
export PROTON_USE_D9VK=0
export PROTON_NO_D3D11=0
export PROTON_NO_D3D10=0
export PROTON_OLD_GL_STRING=0
else ###DXVK###
export launch_parameters=""
export vblank_mode=1
export __GL_SYNC_TO_VBLANK=1
# export DXVK_CONFIG_FILE="${PATH_TO_GAME}"/dxvk.conf
export PROTON_USE_WINED3D=0
export PROTON_USE_D9VK=1
export PROTON_NO_D3D11=0
export PROTON_NO_D3D10=0
export PROTON_OLD_GL_STRING=0
# export RADV_PERFTEST=aco
# export MESA_LOADER_DRIVER_OVERRIDE=zink
fi
########################################################################
cd "${PATH_TO_GAME}"
}
########################################################################
......@@ -44,11 +56,6 @@ echo " "
########################################################################
ADD_IN_POST_INSTALL ()
{
`zenity --info --title "${inst_set_top}" --text "${inst_succ}" --no-wrap `
}
###################################################################
ADD_IN_POST_UNINSTALL ()
{
echo " "
`zenity --info --title "${inst_set_top}" --text "${inst_succ}" --no-wrap ` > /dev/null 2>&1
}
########################################################################
......@@ -5,9 +5,7 @@
rm -f ${link}/winetricks
"/usr/bin/xterm" -e wget -T 3 --output-document="${link}/winetricks" https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x "${link}/winetricks"
sed -i '15a . $(dirname $(readlink -f "$0"))/runlib\nSTART_PORTWINE\nexport WINELOADER="${WINEDIR}/bin/wine" ' "${link}/winetricks"
sed -i '18a . $(dirname $(readlink -f "$0"))/runlib\nSTART_PORTWINE\nexport WINELOADER="${WINEDIR}/bin/wine" ' "${link}/winetricks"
sleep 1
export WINEDEBUG=""
"/usr/bin/xterm" -e "${WINEBOOT}" -u
rm -f "${config_path}/dxvk"
"${PROTONRUN}" "run" "winecfg" | pwzen
STOP_PORTWINE
......@@ -3,5 +3,5 @@
runlib_path="$(dirname $(readlink -f "$0"))"/runlib
. "$runlib_path"
START_PORTWINE
"$WINECFG"
"${PROTONRUN}" "run" "winecfg"
STOP_PORTWINE
......@@ -3,5 +3,5 @@
. "$(dirname $(readlink -f "$0"))/runlib"
START_PORTWINE
"$WINECMD"
"${PROTONRUN}" "run" "cmd"
STOP_PORTWINE
#!/bin/bash
# Author: PortWINE-Linux.ru
. "$(dirname $(readlink -f "$0"))/runlib"
START_PORTWINE
"/usr/bin/xterm" -e "$WINEOPEN && sleep 10"
"${PROTONRUN}" "run" "explorer"
STOP_PORTWINE
......@@ -3,5 +3,5 @@
. "$(dirname $(readlink -f "$0"))/runlib"
START_PORTWINE
"$WINEREG"
"${PROTONRUN}" "run" "regedit"
STOP_PORTWINE
This source diff could not be displayed because it is too large. You can view the blob instead.
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