Commit d1bb1d7f authored by Mikhail Tergoev's avatar Mikhail Tergoev

###Scripts version 2052###

parent 3c928884
История изменений и дальнейшие планы: История изменений и дальнейшие планы:
----------------------------------------- -----------------------------------------
В планах: В планах:
* перенести все библиотеки и бинарники добавленые нашим проектом в Portable
* добавить проверку на существоваие каталога wine, если таковой нет, предложить стандартную версию, или скачать другую
* добавить inxi в runtime и его вывод с аргументом -G в log * добавить inxi в runtime и его вывод с аргументом -G в log
* добавить проверку количества db файлов на один exe * добавить проверку количества db файлов на один exe
* заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru * заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru
----------------------------------------- -----------------------------------------
###Scripts version 2052###
* ребрендинг лого (исходник лого есть в Discord - жду ваши варианты иконок в формате png)
* добалена обложка при загрузке клиента League of Legends
* добавлена анимация при загрузке PortProton
* добавлена анимация при обновллении префикса и работы winetricks (с возможностью постмотреть вывод терминала внутри GUI)
* копирование d3d_extras заменено на создание символьных ссылок (еще немного увеличевает скорость запуска порта)
###Scripts version 2051### ###Scripts version 2051###
* Добавлена проверка и скачивание актуальной версии WINE для League of Legends перед запуском игры * добавлена проверка и скачивание актуальной версии WINE для League of Legends перед запуском игры
###Scripts version 2050### ###Scripts version 2050###
* HOTFIX - отображение версий WINE при создании db файла * HOTFIX - отображение версий WINE при создании db файла
...@@ -32,7 +41,7 @@ ...@@ -32,7 +41,7 @@
###Scripts version 2047### ###Scripts version 2047###
* автоматическое отключение gamemode для системы Red Hat (исправляет долгую загрузку wine) * автоматическое отключение gamemode для системы Red Hat (исправляет долгую загрузку wine)
* обновлен PROTON_STEAM до версии 6.8-3 (cовместно с dxvk, vkd3d и nvapi) * обновлен PROTON_STEAM до версии 6.3-8rc (cовместно с dxvk, vkd3d и nvapi)
* обновлен PROTON_GE (dxvk, vkd3d из 6.21-1 и nvapi до внрсии 0.5) * обновлен PROTON_GE (dxvk, vkd3d из 6.21-1 и nvapi до внрсии 0.5)
* добавлены библиотеки для начальной поддержки Battle Eye * добавлены библиотеки для начальной поддержки Battle Eye
* обновлен контейнер до актуального состояния steam runtime soldiers * обновлен контейнер до актуального состояния steam runtime soldiers
......
data_from_portwine/img/gui/port_proton.png

12.1 KB | W: | H:

data_from_portwine/img/gui/port_proton.png

50.4 KB | W: | H:

data_from_portwine/img/gui/port_proton.png
data_from_portwine/img/gui/port_proton.png
data_from_portwine/img/gui/port_proton.png
data_from_portwine/img/gui/port_proton.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/w.png

73 KB | W: | H:

data_from_portwine/img/w.png

409 KB | W: | H:

data_from_portwine/img/w.png
data_from_portwine/img/w.png
data_from_portwine/img/w.png
data_from_portwine/img/w.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -294,6 +294,8 @@ init_wine_ver () { ...@@ -294,6 +294,8 @@ init_wine_ver () {
done done
fi fi
[[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version"
if [[ ! -d "${WINEDIR}/lib64/" && -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then if [[ ! -d "${WINEDIR}/lib64/" && -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
create_new_dir "${WINEDIR}/lib64/wine" create_new_dir "${WINEDIR}/lib64/wine"
mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/" mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/"
...@@ -323,6 +325,32 @@ sszen() { ...@@ -323,6 +325,32 @@ sszen() {
zenity --progress --title="Settings..." --text="Updating parameters" --pulsate --auto-close --width=500 --height=90 --no-cancel zenity --progress --title="Settings..." --text="Updating parameters" --pulsate --auto-close --width=500 --height=90 --no-cancel
} }
pw_start_progress_bar_cover () {
PW_GIF_FILE="$1"
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 20}'`
"${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
--skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y > /dev/null 2>&1 &
}
pw_update_pfx_cover_gui () {
PW_KEY_PROGRESS_BAR=$RANDOM
PW_GIF_FILE="${PW_GUI_ICON_PATH}/covers/pw_update_pfx_cover.gif"
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 40}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 80}'`
echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log"
while [[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] ; do
sleep 1
while read -r line ; do
echo "# ${line}"
done
done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_new}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="2" --text-info --tail &
"${pw_yad_new}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="1" --picture --filename="${PW_GIF_FILE}" --image-on-top &
"${pw_yad_new}" --notebook --key="$PW_KEY_PROGRESS_BAR" --tab=LOGO --tab=TERMINAL --no-buttons --undecorated \
--center --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --tab-pos=bottom
}
pw_start_progress_bar_cs () { pw_start_progress_bar_cs () {
"${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \ "${pw_yad}" --progress --progress-text="$@" --pulsate --close-on-unfocus \
--no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 > /dev/null 2>&1 & --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 > /dev/null 2>&1 &
...@@ -336,9 +364,13 @@ pw_start_progress_bar_block () { ...@@ -336,9 +364,13 @@ pw_start_progress_bar_block () {
} }
pw_stop_progress_bar () { pw_stop_progress_bar () {
try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log"
while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ] while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ]
do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` > /dev/null 2>&1 do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` > /dev/null 2>&1
done done
while [ ! -z "`pgrep -a yad | grep -i "PortProton" | awk '{print $1}'`" ]
do kill -n 9 `pgrep -a yad | grep -i "PortProton" | awk '{print $1}' | head -n 1` > /dev/null 2>&1
done
} }
pw_download_libs () { pw_download_libs () {
...@@ -447,6 +479,9 @@ stop_portwine () { ...@@ -447,6 +479,9 @@ stop_portwine () {
fi fi
try_remove_dir "${PW_WINELIB}/var" try_remove_dir "${PW_WINELIB}/var"
find "${WINEPREFIX}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete find "${WINEPREFIX}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete
if [[ ! -z "`pgrep -a start.sh | grep -i portproton | awk '{print $1}'`" ]]
then kill -s KILL `pgrep -a start.sh | grep -i portproton | awk '{print $1}'`
fi &
exit 0 exit 0
} }
open_changelog () { open_changelog () {
...@@ -822,11 +857,11 @@ gui_proton_downloader () { ...@@ -822,11 +857,11 @@ gui_proton_downloader () {
fi fi
done done
if [[ ${VERSION_INSTALLED_WINE} ]]; then if [[ ! -z "${VERSION_INSTALLED_WINE}" ]]; then
try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_INSTALLED_WINE}" try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_INSTALLED_WINE}"
unset VERSION_INSTALLED_WINE unset VERSION_INSTALLED_WINE
gui_proton_downloader /bin/bash -c ${pw_full_command_line[*]} &
exit 0 exit 0
fi fi
print_info "Download and install ${VERSION_WINE_GIT}..." print_info "Download and install ${VERSION_WINE_GIT}..."
......
...@@ -58,8 +58,9 @@ check_download_wine_ver_for_lol () { ...@@ -58,8 +58,9 @@ check_download_wine_ver_for_lol () {
} }
check_download_wine_ver_for_lol check_download_wine_ver_for_lol
check_port_for_lol () { check_port_for_lol () {
pw_start_progress_bar_block "Loading and start League of Legends. Please wait. It can take a long time!" "${pw_yad}" --progress --progress-text="Loading and start League of Legends. Please wait. It can take a long time!" \
--pulsate --no-buttons --undecorated --center --skip-taskbar --image="${PW_GUI_ICON_PATH}/covers/lol_cover.jpg" > /dev/null 2>&1 &
process=LeagueClientUx.exe process=LeagueClientUx.exe
while [[ -z `pidof ${process}` ]] ; do while [[ -z `pidof ${process}` ]] ; do
echo "PID ${process} not found" echo "PID ${process} not found"
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#Rating=5 #Rating=5
export PW_COMMENT_DB="Wargaming Game Center" export PW_COMMENT_DB="Wargaming Game Center"
################################################ ################################################
export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1 #dxvk, vkd3d or 0 for OpenGL export PW_VULKAN_USE=1 #dxvk, vkd3d or 0 for OpenGL
export LAUNCH_PARAMETERS="--disable-gpu" # Additional launch options export LAUNCH_PARAMETERS="--disable-gpu" # Additional launch options
#export PW_USE_TERMINAL=1 #export PW_USE_TERMINAL=1
......
...@@ -34,7 +34,8 @@ start_portwine () { ...@@ -34,7 +34,8 @@ start_portwine () {
cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}" cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}"
xrdb -merge "${HOME}/.Xresources" xrdb -merge "${HOME}/.Xresources"
fi fi
pw_start_progress_bar_block "Update prefix for ${PW_WINE_USE}... Please wait..."
pw_update_pfx_cover_gui &
if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then
if [[ -z "`echo ${LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then if [[ -z "`echo ${LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then
...@@ -277,14 +278,14 @@ start_portwine () { ...@@ -277,14 +278,14 @@ start_portwine () {
export PW_WINE_USE=${PW_PROTON_STEAM_VER} export PW_WINE_USE=${PW_PROTON_STEAM_VER}
init_wine_ver init_wine_ver
check_dirs_and_files_in_pfx check_dirs_and_files_in_pfx
${pw_runtime} env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i ${pw_runtime} env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver && wait_wineserver &&
export PW_WINE_USE="${OLD_PW_WINE_USE}" export PW_WINE_USE="${OLD_PW_WINE_USE}"
init_wine_ver init_wine_ver
echo "${PW_WINE_USE}" > "${WINEPREFIX}/.wine_ver" echo "${PW_WINE_USE}" > "${WINEPREFIX}/.wine_ver"
elif [[ -z "`cat ${WINEPREFIX}/.wine_ver | grep ${PW_WINE_USE}`" ]] ; then elif [[ -z "`cat ${WINEPREFIX}/.wine_ver | grep ${PW_WINE_USE}`" ]] ; then
check_dirs_and_files_in_pfx check_dirs_and_files_in_pfx
${pw_runtime} env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i ${pw_runtime} env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver && wait_wineserver &&
echo "${PW_WINE_USE}" > "${WINEPREFIX}/.wine_ver" echo "${PW_WINE_USE}" > "${WINEPREFIX}/.wine_ver"
fi fi
...@@ -315,13 +316,13 @@ start_portwine () { ...@@ -315,13 +316,13 @@ start_portwine () {
try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/BEClient.so "${WINEDIR}"/lib try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/BEClient.so "${WINEDIR}"/lib
try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/BEClient_x64.so "${WINEDIR}"/lib64 try_force_link_file "${PW_PLUGINS_PATH}"/BattlEye_Runtime/BEClient_x64.so "${WINEDIR}"/lib64
var_winedlloverride_update "beclient,beclient_x64=b,n" var_winedlloverride_update "beclient,beclient_x64=b,n"
#try copy d3d extras libs #try link d3d extras libs
for d3d_extras_from_plugins in d3dcompiler_43 d3dx9_27 d3dx9_32 d3dx9_37.dll d3dx9_42 d3dcompiler_47 d3dx9_28.dll \ for d3d_extras_from_plugins in d3dcompiler_43 d3dx9_27 d3dx9_32 d3dx9_37.dll d3dx9_42 d3dcompiler_47 d3dx9_28.dll \
d3dx9_33 d3dx9_38 d3dx9_43 d3dx9_24 d3dx9_29 d3dx9_34 d3dx9_39 d3dx9_25 d3dx9_30 d3dx9_35 d3dx9_40 d3dx9_26 \ d3dx9_33 d3dx9_38 d3dx9_43 d3dx9_24 d3dx9_29 d3dx9_34 d3dx9_39 d3dx9_25 d3dx9_30 d3dx9_35 d3dx9_40 d3dx9_26 \
d3dx9_31 d3dx9_36 d3dx9_41 d3dx9_31 d3dx9_36 d3dx9_41
do do
try_copy_file "${PW_PLUGINS_PATH}/d3d_extras/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PW_PLUGINS_PATH}/d3d_extras/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
try_copy_file "${PW_PLUGINS_PATH}/d3d_extras/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${PW_PLUGINS_PATH}/d3d_extras/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
var_winedlloverride_update "${d3d_extras_from_plugins}=n" var_winedlloverride_update "${d3d_extras_from_plugins}=n"
done done
var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n;lsteamclient,winemenubuilder.exe=" var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n;lsteamclient,winemenubuilder.exe="
...@@ -413,13 +414,15 @@ start_portwine () { ...@@ -413,13 +414,15 @@ start_portwine () {
if [ "$?" == "1" ] ; then if [ "$?" == "1" ] ; then
if [ -z "${PW_DLL_NEED_INSTALL}" ] if [ -z "${PW_DLL_NEED_INSTALL}" ]
then export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx}" then export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx}"
else export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx} ${PW_DLL_NEED_INSTALL}" else export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx} ${PW_DLL_NEED_INSTALL}"
fi fi
export USE_WT_FROM_DB=1 export USE_WT_FROM_DB=1
fi fi
done done
if [ "${USE_WT_FROM_DB}" == "1" ] ; then if [ "${USE_WT_FROM_DB}" == "1" ] ; then
update_winetricks 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"
print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}"
chmod -R 775 "${HOME}/.cache/winetricks" chmod -R 775 "${HOME}/.cache/winetricks"
if [ "${PW_WINE_VER}" != "${PW_PROTON_STEAM_VER}" ] ; then if [ "${PW_WINE_VER}" != "${PW_PROTON_STEAM_VER}" ] ; then
...@@ -427,8 +430,8 @@ start_portwine () { ...@@ -427,8 +430,8 @@ start_portwine () {
export PW_WINE_VER="${PW_PROTON_STEAM_VER}" export PW_WINE_VER="${PW_PROTON_STEAM_VER}"
init_wine_ver init_wine_ver
fi fi
${pw_runtime} xterm -e env PATH="${PATH}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" \ ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" \
"${PORT_WINE_TMP_PATH}/winetricks" -q -r ${PW_DLL_NEED_INSTALL} "${PORT_WINE_TMP_PATH}/winetricks" -q -r ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
if [ "${PW_WINE_VER_FROM_DB}" != "${PW_PROTON_STEAM_VER}" ] ; then if [ "${PW_WINE_VER_FROM_DB}" != "${PW_PROTON_STEAM_VER}" ] ; then
export PW_SILENT_RESTART=1 export PW_SILENT_RESTART=1
/bin/bash -c ${pw_full_command_line[*]} & /bin/bash -c ${pw_full_command_line[*]} &
...@@ -447,7 +450,7 @@ start_portwine () { ...@@ -447,7 +450,7 @@ start_portwine () {
fi fi
pw_stop_progress_bar && pw_stop_progress_bar &&
pw_tray_icon pw_tray_icon
pw_start_progress_bar_cs "Start ${portname}... Please wait..." pw_start_progress_bar_cover "${PW_GUI_ICON_PATH}/covers/pw_loading_cover.gif"
add_in_start_portwine add_in_start_portwine
} }
...@@ -504,6 +507,8 @@ export portname=PortProton ...@@ -504,6 +507,8 @@ export portname=PortProton
cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)" cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)"
cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)" cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)"
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
rm -f "${PORT_WINE_TMP_PATH}"/*.tar.*
if [ -d "${PORT_WINE_PATH}/data/dist" ] ; then if [ -d "${PORT_WINE_PATH}/data/dist" ] ; then
chmod -R 755 "${PORT_WINE_PATH}/data/dist" chmod -R 755 "${PORT_WINE_PATH}/data/dist"
orig_IFS="$IFS" orig_IFS="$IFS"
...@@ -525,7 +530,7 @@ create_new_dir "${PORT_WINE_TMP_PATH}"/mono ...@@ -525,7 +530,7 @@ create_new_dir "${PORT_WINE_TMP_PATH}"/mono
cd "${PORT_SCRIPTS_PATH}" cd "${PORT_SCRIPTS_PATH}"
. "${PORT_SCRIPTS_PATH}/var" . "${PORT_SCRIPTS_PATH}/var"
export PW_PLUGINS_PATH="${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}/" export PW_PLUGINS_PATH="${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}"
if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ] ; then if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ] ; then
SET_LANG=`zenity --title "Install $portname" --text "Select the language" --list --radiolist \ SET_LANG=`zenity --title "Install $portname" --text "Select the language" --list --radiolist \
......
...@@ -5,7 +5,8 @@ if [ -f "$1" ]; then ...@@ -5,7 +5,8 @@ if [ -f "$1" ]; then
export portwine_exe="$(readlink -f "$1")" export portwine_exe="$(readlink -f "$1")"
fi fi
. "$(dirname $(readlink -f "$0"))/runlib" . "$(dirname $(readlink -f "$0"))/runlib"
kill_portwine kill_portwine
pw_stop_progress_bar
portwine_launch () { portwine_launch () {
start_portwine start_portwine
...@@ -191,7 +192,7 @@ pw_winecmd () { ...@@ -191,7 +192,7 @@ pw_winecmd () {
export PW_USE_TERMINAL=1 export PW_USE_TERMINAL=1
start_portwine start_portwine
cd "${WINEPREFIX}/drive_c" cd "${WINEPREFIX}/drive_c"
${pw_runtime} xterm -e env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" "${WINELOADER}" cmd ${pw_runtime} env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" xterm -e "${WINELOADER}" cmd
stop_portwine stop_portwine
} }
......
#!/bin/bash #!/bin/bash
#Author: Castro-Fidel (PortWINE-Linux.ru) #Author: Castro-Fidel (PortWINE-Linux.ru)
#SCRIPTS_NEXT_VERSION=2051 #SCRIPTS_NEXT_VERSION=2052
#PORT_NEXT_VERSION=97 #PORT_NEXT_VERSION=97
######################################################################## ########################################################################
export PW_MANGOHUD=1 export PW_MANGOHUD=1
......
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