diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus
index f722712341bfaf282a54e9dbba7034b589e35926..14316b6c4446e40ae831459ee7892efa6f1517d3 100755
--- a/data_from_portwine/changelog_rus
+++ b/data_from_portwine/changelog_rus
@@ -2,6 +2,9 @@
 -----------------------------------------
 История изменений:
 
+* добавлена поддержка русского языка в игровом режиме Steam Deck
+* обновлены иконки во вкладке АВТОУСТАНОВКА
+
 ###Scripts version 2274### Дата: 07.04.2024 / Размер скачиваемого обновления: 15 мегабайт
 * добавлена предыдущая тема для PortProton, включается добавлением "export GUI_THEME=classic" в "data/user.conf"
 
diff --git a/data_from_portwine/dxvk.conf b/data_from_portwine/dxvk.conf
index 3cc8d70e6b02cf5750eb65d06d3378b4c8e1ecfb..a2ad7c61c31d01b25f8282e17a7e4c7059c9d4d6 100755
--- a/data_from_portwine/dxvk.conf
+++ b/data_from_portwine/dxvk.conf
@@ -1,3 +1,15 @@
+# Expose the HDR10 ColorSpace (DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020)
+# to the application by default.
+# This shows to the game that the global Windows 'HDR Mode' is enabled.
+# Many (broken) games will need this to be set to consider exposing HDR output
+# as determine it based on the DXGIOutput's current ColorSpace instead of
+# using CheckColorSpaceSupport.
+# This defaults to the value of the DXVK_HDR environment variable.
+#
+# Supported values: True, False
+
+# dxgi.enableHDR = True
+
 # Create the VkSurface on the first call to IDXGISwapChain::Present,
 # rather than when creating the swap chain. Some games that start
 # rendering with a different graphics API may require this option,
@@ -15,8 +27,9 @@
 #
 # Supported values : 0 - 16
 
-# dxgi.maxFrameLatency = 1
-# d3d9.maxFrameLatency = 1
+# dxgi.maxFrameLatency = 0
+# d3d9.maxFrameLatency = 0
+
 
 # Enables frame rate limiter. The main purpose of this is to work around
 # bugs in games that have physics or other simulation tied to their frame
@@ -24,8 +37,8 @@
 #
 # Supported values : Any non-negative integer
 
-dxgi.maxFrameRate = 240
-d3d9.maxFrameRate = 240
+# dxgi.maxFrameRate = 0
+# d3d9.maxFrameRate = 0
 
 
 # Override PCI vendor and device IDs reported to the application. Can
@@ -39,14 +52,52 @@ d3d9.maxFrameRate = 240
 # dxgi.hideAmdGpu = True
 # dxgi.hideNvidiaGpu = False
 
+# Override the reported device description
+#
+# Supported values: Any string.
+
 # d3d9.customDeviceDesc = "NVIDIA GeForce RTX 4090"
 # d3d9.customDeviceId = 2684
 # d3d9.customVendorId = 10de
 
 
+# Report Nvidia GPUs as AMD GPUs. Unless NVAPI support is explicitly
+# enabled through Proton, this is done by default in order to work
+# around crashes or low performance with Nvidia-speciic code paths
+# in games, especially Unreal Engine.
+#
+# Supported values: Auto, True, False
+
+# dxgi.hideNvidiaGpu = Auto
+
+
+# Report Nvidia GPUs running on NVK as AMD GPUs.
+#
+# Supported values: Auto, True, False
+
+# dxgi.hideNvkGpu = Auto
+
+
+# Report AMD GPUs as Nvidia GPUs. This is only done for games that are
+# known to have issues with AMDAGS or other AMD-specific code paths.
+#
+# Supported values: Auto, True, False
+
+# dxgi.hideAmdGpu = Auto
+
+
+# Report Intel GPUs as AMD GPUs. This is only done for games that are
+# known to have issues with Intel-specific libraries such as XESS.
+#
+# Supported values: Auto, True, False
+
+# dxgi.hideIntelGpu = Auto
+
+
 # Override maximum amount of device memory and shared system memory
 # reported to the application. This may fix texture streaming issues
 # in games that do not support cards with large amounts of VRAM.
+# This is not a hard cap and applications can choose to ignore it.
 #
 # Supported values: Any number in Megabytes.
 
@@ -79,14 +130,14 @@ d3d9.maxFrameRate = 240
 #
 # Supported values: Any non-negative number
 
-# dxgi.syncInterval = 0
-# d3d9.presentInterval = 0
+# dxgi.syncInterval = -1
+# d3d9.presentInterval = -1
 
 
 # True enables the mailbox present mode in case regular Vsync is disabled.
 # This should avoid tearing, but may be unsupported on some systems
 # or require setting dxgi.numBackBuffers to a higher value in order
-# to work properly.
+# to work properly. 
 #
 # False enables the relaxed fifo present mode in case regular Vsync is enabled.
 # This should result in tearing but reduce stutter if FPS are too low,
@@ -96,8 +147,7 @@ d3d9.maxFrameRate = 240
 #
 # Supported values: Auto, True, False
 
-# dxgi.tearFree = Auto
-# d3d9.tearFree = Auto
+# dxvk.tearFree = Auto
 
 
 # Assume single-use mode for command lists created on deferred contexts.
@@ -120,14 +170,14 @@ d3d9.maxFrameRate = 240
 
 # Overrides the maximum allowed tessellation factor. This can be used to
 # improve performance in titles which overuse tessellation.
-#
+# 
 # Supported values: Any number between 8 and 64
 
-# d3d11.maxTessFactor = 16
+# d3d11.maxTessFactor = 0
 
 
 # Enables relaxed pipeline barriers around UAV writes.
-#
+# 
 # This may improve performance in some games, but may also introduce
 # rendering issues. Please don't report bugs with the option enabled.
 #
@@ -149,7 +199,7 @@ d3d9.maxFrameRate = 240
 # Overrides anisotropic filtering for all samplers. Set this to a positive
 # value to enable AF for all samplers in the game, or to 0 in order to
 # disable AF entirely. Negative values will have no effect.
-#
+# 
 # Supported values: Any number between 0 and 16
 
 # d3d11.samplerAnisotropy = -1
@@ -163,7 +213,17 @@ d3d9.maxFrameRate = 240
 #
 # Supported values: Any number between -2.0 and 1.0
 
-# d3d11.samplerLodBias = -0.3
+# d3d11.samplerLodBias = 0.0
+# d3d9.samplerLodBias = 0.0
+
+
+# Clamps any negative LOD bias to 0. Applies after samplerLodBias has been
+# applied. May help with games that use a high negative LOD bias by default.
+#
+# Supported values: True, False
+
+# d3d11.clampNegativeLodBias = False
+# d3d9.clampNegativeLodBias = False
 
 
 # Declares vertex positions as invariant in order to solve
@@ -175,6 +235,16 @@ d3d9.maxFrameRate = 240
 # d3d9.invariantPosition = True
 
 
+# Forces per-sample rate shading when MSAA is enabled, rather than per-pixel
+# shading. May improve visual clarity at a significant performance cost, but
+# may also introduce visual issues in some games.
+#
+# Supported values: True, False
+
+# d3d11.forceSampleRateShading = False
+# d3d9.forceSampleRateShading = False
+
+
 # Forces the sample count of all textures to 1, and performs
 # the needed fixups in resolve operations and shaders.
 #
@@ -230,8 +300,20 @@ d3d9.maxFrameRate = 240
 # d3d11.enableContextLock = False
 
 
-# Sets number of pipeline compiler threads.
+# Exposes or hides support for driver command lists
 #
+# Some games use the feature flag to decide whether to use deferred
+# contexts or not. We enable this by default, but in some situations
+# this can lead to issues if games detect an AMD GPU where command
+# lists are not natively supported on Windows.
+#
+# Supported values: True, False
+
+# d3d11.exposeDriverCommandLists = True
+
+
+# Sets number of pipeline compiler threads.
+# 
 # If the graphics pipeline library feature is enabled, the given
 # number of threads will be used for shader compilation. Some of
 # these threads will be reserved for high-priority work.
@@ -244,13 +326,13 @@ d3d9.maxFrameRate = 240
 
 
 # Toggles raw SSBO usage.
-#
+# 
 # Uses storage buffers to implement raw and structured buffer
 # views. Enabled by default on hardware which has a storage
 # buffer offset alignment requirement of 4 Bytes (e.g. AMD).
 # Enabling this may improve performance, but is not safe on
 # hardware with higher alignment requirements.
-#
+# 
 # Supported values:
 # - Auto: Don't change the default
 # - True, False: Always enable / disable
@@ -258,6 +340,17 @@ d3d9.maxFrameRate = 240
 # dxvk.useRawSsbo = Auto
 
 
+# Changes memory chunk size.
+#
+# Can be used to override the maximum memory chunk size.
+#
+# Supported values:
+# - 0 to use the defaults
+# - any positive integer to limit the chunk size, in MiB
+
+# dxvk.maxChunkSize = 0
+
+
 # Controls graphics pipeline library behaviour
 #
 # Can be used to change VK_EXT_graphics_pipeline_library usage for
@@ -287,19 +380,19 @@ d3d9.maxFrameRate = 240
 
 
 # Sets enabled HUD elements
-#
+# 
 # Behaves like the DXVK_HUD environment variable if the
 # environment variable is not set, otherwise it will be
 # ignored. The syntax is identical.
 
-# dxvk.hud =
+# dxvk.hud = 
 
 
 # Reported shader model
 #
 # The shader model to state that we support in the device
 # capabilities that the applicatation queries.
-#
+# 
 # Supported values:
 # - 1: Shader Model 1
 # - 2: Shader Model 2
@@ -309,7 +402,7 @@ d3d9.maxFrameRate = 240
 
 
 # DPI Awareness
-#
+# 
 # Decides whether we should call SetProcessDPIAware on device
 # creation. Helps avoid upscaling blur in modern Windows on
 # Hi-DPI screens/devices.
@@ -321,7 +414,7 @@ d3d9.maxFrameRate = 240
 
 
 # Strict Constant Copies
-#
+# 
 # Decides whether we should always copy defined constants to
 # the UBO when relative addressing is used, or only when the
 # relative addressing starts a defined constant.
@@ -333,7 +426,7 @@ d3d9.maxFrameRate = 240
 
 
 # Strict Pow
-#
+# 
 # Decides whether we have an opSelect for handling pow(0,0) = 0
 # otherwise it becomes undefined.
 #
@@ -391,7 +484,7 @@ d3d9.maxFrameRate = 240
 # d3d9.enableDialogMode = False
 
 # Overrides the application's MSAA level on the swapchain
-#
+# 
 # Supported values: -1 (application) and 0 to 16 (user override)
 
 # d3d9.forceSwapchainMSAA = -1
@@ -419,15 +512,6 @@ d3d9.maxFrameRate = 240
 
 # d3d9.deviceLocalConstantBuffers = False
 
-# No Explicit Front Buffer
-#
-# Disables the front buffer
-#
-# Supported values:
-# - True/False
-
-# d3d9.noExplicitFrontBuffer = False
-
 # Support DF formats
 #
 # Support the vendor extension DF floating point depth formats
@@ -449,7 +533,7 @@ d3d9.maxFrameRate = 240
 # Support X4R4G4B4
 #
 # Support the X4R4G4B4 format.
-# The Sims 2 is a horrible game made by complete morons.
+# The Sims 2 is a very broken game.
 #
 # Supported values:
 # - True/False
@@ -468,13 +552,24 @@ d3d9.maxFrameRate = 240
 # Disable A8 as a Render Target
 #
 # Disable support for A8 format render targets
-# Once again, The Sims 2 is a horrible game made by complete morons.
+# Once again, The Sims 2 is a very broken game.
 #
 # Supported values:
 # - True/False
 
 # d3d9.disableA8RT = False
 
+# Support for VCache Query
+#
+# Support for the vcache query
+# Not very important as a user config.
+# Used internally.
+#
+# Supported values:
+# - True/False
+
+# Defaults to True if vendorId == 0x10de
+# d3d9.supportVCache = True
 
 # Force Sampler Type Spec Constants
 #
@@ -497,16 +592,6 @@ d3d9.maxFrameRate = 240
 
 # d3d9.forceAspectRatio = ""
 
-# Allow Discard
-#
-# Allow the discard lock flag to be used
-# Useful if some apps use this incorrectly.
-#
-# Supported values:
-# - True/False
-
-# d3d9.allowDiscard = True
-
 # Enumerate by Displays
 #
 # Whether we should enumerate D3D9 adapters by display (windows behaviour)
@@ -518,16 +603,17 @@ d3d9.maxFrameRate = 240
 
 # d3d9.enumerateByDisplays = True
 
-# APITrace Mode
+# Cached Dynamic Buffers
 #
-# Makes all host visible buffers cached and coherent
-# Improves performance when apitracing, but also can impact
-# some dumb games.
+# Allocates dynamic resources in D3DPOOL_DEFAULT in
+# cached system memory rather than uncached memory or host-visible
+# VRAM, in order to allow fast readback from the CPU. This is only
+# useful for buggy applications, and may reduce GPU-bound performance.
 #
 # Supported values:
 # - True/False
 
-# d3d9.apitraceMode = False
+# d3d9.cachedDynamicBuffers = False
 
 # Seamless Cubes
 #
@@ -538,3 +624,56 @@ d3d9.maxFrameRate = 240
 # - True/False
 
 # d3d9.seamlessCubes = False
+
+# Debug Utils
+#
+# Enables debug utils as this is off by default, this enables user annotations like BeginEvent()/EndEvent().
+# Alternatively could be enabled with DXVK_DEBUG=markers environment variable.
+#
+# Supported values:
+# - True/False
+
+# dxvk.enableDebugUtils = False
+
+# Memory limit for locked D3D9 textures
+#
+# How much virtual memory will be used for textures (in MB).
+# 0 to disable the limit.
+# THIS DOES NOT IMPACT ACTUAL MEMORY CONSUMPTION OR TEXTURE QUALITY.
+# DO NOT CHANGE THIS UNLESS YOU HAVE A VERY GOOD REASON.
+
+# d3d9.textureMemory = 100
+
+# Hide integrated graphics from applications
+#
+# Only has an effect when dedicated GPUs are present on the system. It is
+# not recommended to use this option at all unless absolutely necessary for
+# a game to work; prefer using DXVK_FILTER_DEVICE_NAME whenever possible.
+#
+# Supported values:
+# - True/False
+
+# dxvk.hideIntegratedGraphics = False
+
+# Trigger DEVICELOST when losing focus
+#
+# D3D9 requires the application to call Device::Reset after
+# it loses focus in fullscreen.
+# Some games rely on observing a D3DERR_DEVICELOST or D3DERR_NOTRESET.
+# Others don't handle it correctly.
+#
+# Supported values:
+# - True/False
+
+# d3d9.deviceLossOnFocusLoss = False
+
+# Reject Device::Reset if any losable resource is still alive
+#
+# D3D9 rejects Device::Reset if there's still any alive resources of specific types.
+# (State blocks, additional swapchains, D3DPOOL_DEFAULT resources)
+# Some games leak resources leading to a hang.
+#
+# Supported values:
+# - True/False
+
+# d3d9.countLosableResources = True
\ No newline at end of file
diff --git a/data_from_portwine/img/gui/24.png b/data_from_portwine/img/gui/24.png
index 6a2739e6bed45375a6a8269d2c20c73f7dafbaac..add03e4e91904772cb69831e8d19d4fecf0f0b2e 100755
Binary files a/data_from_portwine/img/gui/24.png and b/data_from_portwine/img/gui/24.png differ
diff --git a/data_from_portwine/img/gui/44.png b/data_from_portwine/img/gui/44.png
new file mode 100755
index 0000000000000000000000000000000000000000..632b38869ebf0dd55b08690695308cc98a315be5
Binary files /dev/null and b/data_from_portwine/img/gui/44.png differ
diff --git a/data_from_portwine/img/gui/Alt_PP.jpg b/data_from_portwine/img/gui/Alt_PP.jpg
deleted file mode 100644
index f43a65ed9c0092cacd23864e967a9fff4ad15715..0000000000000000000000000000000000000000
Binary files a/data_from_portwine/img/gui/Alt_PP.jpg and /dev/null differ
diff --git a/data_from_portwine/img/gui/bethesda.png b/data_from_portwine/img/gui/bethesda.png
index f572681a4b59175236301454b43156f13ee9dd97..ceaa57550ee22ec63163a0fef11b515f151369b7 100755
Binary files a/data_from_portwine/img/gui/bethesda.png and b/data_from_portwine/img/gui/bethesda.png differ
diff --git a/data_from_portwine/img/gui/caliber.png b/data_from_portwine/img/gui/caliber.png
index 2452fcc6481e34aef06469b93c374efbc81db806..7fc88a6345cc4c6bf3da71bb0e097d3b7316aae8 100644
Binary files a/data_from_portwine/img/gui/caliber.png and b/data_from_portwine/img/gui/caliber.png differ
diff --git a/data_from_portwine/img/gui/cemu.png b/data_from_portwine/img/gui/cemu.png
index fe86e6bb45c9b092e97e89f463145976942c99c3..454c64ba19e641fc2c79d8110f5ac1a97e755873 100755
Binary files a/data_from_portwine/img/gui/cemu.png and b/data_from_portwine/img/gui/cemu.png differ
diff --git a/data_from_portwine/img/gui/covers/lol_cover.jpg b/data_from_portwine/img/gui/covers/lol_cover.jpg
deleted file mode 100755
index 40c7c41f945b3c5fb5c654a0b4cc822175dbb6eb..0000000000000000000000000000000000000000
Binary files a/data_from_portwine/img/gui/covers/lol_cover.jpg and /dev/null differ
diff --git a/data_from_portwine/img/gui/covers/pw_loading_cover.gif b/data_from_portwine/img/gui/covers/pw_loading_cover.gif
deleted file mode 100755
index eb311ab792120be20014947b1030a082cf3df890..0000000000000000000000000000000000000000
Binary files a/data_from_portwine/img/gui/covers/pw_loading_cover.gif and /dev/null differ
diff --git a/data_from_portwine/img/gui/covers/pw_update_pfx_cover.gif b/data_from_portwine/img/gui/covers/pw_update_pfx_cover.gif
deleted file mode 100755
index b9de46aecb669bc6427966f5d2bbdf150c4386c5..0000000000000000000000000000000000000000
Binary files a/data_from_portwine/img/gui/covers/pw_update_pfx_cover.gif and /dev/null differ
diff --git a/data_from_portwine/img/gui/dolphin.png b/data_from_portwine/img/gui/dolphin.png
index 5345388681255bb55ff5453ec92194413e6f2013..8ee950ca3b6b6954343450d6240b234bffa4d803 100755
Binary files a/data_from_portwine/img/gui/dolphin.png and b/data_from_portwine/img/gui/dolphin.png differ
diff --git a/data_from_portwine/img/gui/duckstation.png b/data_from_portwine/img/gui/duckstation.png
deleted file mode 100755
index 4b0b9d211f3583cafc3e4306f1cebe9fd8643c3e..0000000000000000000000000000000000000000
Binary files a/data_from_portwine/img/gui/duckstation.png and /dev/null differ
diff --git a/data_from_portwine/img/gui/epicgames.png b/data_from_portwine/img/gui/epicgames.png
index ef66d8dcb3f8757362e270b418bf3f2197958d21..1482b44075ce0cac7236b4f69d315adb31220bff 100755
Binary files a/data_from_portwine/img/gui/epicgames.png and b/data_from_portwine/img/gui/epicgames.png differ
diff --git a/data_from_portwine/img/gui/epsxe.png b/data_from_portwine/img/gui/epsxe.png
old mode 100755
new mode 100644
index d7b2950db290a707aa6fa54e236e998d6885af2a..722fccd333c47fc21799a994af0b28d2dc996694
Binary files a/data_from_portwine/img/gui/epsxe.png and b/data_from_portwine/img/gui/epsxe.png differ
diff --git a/data_from_portwine/img/gui/find_48.png b/data_from_portwine/img/gui/find_48.png
index 3b7c5bbc2bc16b053d184de709dd016a464ac10d..f4a36ec3322cf85645ed5acd6ad77e51be81a12c 100644
Binary files a/data_from_portwine/img/gui/find_48.png and b/data_from_portwine/img/gui/find_48.png differ
diff --git a/data_from_portwine/img/gui/fulqrumgames.png b/data_from_portwine/img/gui/fulqrumgames.png
deleted file mode 100644
index 7c01a8ba7cd1d1a10185a20183bd1d2af25f4d83..0000000000000000000000000000000000000000
Binary files a/data_from_portwine/img/gui/fulqrumgames.png and /dev/null differ
diff --git a/data_from_portwine/img/gui/gameforge.png b/data_from_portwine/img/gui/gameforge.png
old mode 100755
new mode 100644
index 9a38d48cccbea84da120014840ac00f16366f303..40c42ed035d2f7285b57c69f4dbdeb5840bbe0b6
Binary files a/data_from_portwine/img/gui/gameforge.png and b/data_from_portwine/img/gui/gameforge.png differ
diff --git a/data_from_portwine/img/gui/glyph.png b/data_from_portwine/img/gui/glyph.png
deleted file mode 100755
index 44bbf8e8e9ad77b28bfe170e8368a5db79b0cff3..0000000000000000000000000000000000000000
Binary files a/data_from_portwine/img/gui/glyph.png and /dev/null differ
diff --git a/data_from_portwine/img/gui/gog.png b/data_from_portwine/img/gui/gog.png
index 76f9b9b6b371d940fc4fdd34aa1aa942ca0ad559..bb164d52a7dbe29bfce7238ee071943e6425a716 100755
Binary files a/data_from_portwine/img/gui/gog.png and b/data_from_portwine/img/gui/gog.png differ
diff --git a/data_from_portwine/img/gui/itch.png b/data_from_portwine/img/gui/itch.png
old mode 100644
new mode 100755
index 9cad18dc8235d9b060c3e5aa507d569921bf197b..ddc5e6b956c9724fb5dbb1613ba8be7a72631b68
Binary files a/data_from_portwine/img/gui/itch.png and b/data_from_portwine/img/gui/itch.png differ
diff --git a/data_from_portwine/img/gui/lgc.png b/data_from_portwine/img/gui/lgc.png
old mode 100644
new mode 100755
index dddf0cd3273e48917cc8ca786851883bff4b08b0..d6f635769932a8acea48c0c460920424396d1fc2
Binary files a/data_from_portwine/img/gui/lgc.png and b/data_from_portwine/img/gui/lgc.png differ
diff --git a/data_from_portwine/img/gui/mame.png b/data_from_portwine/img/gui/mame.png
old mode 100755
new mode 100644
index 2b9e946f0d5cb6240911c5dd256d510f0131f663..1481de3a837feebe7503ba4f9b1c015359e4a685
Binary files a/data_from_portwine/img/gui/mame.png and b/data_from_portwine/img/gui/mame.png differ
diff --git a/data_from_portwine/img/gui/origin.png b/data_from_portwine/img/gui/origin.png
deleted file mode 100755
index 9716f6115ffdc53c9d9318c08344955f35d9c151..0000000000000000000000000000000000000000
Binary files a/data_from_portwine/img/gui/origin.png and /dev/null differ
diff --git a/data_from_portwine/img/gui/panzar.png b/data_from_portwine/img/gui/panzar.png
index 724f691a32ed7db44104fa7054f64e9eb67f15de..24cda4e1ba6c5e2a78c353613719f2147992a1b9 100644
Binary files a/data_from_portwine/img/gui/panzar.png and b/data_from_portwine/img/gui/panzar.png differ
diff --git a/data_from_portwine/img/gui/poe.png b/data_from_portwine/img/gui/poe.png
index 8584248d63de527c07bee79312fdb8ecedffe24d..3b01018cb31e43f2917ea54213171a554339ed6a 100644
Binary files a/data_from_portwine/img/gui/poe.png and b/data_from_portwine/img/gui/poe.png differ
diff --git a/data_from_portwine/img/gui/ppsspp.png b/data_from_portwine/img/gui/ppsspp.png
old mode 100755
new mode 100644
index fb6cb61a75d6b1984d5cee7ab52827db45f9588a..87d2304d78323abd675fc00f64a88534f5dc4095
Binary files a/data_from_portwine/img/gui/ppsspp.png and b/data_from_portwine/img/gui/ppsspp.png differ
diff --git a/data_from_portwine/img/gui/project64.png b/data_from_portwine/img/gui/project64.png
old mode 100755
new mode 100644
index 1baf892a00829d4516128168cb97bf9c129bf54a..6a36b66669cdb455d92cd0fa2d9ea6279ef6c6e1
Binary files a/data_from_portwine/img/gui/project64.png and b/data_from_portwine/img/gui/project64.png differ
diff --git a/data_from_portwine/img/gui/retroarch.png b/data_from_portwine/img/gui/retroarch.png
old mode 100755
new mode 100644
index 558c438e797a1fc810d88a94d46a4f5875bee68d..02346a30678d6c00155d0cc42a79430bd6f894c5
Binary files a/data_from_portwine/img/gui/retroarch.png and b/data_from_portwine/img/gui/retroarch.png differ
diff --git a/data_from_portwine/img/gui/rpcs3.png b/data_from_portwine/img/gui/rpcs3.png
deleted file mode 100644
index 41e8a8c7285e1e653d894fe5d1cba829630a6798..0000000000000000000000000000000000000000
Binary files a/data_from_portwine/img/gui/rpcs3.png and /dev/null differ
diff --git a/data_from_portwine/img/gui/scummvm.png b/data_from_portwine/img/gui/scummvm.png
deleted file mode 100755
index 0a0b60293735517742bfa923e80d9fd536b0d2c8..0000000000000000000000000000000000000000
Binary files a/data_from_portwine/img/gui/scummvm.png and /dev/null differ
diff --git a/data_from_portwine/img/gui/stalcraft.png b/data_from_portwine/img/gui/stalcraft.png
index ac607f1503911c4c81a1e312dbf1772c573fa389..e4e1874fe3eb1c28bb6ca36a52896f65802889ac 100755
Binary files a/data_from_portwine/img/gui/stalcraft.png and b/data_from_portwine/img/gui/stalcraft.png differ
diff --git a/data_from_portwine/img/gui/steam.png b/data_from_portwine/img/gui/steam.png
index cdaa2d13a026a530ec35d5c32dcd978e407f0f00..692ce2127f30250bc62bea196eabdeeeedee1e34 100755
Binary files a/data_from_portwine/img/gui/steam.png and b/data_from_portwine/img/gui/steam.png differ
diff --git a/data_from_portwine/img/gui/ubc.png b/data_from_portwine/img/gui/ubc.png
old mode 100755
new mode 100644
index a8d67e9ca8f6a415b2fd0570b24474c187afe4fc..b1bbe19b2432c0eae9439fc8e7ca3898c0c28c09
Binary files a/data_from_portwine/img/gui/ubc.png and b/data_from_portwine/img/gui/ubc.png differ
diff --git a/data_from_portwine/img/gui/vba-m.png b/data_from_portwine/img/gui/vba-m.png
old mode 100755
new mode 100644
index db3f24ed213f7c6607932941c552c9759c247e7f..81e53620d0ac0b1d822ae638c02380f3a7ced54e
Binary files a/data_from_portwine/img/gui/vba-m.png and b/data_from_portwine/img/gui/vba-m.png differ
diff --git a/data_from_portwine/img/gui/yabause.png b/data_from_portwine/img/gui/yabause.png
old mode 100755
new mode 100644
index 9a4262d268fd9c80bd8eade278783cd29d60b88c..38c48021de8b489158d65586217cb1a2c5395448
Binary files a/data_from_portwine/img/gui/yabause.png and b/data_from_portwine/img/gui/yabause.png differ
diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index 56cb23b327ecf3aaf581805bb00b714bfd5bf18c..3176d8a53837b63d008853c9753a54761e74402f 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -39,14 +39,11 @@ export -f print_var
 check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
 
 try_copy_file () {
-    if [ ! -f "$1" ] ; then	print_info "file $1 not found for copy" && return 1
-    elif [ -z "$2" ] ; then	print_error "no way to copy file $1" && return 1
+    if [[ ! -f "$1" ]] ; then print_info "file $1 not found for copy" && return 1
+    elif [[ -z "$2" ]] ; then print_error "no way to copy file $1" && return 1
     else
-        cp -f "$1" "$2"
-        if [ "$?" != 0 ]
-        then print_error "failed to copy file $1 to $2" && return 1
-        else return 0
-        fi
+        [[ -e "$2/$(basename "$1")" ]] && rm -f "$2/$(basename "$1")"
+        cp -f "$1" "$2" && return 0 || return 1
     fi
 }
 export -f try_copy_file
@@ -309,7 +306,7 @@ check_flatpak () {
 unpack_tar_zst () {
     set -o pipefail
     unset PW_ZSTD_PORT
-    pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
+    pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${update_loc}.gif"
     if command -v zstd &>/dev/null ; then
         tar -I zstd -xhvf "$1" -C "$2"
         pw_stop_progress_bar_cover_block
@@ -326,7 +323,7 @@ unpack_tar_xz () {
         tar -Jxhvf "$1" -C "$2" && return 0 || return 1
     else
         set -o pipefail
-        pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
+        pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${update_loc}.gif"
         tar -Jxhvf "$1" -C "$2"
         pw_stop_progress_bar_cover_block
         [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
@@ -335,7 +332,7 @@ unpack_tar_xz () {
 
 unpack_tar_gz () {
     set -o pipefail
-    pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
+    pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${update_loc}.gif"
     tar -xhzvf "$1" -C "$2"
     pw_stop_progress_bar_cover_block
     [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
@@ -343,7 +340,7 @@ unpack_tar_gz () {
 
 unpack_tar () {
     set -o pipefail
-    pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/unpacking_${update_loc}.gif"
+    pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${update_loc}.gif"
     tar -xhvf "$1" -C "$2"
     pw_stop_progress_bar_cover_block
     [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
@@ -507,7 +504,7 @@ init_wine_ver () {
                 if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then
                     print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
                 elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then
-                    pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/loading_${update_loc}.gif"
+                    pw_start_progress_bar_cover_block "${COVERS_PATH}/loading_${update_loc}.gif"
                     try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}"
                     try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
                     try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/
@@ -1096,12 +1093,6 @@ check_dirs_and_files_in_pfx () {
                 done
             fi
         done
-
-        LIST_COPY_WIN_DLL="ntdll shell32"
-        for copy_win_dll in $LIST_COPY_WIN_DLL ; do
-            try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${copy_win_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${copy_win_dll}.dll"
-            try_copy_file "${WINEDIR}/lib/wine/i386-windows/${copy_win_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${copy_win_dll}.dll"
-        done
     }
 
 check_nvidia_rtx () {
@@ -1691,15 +1682,15 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32"
 
     export DXVK_ENABLE_NVAPI=1
     if [[ "${PW_USE_FAKE_DLSS_3}" == 1 ]] ; then
-        try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss_3/${PW_FAKE_DLSS_3_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
-        try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_3_VER}/dlssg_to_fsr3_amd_is_better.dll" "${WINEPREFIX}/drive_c/windows/system32/"
-        try_force_link_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+        try_copy_file "${PW_PLUGINS_PATH}/fake_dlss_3/${PW_FAKE_DLSS_3_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+        try_copy_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_3_VER}/dlssg_to_fsr3_amd_is_better.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+        try_copy_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
         var_winedlloverride_update "nvapi,nvapi64,nvngx,_nvngx,dlssg_to_fsr3_amd_is_better=n;nvcuda=b"
         enabled_fake_nvidia_videocard new
         export WINEHAGS=1
     elif [[ "${PW_USE_FAKE_DLSS}" == 1 ]] && [[ -d "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/" ]] ; then
-        try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
-        try_force_link_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${WINEPREFIX}/drive_c/windows/system32/"
+        try_copy_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+        try_copy_file "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${WINEPREFIX}/drive_c/windows/system32/"
         enabled_fake_nvidia_videocard old
         var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx=;nvcuda=b"
     elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then
@@ -1708,8 +1699,8 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32"
             try_copy_file "${FIND_NVNGX}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
             try_copy_file "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
         else
-            try_force_link_file "${PW_PLUGINS_PATH}/nvngx/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
-            try_force_link_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+            try_copy_file "${PW_PLUGINS_PATH}/nvngx/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+            try_copy_file "${PW_PLUGINS_PATH}/nvngx/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/"
         fi
         enabled_fake_nvidia_videocard 0
         var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n;nvcuda=b"
@@ -1937,11 +1928,12 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32"
         print_info "Use VKD3D-PROTON, DXVK and D8VK (DirectX 8-12 to vulkan)"
         if [[ "${PW_USE_WINE_DXGI}" == 1 ]] ; then
             export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxvk_config" # openvr_api_dxvk
-            var_winedlloverride_update dxgi=b
+            export CP_WINE_FILES="d3d10_1 d3d10 dxgi"
         elif [[ "${USE_ALL_DXVK_DLLS}" == 1 ]] ; then
             export CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi dxvk_config" # openvr_api_dxvk
         else
             export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config" # openvr_api_dxvk
+            export CP_WINE_FILES="d3d10_1 d3d10"
         fi
         check_variables VKD3D_FEATURE_LEVEL "12_0"
         if [[ "${PW_VULKAN_USE}" == "1" ]] ; then
@@ -1958,26 +1950,32 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32"
         PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}"
         print_info "D8VK v.${D8VK_VER} in use"
 
-        print_info "Try link native DXVK files..."
+        print_info "Try copy WINE files..."
+        for copy_wine_dll in $CP_WINE_FILES "vulkan-1" ; do
+            try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${copy_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${copy_wine_dll}.dll"
+            try_copy_file "${WINEDIR}/lib/wine/i386-windows/${copy_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${copy_wine_dll}.dll"
+        done
+
+        print_info "Try copy native DXVK files..."
         for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
             if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll"  ]] ; then
-                try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
-                try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+                try_copy_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
+                try_copy_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
                 var_winedlloverride_update "${wine_dxvk_dll}=n"
             fi
         done
 
-        try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \
-        try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
-
-        try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \
-        try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+        print_info "Try copy NVAPI files..."
+        try_copy_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \
+        try_copy_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
+        try_copy_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \
+        try_copy_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
 
-        print_info "Try link native VKD3D files..."
-        for wine_vkd3d_dll in d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1; do
+        print_info "Try copy native VKD3D files..."
+        for wine_vkd3d_dll in d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1 ; do
             if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then
-                try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
-                try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+                try_copy_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
+                try_copy_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
                 var_winedlloverride_update "${wine_vkd3d_dll}=n"
             fi
         done
@@ -2007,9 +2005,8 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32"
         export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache"
     else
         export __GL_SHADER_DISK_CACHE=0
-        export DXVK_STATE_CACHE=0
+        export DXVK_STATE_CACHE=disable
         export VKD3D_SHADER_CACHE_PATH=0
-        export RADV_DEBUG=nocache
     fi
 
     if [[ "${PW_WINE_FULLSCREEN_FSR}" == 1 ]] || [[ "${WINE_FULLSCREEN_FSR}" == 1 ]] ; then
@@ -2088,7 +2085,7 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32"
         pw_tray_icon
         sleep 0.5
         if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then
-            pw_start_progress_bar_cover "${PW_GUI_ICON_PATH}/covers/loading_${update_loc}.gif"
+            pw_start_progress_bar_cover "${COVERS_PATH}/loading_${update_loc}.gif"
         fi
     fi
     add_in_start_portwine
@@ -2315,7 +2312,7 @@ yad_error_download () {
     fi
     "${pw_yad_v13_0}" --text "$loc_gui_error_download" --width=400 --borders=15 --title "$loc_gui_error" \
     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/download.png" \
-    --no-wrap --center --text-align=center\
+    --no-wrap --center --text-align=center \
     --button="SKIP"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":1 \
     --button="REPEAT"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 2>/dev/null
     [[ "$?" != 0 ]] && return 1 || return 0
@@ -2337,9 +2334,9 @@ yad_question () {
 pw_start_progress_bar_cover () {
     if ! check_start_from_steam ; then
         PW_GIF_FILE="$1"
-        PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 7}'`
-        PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 7}'`
-        "${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
+        PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 8}'`
+        PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 15}'`
+        "${pw_yad_v13_0}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
         --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/portproton.svg" > /dev/null 2>&1 &
         export PW_YAD_PID_PROGRESS_BAR_COVER="$!"
         return 0
@@ -2348,11 +2345,11 @@ pw_start_progress_bar_cover () {
 
 pw_start_progress_bar_cover_block () {
     if ! check_start_from_steam ; then
-        [[ ! -f "${pw_yad}" ]] && local pw_yad="yad"
+        [[ ! -f "${pw_yad_v13_0}" ]] && local pw_yad_v13_0="yad"
         PW_GIF_FILE="$1"
-        PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 7}'`
-        PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 7}'`
-        "${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
+        PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 8}'`
+        PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 15}'`
+        "${pw_yad_v13_0}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
         --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/portproton.svg" > /dev/null 2>&1 &
         export PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK="$!"
         return 0
@@ -2374,7 +2371,7 @@ pw_update_pfx_cover_gui () {
 
     if ! check_start_from_steam && ! pgrep -a yad | grep "yad_v13_0 --notebook --key=$PW_KEY_PROGRESS_BAR_UP" &>/dev/null ; then
         PW_KEY_PROGRESS_BAR_UP=$RANDOM
-        PW_GIF_FILE="${PW_GUI_ICON_PATH}/covers/update_prefix_${update_loc}.gif"
+        PW_GIF_FILE="${COVERS_PATH}/update_prefix_${update_loc}.gif"
         PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
         PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 60}'`
         echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log"
@@ -2451,7 +2448,7 @@ pw_stop_progress_bar_cover_block () {
 export -f pw_stop_progress_bar_cover_block
 
 open_changelog () {
-    "${pw_yad}" --title="$loc_gui_changelog" --no-buttons --text-align=center \
+    "${pw_yad_v13_0}" --title="$loc_gui_changelog" --no-buttons --text-align=center \
     --text-info --show-uri --wrap --width=1200 --height=700 --uri-color=red \
     --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
     --filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" &>/dev/null
@@ -2551,9 +2548,7 @@ pw_gui_for_edit_db () {
            *) ADD_WINVER_EDIT_DB="10!7!XP" ;;
     esac
 
-    # --field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select_help} :CB" "${AMD_VULKAN_VAR}!disabled!amdvlk!amdgpupro!radv!radv_gpl!radv_aco"
-
-    "${pw_yad_v13_0}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator="%" --columns=1 \
+    "${pw_yad_v13_0}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator="%" --columns=1 --scroll \
     --field="${loc_gui_ver_windows}!${loc_gui_ver_windows_help} :CB" "${ADD_WINVER_EDIT_DB}" \
     --field="${loc_gui_aut_winetricks}!${loc_gui_aut_winetricks_help} :CBE" "${PW_DLL_INSTALL}!vcrun2019 corefonts lucida" \
     --field="${loc_gui_winedllover}!${loc_gui_winedllover_help} :CBE" "${WINEDLLOVERRIDES}!libglesv2=!d3dx9_36,d3dx9_42=n,b;mfc120=b,n" \
diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX b/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX
deleted file mode 100755
index 51dd015dbb6922789c38fc8795e82c32a65dfb17..0000000000000000000000000000000000000000
--- a/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env bash
-# Author: chal55rus (Sergey P.)
-########################################################################
-export LAUNCH_PARAMETERS=("")
-export PW_PREFIX_NAME="ROBLOX"
-export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/roblox_installer.exe"
-export WINEDLLOVERRIDES="mscoree,mshtml="
-# export DISABLE_CP_DEFPFX=1
-export PW_MUST_HAVE_DLL=""
-export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta"
-
-start_portwine
-if try_download_no_mirror "https://setup.rbxcdn.com/RobloxPlayerLauncher.exe" "${PW_AUTOINSTALL_EXE}"
-then
-    pw_kill_autostart MicrosoftEdge &
-    pw_run "${PW_AUTOINSTALL_EXE}"
-    portwine_exe="$(find "$WINEPREFIX/drive_c/Program Files (x86)/Roblox/" -type f -name "RobloxPlayerBeta.exe" | head -n 1)"
-    try_remove_file "${portwine_exe}.ppdb"
-    pw_stop_progress_bar
-    portwine_create_shortcut
-fi
-stop_portwine
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index 2e333c2489a40840b0031cbe0419d587cf5a9ca4..117fb6c956e19dfeb8cf5537211441329f2b6e5a 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -42,14 +42,14 @@ fi
 
 . "$(dirname $(readlink -f "$0"))/functions_helper"
 
-if [[ -z "${LANG}" ]] ; then
-    export LANG=C
-    export FORCE_ENG_LANG=1
-elif [[ "${START_FROM_STEAM}" == 1 ]] ; then
-    export FORCE_ENG_LANG=1
-else
-    unset FORCE_ENG_LANG
-fi
+# if [[ -z "${LANG}" ]] ; then
+#     export LANG=C
+#     export FORCE_ENG_LANG=1
+# elif [[ "${START_FROM_STEAM}" == 1 ]] ; then
+#     export FORCE_ENG_LANG=1
+# else
+#     unset FORCE_ENG_LANG
+# fi
 
 create_new_dir "${HOME}/.local/share/applications"
 if [[ "${PW_SILENT_RESTART}" == 1 ]] || [[ "${START_FROM_STEAM}" == 1 ]] ; then
@@ -145,6 +145,7 @@ try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log"
 # TODO: remove this later...
 try_remove_file "${PORT_SCRIPTS_PATH}/runlib"
 try_remove_file "${PORT_SCRIPTS_PATH}/yad_gui"
+try_remove_file "${PORT_SCRIPTS_PATH}/zen_yad_gui"
 try_remove_file "${PW_GUI_THEMES_PATH}/default.css"
 
 if [[ "${INSTALLING_PORT}" == 1 ]] ; then
@@ -476,7 +477,6 @@ else
 
     # --field="   Secret World Legends (ENG)"!"$PW_GUI_ICON_PATH/swl.png"!"":"FBTN" '@bash -c "button_click PW_SWL"'
     # --field="   Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"'
-    # --field="   ROBLOX"!"$PW_GUI_ICON_PATH/roblox.png"!"":"FBTN" '@bash -c "button_click PW_ROBLOX"'
 
     export START_FROM_PP_GUI=1
 
diff --git a/data_from_portwine/themes/classic.pptheme b/data_from_portwine/themes/classic.pptheme
index ba2779be90d5b67463e976d87a2ed7800e97899f..1b20b383657faabbe42395ddf517ff8e696841c9 100755
--- a/data_from_portwine/themes/classic.pptheme
+++ b/data_from_portwine/themes/classic.pptheme
@@ -1,5 +1,9 @@
-export THEME_NAME="$(basename .pptheme)"
+#!/usr/bin/env bash
+
+export THEME_NAME=classic
 export THEME_PATH="$PW_GUI_THEMES_PATH/$THEME_NAME"
+export COVERS_PATH="$PW_GUI_THEMES_PATH/$THEME_NAME"
+
 export YAD_OPTIONS="--css=$THEME_PATH/style.css \
 --borders=5 \
 --tab-borders=3 \
diff --git a/data_from_portwine/img/gui/covers/loading_ENG.gif b/data_from_portwine/themes/classic/loading_ENG.gif
similarity index 100%
rename from data_from_portwine/img/gui/covers/loading_ENG.gif
rename to data_from_portwine/themes/classic/loading_ENG.gif
diff --git a/data_from_portwine/img/gui/covers/loading_RUS.gif b/data_from_portwine/themes/classic/loading_RUS.gif
similarity index 100%
rename from data_from_portwine/img/gui/covers/loading_RUS.gif
rename to data_from_portwine/themes/classic/loading_RUS.gif
diff --git a/data_from_portwine/img/gui/covers/unpacking_ENG.gif b/data_from_portwine/themes/classic/unpacking_ENG.gif
similarity index 100%
rename from data_from_portwine/img/gui/covers/unpacking_ENG.gif
rename to data_from_portwine/themes/classic/unpacking_ENG.gif
diff --git a/data_from_portwine/img/gui/covers/unpacking_RUS.gif b/data_from_portwine/themes/classic/unpacking_RUS.gif
similarity index 100%
rename from data_from_portwine/img/gui/covers/unpacking_RUS.gif
rename to data_from_portwine/themes/classic/unpacking_RUS.gif
diff --git a/data_from_portwine/img/gui/covers/update_prefix_ENG.gif b/data_from_portwine/themes/classic/update_prefix_ENG.gif
similarity index 100%
rename from data_from_portwine/img/gui/covers/update_prefix_ENG.gif
rename to data_from_portwine/themes/classic/update_prefix_ENG.gif
diff --git a/data_from_portwine/img/gui/covers/update_prefix_RUS.gif b/data_from_portwine/themes/classic/update_prefix_RUS.gif
similarity index 100%
rename from data_from_portwine/img/gui/covers/update_prefix_RUS.gif
rename to data_from_portwine/themes/classic/update_prefix_RUS.gif
diff --git a/data_from_portwine/themes/default.pptheme b/data_from_portwine/themes/default.pptheme
index aa6b06b6a49b62dbbdac2611ef48eca6d9af3b30..66114c94a19ae66140f44db9d42ff10cabe90fbb 100755
--- a/data_from_portwine/themes/default.pptheme
+++ b/data_from_portwine/themes/default.pptheme
@@ -1,6 +1,10 @@
+#!/usr/bin/env bash
+# export GTK_DEBUG=interactive
+
 # определение названия и пути темы
-export THEME_NAME="$(basename .pptheme)"
+export THEME_NAME=default
 export THEME_PATH="$PW_GUI_THEMES_PATH/$THEME_NAME"
+export COVERS_PATH="$PW_GUI_THEMES_PATH/classic"
 
 # глобальные настройки YAD
 export YAD_OPTIONS="--css=$THEME_PATH/style.css \