diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng
index 7f296a8a..d08fd339 100755
--- a/data_from_portwine/changelog_eng
+++ b/data_from_portwine/changelog_eng
@@ -2,6 +2,11 @@ You can help us in the development of the project on the website: https://linux-
 ----------------------------------------
 Changelog:
 
+###Scripts version 2258### Date: 06.03.2024 / Download update size: 15 megabytes
+* fixed saving complex arguments for an exe file (example: "- /B/TX /lang:01 /tex:1 /spg:50 KingKongTheGame.bf")
+* added automatic recovery shortcut to the menu for Steam Deck after SteamOS update (it is necessary to launch PP with any other shortcut of any game, or from Gaming Mode)
+* the use of gamemode is disabled for Steam Deck in Gaming Mode (the session itself uses the pre-installed gamemode in SteamOS)
+
 ###Scripts version 2257### Date: 15.02.2024 / Download update size: 15 megabytes
 * for all setup.exe is automatically selected by WINE_LG (corrects errors unarc.dll )
 * added a function to disable compositing (thanks to Boria138)
diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus
index db471c06..7b33c644 100755
--- a/data_from_portwine/changelog_rus
+++ b/data_from_portwine/changelog_rus
@@ -2,6 +2,11 @@
 -----------------------------------------
 История изменений:
 
+###Scripts version 2258### Дата: 06.03.2024 / Размер скачиваемого обновления: 15 мегабайт
+* исправлено сохранение сложных аргументов для exe файла (пример: "- /B /TX /lang:01 /tex:1 /spg:50 KingKongTheGame.bf")
+* добавлено автовостановление ярлыка в меню для Steam Deck после обновления SteamOS (необходим запуск PP любым другим ярлыком любой игры, или из режима Gaming Mode)
+* для Steam Deck в режиме Gaming Mode отключено использование gamemode (сама сессия использует предустановленный gamemode в SteamOS)
+
 ###Scripts version 2257### Дата: 15.02.2024 / Размер скачиваемого обновления: 15 мегабайт
 * для всех setup.exe автоматически выбирается WINE_LG (исправляет ошибки unarc.dll)
 * добавлена функция отключения композитинга (спасибо Boria138)
diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index bca27053..e32eb5cf 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -1214,10 +1214,10 @@ edit_db_from_gui () {
         elif grep "export ${mod_db}=" "${PORTWINE_DB_FILE}" | grep -v "#" &>/dev/null
         then
             if [[ "$(grep "export ${mod_db}=" "${PORTWINE_DB_FILE}" | grep -v "#")" != "export ${mod_db}=\"${!mod_db}\"" ]]
-            then sed -ri "s/^export ${mod_db}=.*/export ${mod_db}=\"${!mod_db}\"/" "${PORTWINE_DB_FILE}"
+            then sed -ri "s|^export ${mod_db}=.*|export ${mod_db}=\"${!mod_db}\"|" "${PORTWINE_DB_FILE}"
             fi
         elif [[ "$(grep "export ${mod_db}=" "${PORTWINE_DB_FILE}")" != "export ${mod_db}=${!mod_db}" ]]
-        then sed -ri "s/.*export ${mod_db}=.*/export ${mod_db}=\"${!mod_db}\"/g" "${PORTWINE_DB_FILE}"
+        then sed -ri "s|.*export ${mod_db}=.*|export ${mod_db}=\"${!mod_db}\"|g" "${PORTWINE_DB_FILE}"
         fi
     done
     return 0
diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib
index b83bb5d6..4c9bc449 100755
--- a/data_from_portwine/scripts/runlib
+++ b/data_from_portwine/scripts/runlib
@@ -318,7 +318,9 @@ start_portwine () {
         export int_xneur=1
     fi
 
-    if [[ "$PW_USE_GAMEMODE" = "1" ]] ; then
+    if check_gamescope_session ; then
+        export PW_GAMEMODERUN_SLR=""
+    elif [[ "$PW_USE_GAMEMODE" = "1" ]] ; then
         if command -v gamemoded &>/dev/null ; then
             export GAMEMODERUN=1
             PW_GAMEMODERUN_SLR="gamemoderun"
@@ -552,8 +554,6 @@ start_portwine () {
 
     if [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then
         export WINE_CPU_TOPOLOGY="${PW_WINE_CPU_TOPOLOGY}"
-    else
-        unset WINE_CPU_TOPOLOGY
     fi
 
     for try_cp_dll_from_wine in "ntdll.dll" "vulkan-1.dll" "winevulkan.dll" "amd_ags_x64.dll" "ir50_32.dll" ; do
@@ -717,7 +717,7 @@ export -f pw_run
 
 ###MAIN###
 if [[ $(id -u) -eq 0 ]] ; then
-    yad_error "Do not run the script from the superuser!"
+    echo "Do not run the script from the superuser!"
     exit 1
 fi
 
diff --git a/data_from_portwine/scripts/setup.sh b/data_from_portwine/scripts/setup.sh
index 7e895826..e85e5339 100755
--- a/data_from_portwine/scripts/setup.sh
+++ b/data_from_portwine/scripts/setup.sh
@@ -2,8 +2,8 @@
 # Author: linux-gaming.ru
 . "$(dirname $(readlink -f "$0"))/runlib"
 
+name_desktop="PortProton"
 if  grep -i "flatpak" /etc/os-release &>/dev/null ; then
-	name_desktop="PortProton"
 	echo "[Desktop Entry]"	 					  		 > "${PORT_WINE_PATH}/${name_desktop}.desktop"
 	echo "Name=${name_desktop}" 				 		 >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
 	echo "Version=${install_ver}"						 >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
@@ -17,7 +17,6 @@ if  grep -i "flatpak" /etc/os-release &>/dev/null ; then
 	echo "Icon="${PORT_WINE_PATH}/data/img/w.png""   	 >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
 	chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
 else
-	name_desktop="PortProton"
 	echo "[Desktop Entry]"	 					  		 > "${PORT_WINE_PATH}/${name_desktop}.desktop"
 	echo "Name=${name_desktop}" 				 		 >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
 	echo "Version=${install_ver}"						 >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index f8ea5823..53abb90b 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -26,10 +26,19 @@ kill_portwine
 killall -15 yad_v12_3 2>/dev/null
 kill -TERM `pgrep -a yad | grep ${portname} | head -n 1 | awk '{print $1}'` 2>/dev/null
 
-if [[ -f "/usr/bin/portproton" ]] && [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] ; then
+if [[ -f "/usr/bin/portproton" ]] \
+&& [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]]
+then
     rm -f "${HOME}/.local/share/applications/PortProton.desktop"
 fi
 
+if grep "SteamOS" "/etc/os-release" &>/dev/null \
+&& [[ ! -f  "${HOME}/.local/share/applications/PortProton.desktop" ]]
+then
+	cp -f "${PORT_WINE_PATH}/PortProton.desktop" "${HOME}/.local/share/applications/"
+	update-desktop-database -q "${HOME}/.local/share/applications"
+fi
+
 [[ "$MISSING_DESKTOP_FILE" == 1 ]] && portwine_missing_shortcut
 
 # if [[ -f "$portwine_exe" ]] \
diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var
index 046f6f0f..25ee5a11 100755
--- a/data_from_portwine/scripts/var
+++ b/data_from_portwine/scripts/var
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #Author: Castro-Fidel (linux-gaming.ru)
-#SCRIPTS_NEXT_VERSION=2257
+#SCRIPTS_NEXT_VERSION=2258
 ########################################################################
 export PW_MANGOHUD="0"
 export DEFAULT_MANGOHUD_CONFIG="cpu_stats,cpu_temp,cpu_mhz,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,vram,ram,frame_timing=1,time,arch,wine,toggle_hud=Shift_R+F12,resolution,vkbasalt,gamemode"