From c4cab73dbbf439f008d46b02f5bf9c628177b91c Mon Sep 17 00:00:00 2001
From: castro-fidel <tergoevm@gmail.com>
Date: Mon, 19 Apr 2021 20:56:47 +0300
Subject: [PATCH] Scripts version 1036

---
 data_from_portwine/changelog                  |  40 +-
 data_from_portwine/dxvk.conf                  | 516 ++++++++++++++++++
 .../scripts/portwine_db/Cyberpunk2077         |  43 +-
 data_from_portwine/scripts/portwine_db/Larry  |   9 +
 .../scripts/portwine_db/LostEmber             |  37 ++
 .../portwine_db/Need_For_Speed_The_Run        |  37 ++
 .../scripts/portwine_db/StarCraft             |  39 ++
 .../scripts/portwine_db/UbisoftConnect        |  36 ++
 .../scripts/portwine_db/alanwake              |  35 ++
 .../scripts/portwine_db/avengers              |   7 +-
 .../scripts/portwine_db/default               |   2 +-
 data_from_portwine/scripts/portwine_db/setup  |   2 +-
 data_from_portwine/scripts/runlib             |  95 ++--
 data_from_portwine/scripts/setup.sh           |   5 +-
 data_from_portwine/scripts/start.sh           |   2 +-
 .../scripts/vars/PortProton_vars              |   4 +-
 16 files changed, 835 insertions(+), 74 deletions(-)
 create mode 100644 data_from_portwine/dxvk.conf
 create mode 100644 data_from_portwine/scripts/portwine_db/Larry
 create mode 100644 data_from_portwine/scripts/portwine_db/LostEmber
 create mode 100644 data_from_portwine/scripts/portwine_db/Need_For_Speed_The_Run
 create mode 100644 data_from_portwine/scripts/portwine_db/StarCraft
 create mode 100644 data_from_portwine/scripts/portwine_db/UbisoftConnect
 create mode 100755 data_from_portwine/scripts/portwine_db/alanwake

diff --git a/data_from_portwine/changelog b/data_from_portwine/changelog
index c1473a37..d19dc7ed 100644
--- a/data_from_portwine/changelog
+++ b/data_from_portwine/changelog
@@ -1,34 +1,50 @@
+История изменений и дальнейшие планы:
+-----------------------------------------
 В планах:
+* добавить выбор версий dxvk и vkd3d в db файле.
+* добавить условие: если установлен vcrun2019, то не устанавливать vcrun2015-2017
+* проверить Cyberpunk и Tomd Raider 4 
+* EDIT DB открывается не у всех
+* добавить всю инфу из db файла и winetricks.log в debug
+* проверка установки mangohud
 * вывод changlog после обновления
-* перепроверить KILL_WINESERVER
 * исправить работу windows steam
-* создать defaut префик и сделать авто симлинки в другие префиксы (games, programm files, users)
+* создать defaut префикс и сделать авто симлинки в другие префиксы (games, programm files, users)
 * добавить кнопку отчистки префикса без затрагивания игр и программ
-* удалить старые mono и gecko из .PortWINE
+* удалить старые mono, gecko и libs из .PortWINE
 * добавить вопрос перед обновлением скриптов
 * проверить windows steam под PortProton
 * убрать все *_vars
 * выкачка либов из серверов кроссовера?
 * иконка в трей для PortProton
-* пофиксить выхлоп debug
 * зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru
+-----------------------------------------
 
-###Scripts version 1034###
+* в setup db изменен список библиотек (export PW_DLL_INSTALL="vcrun6 mfc42 vcrun6sp6 mfc120 vcrun2013")
+
+###PortProton-73### 18.04.2021 ###Scripts version 1036###
+* фикс для StarCraft (db)
+* Фикс работы порта в solus (отключение xterm)
+* Фикс создания циклической ссылки drive_c внутри drive_c
+* Удален &>>/dev/null из PW_RUN (ломает запуск неторорых игр и приложений)
+* Очистищен код функции PW_RUN (убрано условие optirun_on за ненадобностью)
+* Проверить минимальный набор библиотек в default db (vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9)
+
+
+###PortProton-72###   17.04.2021   ###Scripts version 1035###
+* Обновлен wine до версии Proton experimental-6.3-20210407b (совместно с dxvk и vkd3d)
+* добавлен фикс работы 32-битных игр в режиме DXVK (export PW_FORCE_LARGE_ADDRESS_AWARE=1)
+* изменен список библиотек для запуска неизвестных игр (для которых еще нет db файлов)
+* добавлен dxvk.conf в каталог data
+* обновлеы libs до v.8
 * hotfix для EGS
 * в dxvk и opengl режиме, по умолчанию выбран win7
-
-###Scripts version 1033###
 * убран xterm из debug (иначе ломает шрифты)
 * добавлена кнопка редактирования найденного db файла
 * ТЕСТ: автоудаление PINNED_LIBS и отключение setup.sh --force
-
-###Scripts version 1032###
 * изменение сравнения версий скриптов и портов "$(curl -s --list-only "https://portwine-linux.ru/ftp/current_version/blabla_ver")" 
 * автоматическая установка в префикс порта PW_DLL_INSTALL="vcrun2017 vcrun6 vcrun6sp6 mfc42"
-* по умолчанию под dxvk и opengl используется win10
 * исправлено создание db файла при создании ярлыков, в именах которых присутствует одниковвые названия запускаемого файла
-
-###Scripts version 1031###
 * исправили создания префикса на некоторых системах при использования встроенного xterm из ~/PortWINE/libs 
 
 ###PortProton-71###    11.04.2021  
diff --git a/data_from_portwine/dxvk.conf b/data_from_portwine/dxvk.conf
new file mode 100644
index 00000000..9ea1ce52
--- /dev/null
+++ b/data_from_portwine/dxvk.conf
@@ -0,0 +1,516 @@
+ # 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,
+# or otherwise the window may stay black.
+# 
+# Supported values: True, False
+
+# dxgi.deferSurfaceCreation = False
+# d3d9.deferSurfaceCreation = False
+
+
+# Enforce a stricter maximum frame latency. Overrides the application
+# setting specified by calling IDXGIDevice::SetMaximumFrameLatency.
+# Setting this to 0 will have no effect.
+# 
+# Supported values : 0 - 16
+
+# dxgi.maxFrameLatency = 0
+# d3d9.maxFrameLatency = 0
+
+
+# Override PCI vendor and device IDs reported to the application. Can
+# cause the app to adjust behaviour depending on the selected values.
+#
+# Supported values: Any four-digit hex number.
+
+# dxgi.customDeviceId = 0000
+# dxgi.customVendorId = 0000
+
+# d3d9.customDeviceId = 0000
+# d3d9.customVendorId = 0000
+
+
+# Report Nvidia GPUs as AMD GPUs by default. This is enabled by default
+# to work around issues with NVAPI, but may cause issues in some games.
+#
+# Supported values: True, False
+
+# dxgi.nvapiHack = True
+
+
+
+# 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.
+#
+# Supported values: Any number in Megabytes.
+
+# dxgi.maxDeviceMemory = 0
+# dxgi.maxSharedMemory = 0
+
+
+# Override back buffer count for the Vulkan swap chain.
+# Setting this to 0 or less will have no effect.
+#
+# Supported values: Any number greater than or equal to 2.
+
+# dxgi.numBackBuffers = 0
+# d3d9.numBackBuffers = 0
+
+
+# Overrides synchronization interval (Vsync) for presentation.
+# Setting this to 0 disables vertical synchronization entirely.
+# A positive value 'n' will enable Vsync and repeat the same
+# image n times, and a negative value will have no effect.
+#
+# Supported values: Any non-negative number
+
+# 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. 
+#
+# 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,
+# but may be unsupported on some systems.
+#
+# Please do not report issues with this option.
+#
+# Supported values: Auto, True, False
+
+# dxgi.tearFree = Auto
+# d3d9.tearFree = Auto
+
+
+# Performs range check on dynamically indexed constant buffers in shaders.
+# This may be needed to work around a certain type of game bug, but may
+# also introduce incorrect behaviour.
+#
+# Supported values: True, False
+
+# d3d11.constantBufferRangeCheck = False
+
+
+# Assume single-use mode for command lists created on deferred contexts.
+# This may need to be disabled for some applications to avoid rendering
+# issues, which may come at a significant performance cost.
+#
+# Supported values: True, False
+
+# d3d11.dcSingleUseMode = True
+
+
+# Override the maximum feature level that a D3D11 device can be created
+# with. Setting this to a higher value may allow some applications to run
+# that would otherwise fail to create a D3D11 device.
+#
+# Supported values: 9_1, 9_2, 9_3, 10_0, 10_1, 11_0, 11_1
+
+# d3d11.maxFeatureLevel = 11_1
+
+
+# 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 = 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.
+#
+# Supported values: True, False
+
+# d3d11.relaxedBarriers = False
+
+
+# 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
+# d3d9.samplerAnisotropy = -1
+
+
+# Declares vertex positions as invariant in order to solve
+# potential Z-fighting issues at a small performance cost.
+#
+# Supported values: True, False
+
+# d3d11.invariantPosition = True
+# d3d9.invariantPosition = False
+
+
+# Replaces NaN outputs from fragment shaders with zeroes for floating
+# point render target. Used in some games to prevent artifacting.
+#
+# Supported values: True, False
+
+# d3d11.enableRtOutputNanFixup = False
+
+
+# Clears workgroup memory in compute shaders to zero. Some games don't do
+# this and rely on undefined behaviour. Enabling may reduce performance.
+#
+# Supported values: True, False
+
+# d3d11.zeroWorkgroupMemory = False
+
+
+# Sets number of pipeline compiler threads.
+# 
+# Supported values:
+# - 0 to automatically determine the number of threads to use
+# - any positive number to enforce the thread count
+
+# dxvk.numCompilerThreads = 0
+
+
+# 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
+
+# dxvk.useRawSsbo = Auto
+
+
+# Toggles early discard.
+# 
+# Uses subgroup operations to determine whether it is safe to
+# discard fragments before the end of a fragment shader. This
+# is enabled by default on all drivers except RADV and Nvidia.
+# Enabling this may improve or degrade performance depending
+# on the game and hardware, or cause other issues.
+# 
+# Supported values:
+# - Auto: Don't change the default
+# - True, False: Always enable / disable
+
+# dxvk.useEarlyDiscard = Auto
+
+
+# Controls workaround for NVIDIA HVV Heap bug.
+#
+# Limits the budget of NVIDIA's HVV (host-visible,
+# device-local) heap to be half of the reported size. This is
+# needed to avoid NVIDIA driver bug 3114283, and defaults to
+# being enabled on all affected drivers.
+#
+# Supported values:
+# - Auto: Don't change the default
+# - True, False: Always enable / disable
+
+# dxvk.halveNvidiaHVVHeap = Auto
+
+
+# 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 = 
+
+
+# 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
+# - 3: Shader Model 3
+
+# d3d9.shaderModel = 3
+
+
+# Evict Managed on Unlock
+# 
+# Decides whether we should evict managed resources from
+# system memory when they are unlocked entirely.
+#
+# Supported values:
+# - True, False: Always enable / disable
+
+#  d3d9.evictManagedOnUnlock = False
+
+
+# DPI Awareness
+# 
+# Decides whether we should call SetProcessDPIAware on device
+# creation. Helps avoid upscaling blur in modern Windows on
+# Hi-DPI screens/devices.
+#
+# Supported values:
+# - True, False: Always enable / disable
+
+# d3d9.dpiAware = True
+
+
+# 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.
+#
+# Supported values:
+# - True, False: Always enable / disable
+
+# d3d9.strictConstantCopies = False
+
+
+# Strict Pow
+# 
+# Decides whether we have an opSelect for handling pow(0,0) = 0
+# otherwise it becomes undefined.
+#
+# Supported values:
+# - True, False: Always enable / disable
+
+# d3d9.strictPow = True
+
+
+# Lenient Clear
+#
+# Decides whether or not we fastpath clear anyway if we are close enough to
+# clearing a full render target.
+#
+# Supported values:
+# - True, False: Always enable / disable
+
+# d3d9.lenientClear = False
+
+
+# Max available memory
+#
+# Changes the max initial value used in tracking and GetAvailableTextureMem
+# Value in Megabytes
+#
+# Supported values:
+# - Max Available Memory: Any int32_t
+# - Memory Tracking Testing: True, False
+
+# d3d9.maxAvailableMemory = 1024
+d3d9.memoryTrackTest = False
+
+
+# Force enable/disable floating point quirk emulation
+# 
+# Force toggle anything * 0 emulation
+# Tristate
+# Supported values:
+# - True/False
+
+# d3d9.floatEmulation = 
+
+
+# Enable dialog box mode
+#
+# Changes the default state of dialog box mode.
+# *Disables* exclusive fullscreen when enabled.
+#
+# Supported values:
+# - True, False: Always enable / disable
+
+# 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
+
+
+# Long Mad
+#
+# Should we make our Mads a FFma or do it the long way with an FMul and an FAdd?
+# This solves some rendering bugs in games that have z-pass shaders which
+# don't match entirely to the regular vertex shader in this way.
+#
+# Supported values:
+# - True/False
+
+# d3d9.longMad = False
+
+# Alpha Test Wiggle Room
+#
+# Workaround for games using alpha test == 1.0, etc due to wonky interpolation or
+# misc. imprecision on some vendors
+#
+# Supported values:
+# - True/False
+
+# d3d9.alphaTestWiggleRoom = False
+
+# Device Local Constant Buffers
+#
+# Enables using device local, host accessible memory for constant buffers in D3D9.
+# This tends to actually be slower for some reason on AMD,
+# and the exact same performance on NVIDIA.
+#
+# Supported values:
+# - True/False
+
+# d3d9.deviceLocalConstantBuffers = False
+
+# Allow Read Only
+#
+# Enables using the D3DLOCK_READONLY flag. Some apps use this
+# incorrectly, and write when they should be reading.
+#
+# Supported values:
+# - True/False
+
+# d3d9.allowLockFlagReadonly = True
+
+# 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
+#
+# Supported values:
+# - True/False
+
+# d3d9.supportDFFormats = True
+
+# Support X4R4G4B4
+#
+# Support the X4R4G4B4 format.
+# The Sims 2 is a horrible game made by complete morons.
+#
+# Supported values:
+# - True/False
+
+# d3d9.supportX4R4G4B4 = True
+
+# Support D32
+#
+# Support the D32 format.
+#
+# Supported values:
+# - True/False
+
+# d3d9.supportD32 = True
+
+# SWVP Constant Counts
+#
+# The number of constants available when using Software Vertex Processing.
+#
+# Supported values:
+# - Integers
+
+# d3d9.swvpFloatCount = 8192
+# d3d9.swvpIntCount = 2048
+# d3d9.swvpBoolCount = 2048
+
+# 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.
+#
+# 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
+#
+# Useful if games use the wrong image and sampler
+# type combo like Halo: CE or Spellforce.
+# Can fix rendering in older, broken games in some instances.
+#
+# Supported values:
+# - True/False
+
+# d3d9.forceSamplerTypeSpecConstants = False
+
+# Force Aspect Ratio
+#
+# Only exposes modes with a given aspect ratio.
+# Useful for titles that break if they see ultra-wide.
+#
+# Supported values:
+# - Any ratio, ie. "16:9", "4:3"
+
+# d3d9.forceAspectRatio = ""
+
+# Allow Do Not Wait
+#
+# Allow the do not wait lock flag to be used
+# Useful if some apps use this incorrectly.
+#
+# Supported values:
+# - True/False
+
+# d3d9.allowDoNotWait = True
+
+# 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)
+# or by physical adapter.
+# May be useful in PRIME setups.
+#
+# Supported values:
+# - True/False
+
+# d3d9.enumerateByDisplays = True
+
+# APITrace Mode
+#
+# Makes all host visible buffers cached and coherent
+# Improves performance when apitracing, but also can impact
+# some dumb games.
+#
+# Supported values:
+# - True/False
+
+# d3d9.apitraceMode = False
+# d3d11.apitraceMode = False
diff --git a/data_from_portwine/scripts/portwine_db/Cyberpunk2077 b/data_from_portwine/scripts/portwine_db/Cyberpunk2077
index 3564ad7c..2c553515 100644
--- a/data_from_portwine/scripts/portwine_db/Cyberpunk2077
+++ b/data_from_portwine/scripts/portwine_db/Cyberpunk2077
@@ -1,9 +1,36 @@
 #!/bin/bash
-#Author: PortWINE
-#Cyberpunk2077.exe 
-#Rating=4
-################################################
-export PW_VULKAN_USE=vkd3d
-export LAUNCH_PARAMETERS=""
-export PULSE_LATENCY_MSEC=60
-
+    #Author: xuser
+    #Cyberpunk2077.exe 
+    #Rating=1-5
+    ################################################
+    export PW_VULKAN_USE=vkd3d
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export WINEDLLOVERRIDES="xaudio2_7=n,b"
+##export PW_DLL_INSTALL="d3dcompiler_47"        # Install DDL in port prefix (used winetricks) 
+##export PW_LOG=0                                 # Enable debug mode fo terminal 
+##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
+##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
+##export PW_DXVK_NO_ASYNC=1                       # Disabled ASYNC for VULKAN
+##export PW_USE_TERMINAL=0                        # Force run in terminal
+##export PW_OLD_GL_STRING=0
+export PW_NVAPI_DISABLE=1
+##export PW_VKD3D_FEATURE_LEVEL=0
+##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
+##export PW_HIDE_NVIDIA_GPU=0
+##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
+##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
+##export PW_FORCE_DISABLED_GAMEMOD=0              # Force disabele gamemod
+##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
+export PULSE_LATENCY_MSEC=40                    # Fix crackling audio in games
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
+export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
+##export PW_VIRTUAL_DESKTOP=1
+##export DXVK_HUD=fps,devinfo
+export PW_HEAP_DELAY_FREE=1
+##export PW_DXGI_FROM_DXVK=0
+##export WINEARCH=win32                           # defaut = win64
+##export WINEPREFIX=
+##ADD_IN_START_PORTWINE () { commands ; }
diff --git a/data_from_portwine/scripts/portwine_db/Larry b/data_from_portwine/scripts/portwine_db/Larry
new file mode 100644
index 00000000..18bb7672
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/Larry
@@ -0,0 +1,9 @@
+#!/bin/bash
+#Author: Garrett-42
+#Larry.exe
+#Rating=5
+################################################
+export PW_NO_FSYNC=1
+export PW_NO_ESYNC=1
+export PW_WINDOWS_VER=7
+
diff --git a/data_from_portwine/scripts/portwine_db/LostEmber b/data_from_portwine/scripts/portwine_db/LostEmber
new file mode 100644
index 00000000..86ebdf9d
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/LostEmber
@@ -0,0 +1,37 @@
+#!/bin/bash
+    #Author: xuser
+    #LostEmber-Win64-Shipping.exe 
+    #Rating=1-5
+    ################################################
+    export PW_VULKAN_USE=vkd3d
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
+##export WINEDLLOVERRIDES="blabla=n,b"
+##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
+##export PW_LOG=0                                 # Enable debug mode fo terminal 
+##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
+##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
+##export PW_DXVK_NO_ASYNC=1                       # Disabled ASYNC for VULKAN
+##export PW_USE_TERMINAL=0                        # Force run in terminal
+##export PW_OLD_GL_STRING=0
+export PW_NVAPI_DISABLE=1
+##export PW_VKD3D_FEATURE_LEVEL=0
+##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
+##export PW_HIDE_NVIDIA_GPU=0
+##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
+##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
+##export PW_FORCE_DISABLED_GAMEMOD=0              # Force disabele gamemod
+##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
+##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr
+##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
+##export PW_VIRTUAL_DESKTOP=1
+##export DXVK_HUD=fps,devinfo
+export PW_HEAP_DELAY_FREE=1
+##export PW_DXGI_FROM_DXVK=1
+##export WINEARCH=win32                           # defaut = win64
+##export WINEPREFIX=
+##ADD_IN_START_PORTWINE () { commands ; }
diff --git a/data_from_portwine/scripts/portwine_db/Need_For_Speed_The_Run b/data_from_portwine/scripts/portwine_db/Need_For_Speed_The_Run
new file mode 100644
index 00000000..b857d611
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/Need_For_Speed_The_Run
@@ -0,0 +1,37 @@
+#!/bin/bash
+    #Author: akeshi
+    #Need For Speed The Run.exe 
+    #Rating=1-5
+    ################################################
+    export PW_VULKAN_USE=dxvk
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
+##export WINEDLLOVERRIDES="blabla=n,b"
+##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
+##export PW_LOG=0                                 # Enable debug mode fo terminal 
+##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
+##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
+##export PW_DXVK_NO_ASYNC=1                       # Disabled ASYNC for VULKAN
+##export PW_USE_TERMINAL=0                        # Force run in terminal
+##export PW_OLD_GL_STRING=0
+##export PW_NVAPI_DISABLE=1
+##export PW_VKD3D_FEATURE_LEVEL=0
+##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
+##export PW_HIDE_NVIDIA_GPU=0
+##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
+##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
+##export PW_FORCE_DISABLED_GAMEMOD=0              # Force disabele gamemod
+##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
+##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr
+##export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP
+##export PW_VIRTUAL_DESKTOP=1
+##export DXVK_HUD=fps,devinfo
+##export PW_HEAP_DELAY_FREE=0
+##export PW_DXGI_FROM_DXVK=0
+##export WINEARCH=win32                           # defaut = win64
+##export WINEPREFIX=
+##ADD_IN_START_PORTWINE () { commands ; }
diff --git a/data_from_portwine/scripts/portwine_db/StarCraft b/data_from_portwine/scripts/portwine_db/StarCraft
new file mode 100644
index 00000000..f2f7fd5a
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/StarCraft
@@ -0,0 +1,39 @@
+#!/bin/bash
+    #Author: dez
+    #StarCraft.exe 
+    #Rating=1-5
+    ################################################
+    export PW_VULKAN_USE=dxvk
+    #export PW_VIRTUAL_DESKTOP=1
+    export WINEDLLOVERRIDES="ddraw=n,b"
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
+##export WINEDLLOVERRIDES="blabla=n,b"
+##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
+##export PW_LOG=0                                 # Enable debug mode fo terminal 
+##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
+##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
+##export PW_DXVK_NO_ASYNC=1                       # Disabled ASYNC for VULKAN
+##export PW_USE_TERMINAL=0                        # Force run in terminal
+##export PW_OLD_GL_STRING=0
+##export PW_NVAPI_DISABLE=1
+##export PW_VKD3D_FEATURE_LEVEL=0
+##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
+##export PW_HIDE_NVIDIA_GPU=0
+##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
+##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
+##export PW_FORCE_DISABLED_GAMEMOD=0              # Force disabele gamemod
+##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
+##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr
+##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
+##export PW_VIRTUAL_DESKTOP=1
+##export DXVK_HUD=fps,devinfo
+##export PW_HEAP_DELAY_FREE=0
+##export PW_DXGI_FROM_DXVK=0
+##export WINEARCH=win32                           # defaut = win64
+##export WINEPREFIX=
+##ADD_IN_START_PORTWINE () { commands ; }
diff --git a/data_from_portwine/scripts/portwine_db/UbisoftConnect b/data_from_portwine/scripts/portwine_db/UbisoftConnect
new file mode 100644
index 00000000..a5cc783b
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/UbisoftConnect
@@ -0,0 +1,36 @@
+#!/bin/bash
+    #Author: chal55rus
+    #UbisoftConnect.exe 
+    #Rating=1-5
+    ################################################
+    #export PW_VULKAN_USE=dxvk
+    export PW_DLL_INSTALL="arial corefonts d3dcompiler_43 d3dcompiler_47 d3dx9" 
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
+##export WINEDLLOVERRIDES="blabla=n,b"
+##export PW_DLL_INSTALL="vcrun2019 vcrun6"        # Install DDL in port prefix (used winetricks) 
+##export PW_LOG=0                                 # Enable debug mode fo terminal 
+##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
+##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
+##export PW_DXVK_NO_ASYNC=1                       # Disabled ASYNC for VULKAN
+##export PW_USE_TERMINAL=0                        # Force run in terminal
+##export PW_OLD_GL_STRING=0
+##export PW_NVAPI_DISABLE=1
+##export PW_VKD3D_FEATURE_LEVEL=0
+##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
+##export PW_HIDE_NVIDIA_GPU=0
+##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
+##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
+##export PW_FORCE_DISABLED_GAMEMOD=0              # Force disabele gamemod
+##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
+##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr
+##export PW_WINDOWS_VER=10                      # Set windows version 10, 7 or XP
+##export PW_VIRTUAL_DESKTOP=1
+##export DXVK_HUD=fps,devinfo
+##export PW_HEAP_DELAY_FREE=0
+##export PW_DXGI_FROM_DXVK=0
+##ADD_IN_START_PORTWINE () { commands ; }
diff --git a/data_from_portwine/scripts/portwine_db/alanwake b/data_from_portwine/scripts/portwine_db/alanwake
new file mode 100755
index 00000000..83bae384
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/alanwake
@@ -0,0 +1,35 @@
+#!/bin/bash
+    #Author: xuser
+    #alanwake.exe 
+    #Rating=1-5
+#####################examples###########################
+##export PW_COMMENT_DB="blablabla"
+##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
+##export WINEDLLOVERRIDES="blabla=n,b"
+export PW_DLL_INSTALL="d3dx9 d3dcompiler_43"        # Install DDL in port prefix (used winetricks) 
+##export PW_LOG=0                                 # Enable debug mode fo terminal 
+#export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
+#export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
+##export PW_DXVK_NO_ASYNC=1                       # Disabled ASYNC for VULKAN
+##export PW_USE_TERMINAL=0                        # Force run in terminal
+##export PW_OLD_GL_STRING=0
+##export PW_NVAPI_DISABLE=1
+##export PW_VKD3D_FEATURE_LEVEL=0
+##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
+##export PW_HIDE_NVIDIA_GPU=0
+##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
+##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG
+##export PW_FORCE_DISABLED_GAMEMOD=1              # Force disabele gamemod
+##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
+##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games
+##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options
+##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI 
+##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue,dxr
+export PW_WINDOWS_VER=7                        # Set windows version 10, 7 or XP
+##export PW_VIRTUAL_DESKTOP=1
+##export DXVK_HUD=fps,devinfo
+##export PW_HEAP_DELAY_FREE=0
+##export PW_DXGI_FROM_DXVK=0
+##export WINEARCH=win32                           # defaut = win64
+##export WINEPREFIX=
+##ADD_IN_START_PORTWINE () { commands ; }
diff --git a/data_from_portwine/scripts/portwine_db/avengers b/data_from_portwine/scripts/portwine_db/avengers
index d6b51d3c..6c948249 100644
--- a/data_from_portwine/scripts/portwine_db/avengers
+++ b/data_from_portwine/scripts/portwine_db/avengers
@@ -3,6 +3,9 @@
 #avengers.exe 
 #Rating=?
 ################################################
-export PW_VULKAN_USE=vkd3d
+export PW_VULKAN_USE=dxvk
 export LAUNCH_PARAMETERS=""
-#export WINEDLLOVERRIDES="amd_ags_x64=b"
+export WINEDLLOVERRIDES="atiadlxx=n"
+export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP
+export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
+export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives
\ No newline at end of file
diff --git a/data_from_portwine/scripts/portwine_db/default b/data_from_portwine/scripts/portwine_db/default
index 2ce58ff9..33a26470 100644
--- a/data_from_portwine/scripts/portwine_db/default
+++ b/data_from_portwine/scripts/portwine_db/default
@@ -2,7 +2,7 @@
 #Author: PortWINE-Linux.ru
 #name_exe_file.exe
 #Rating=1-5
-export PW_DLL_INSTALL="vcrun2017 vcrun6 vcrun6sp6 mfc42"  # Install DDL in port prefix (used winetricks) 
+export PW_DLL_INSTALL="vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9" #Install DDL in port prefix (used winetricks) 
 #####################examples###########################
 ##export PW_COMMENT_DB="blablabla"
 ##export PW_VULKAN_USE=dxvk                       # dxvk, vkd3d or 0 for OpenGL
diff --git a/data_from_portwine/scripts/portwine_db/setup b/data_from_portwine/scripts/portwine_db/setup
index 198fb84f..2fe7b8ea 100644
--- a/data_from_portwine/scripts/portwine_db/setup
+++ b/data_from_portwine/scripts/portwine_db/setup
@@ -24,7 +24,7 @@ export PW_WINEDBG_DISABLE=1
 export PW_FORCE_DISABLED_GAMEMOD=1             # Force disabele gamemod
 export PW_FORCE_LARGE_ADDRESS_AWARE=0          # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
 #export PULSE_LATENCY_MSEC=60
-export PW_DLL_INSTALL="vcrun6 mfc42 vcrun6sp6"
+export PW_DLL_INSTALL="vcrun6 mfc42 vcrun6sp6 mfc120 vcrun2013"
 #export LAUNCH_PARAMETERS="-d3d9"
 export PW_GUI_DISABLED_CS=1
 #export PW_WINDOWS_VER=XP                      # Set windows version 10, 7 or XP
diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib
index 2bfdf800..920edf0c 100755
--- a/data_from_portwine/scripts/runlib
+++ b/data_from_portwine/scripts/runlib
@@ -132,12 +132,16 @@ if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_ver" ]; then
 	echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver"
 fi
 
-export pw_libs_ver="_v7"
+export pw_libs_ver="_v8"
 export mono_ver="6.1.1"
 export gecko_ver="2.47.2"
+export PW_DXVK_VER=1.8.1 
+export PW_VKD3D_VER=2.2 
 export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${mono_ver}/wine-mono-${mono_ver}-x86.tar.xz"
 export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86.tar.xz"
 export url_gecko_x86_64="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86_64.tar.xz"
+export url_dxvk="https://github.com/doitsujin/dxvk/releases/download/v${PW_DXVK_VER}/dxvk-${PW_DXVK_VER}.tar.gz"
+export url_vkd3d="https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v${PW_VKD3D_VER}/vkd3d-proton-${PW_VKD3D_VER}.tar.zst"
 export WINEARCH=win64
 export PW_VULKAN_DLL="${PORT_WINE_PATH}"/data/vulkan
 export WINEDIR="${PORT_WINE_PATH}"/data/dist
@@ -151,6 +155,7 @@ export PW_FTP_URL="https://portwine-linux.ru/ftp"
 export PW_TERM=""
 export PW_WINE_VER_DXVK=""
 export PW_WINDOWS_VER="7"
+export PW_FORCE_LARGE_ADDRESS_AWARE=1
 export PW_LOG=0
 var_winedlloverride_update "winemenubuilder.exe="
 
@@ -181,7 +186,8 @@ if [ -z "${INSTALLING_PORT}" ] ; then
         try_remove_dir "${WINELIB}/pinned_libs_64"
         export pw_yad="${WINELIB}/usr/bin/yad"
         if [ -x "`which xterm 2>/dev/null`" ]; then
-            export PW_XTERM="xterm -geometry 159x37 -e" 
+            export SYS_XTERM=`which xterm`
+            export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e" 
         else
             export PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -geometry 159x37 -e"        
         fi
@@ -244,18 +250,16 @@ if [ -z "${INSTALLING_PORT}" ] ; then
 fi
 START_PORTWINE ()
     {
-    if [ "${PW_USE_TERMINAL}" = "1"  ]; then
-        if [ -x "`which konsole 2>/dev/null`" ]; then
-            export PW_TERM="konsole -e"
-        elif [ -x "`which xterm 2>/dev/null`" ]; then
-            export PW_TERM="xterm -e"
-        elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then
-            export PW_TERM="gnome-terminal -- $SHELL -c" 
-        elif [ -x "`which lxterminal 2>/dev/null`" ]; then
-            export PW_TERM="lxterminal -e" 
-        else
-            export PW_TERM="${PW_XTERM}"
-        fi
+    if [ -x "`which konsole 2>/dev/null`" ]; then
+        export PW_TERM="konsole --nofork -e"
+    elif [ -x "`which xterm 2>/dev/null`" ]; then
+        export PW_TERM="${PW_XTERM}"
+    elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then
+        export PW_TERM="gnome-terminal -- $SHELL -c" 
+    elif [ -x "`which lxterminal 2>/dev/null`" ]; then
+        export PW_TERM="lxterminal -e"
+    else   
+        export PW_TERM="${PW_XTERM}"
     fi
     if [ -z "${INSTALLING_PORT}" ] ; then
         PW_UPDATE
@@ -266,7 +270,7 @@ START_PORTWINE ()
     else
         read "var_pw_vulkan" < "${PORT_WINE_TMP_PATH}/pw_vulkan" && export var_pw_vulkan
     fi
-    PW_START_PROGRESS_BAR 
+    PW_START_PROGRESS_BAR
     if [ "${var_pw_vulkan}" = "0" ]; then
         if [ -d "${WINEDIR}_dxvk" ]; then
             export WINEDIR="${WINEDIR}_dxvk"
@@ -284,7 +288,6 @@ START_PORTWINE ()
         try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64/"
         try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32/"
         var_winedlloverride_update "dxgi=b"
-        export PW_FORCE_LARGE_ADDRESS_AWARE=0
         [ "${PW_MANGOHUD}" == "1" ] && export MANGOHUD_DLSYM=1
         echo "Use OpenGL"
     elif [ "${var_pw_vulkan}" = "dxvk" ]; then
@@ -296,25 +299,32 @@ START_PORTWINE ()
             try_copy_file "${PW_VULKAN_DLL}/dxvk/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
             [ "$?" == 0 ] && var_winedlloverride_update "${wine_dxvk_dll}=n"
         done
+        var_winedlloverride_update "d3d12="
         [ "${PW_MANGOHUD}" == "1" ] && export MANGOHUD=1
         echo "Use DXVK (DX9-DX11 to Vulkan)"
     else
         if [ -d "${WINEDIR}_vkd3d" ]; then
             export WINEDIR="${WINEDIR}_vkd3d"
         fi
-        for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-2 ; do
+        for wine_vkd3d_dll in d3d12 ; do
             try_copy_file "${PW_VULKAN_DLL}/vkd3d-proton/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
             try_copy_file "${PW_VULKAN_DLL}/vkd3d-proton/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
             [ "$?" == 0 ] && var_winedlloverride_update "${wine_vkd3d_dll}=n"
         done
         if [ ! -z "${PW_DXGI_FROM_DXVK}" ] && [ "${PW_DXGI_FROM_DXVK}" != 0 ] ; then
-            try_copy_file "${PW_VULKAN_DLL}/dxvk/x32/dxgi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
-            try_copy_file "${PW_VULKAN_DLL}/dxvk/x64/dxgi.dll" "${WINEPREFIX}/drive_c/windows/system32/"
             var_winedlloverride_update "dxgi=n"
+            for wine_dxvk_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do
+                try_copy_file "${PW_VULKAN_DLL}/dxvk/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
+                try_copy_file "${PW_VULKAN_DLL}/dxvk/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+            done
         else
             try_copy_file "${WINEDIR}/lib/wine/fakedlls/dxgi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
             try_copy_file "${WINEDIR}/lib64/wine/fakedlls/dxgi.dll" "${WINEPREFIX}/drive_c/windows/system32/"
             var_winedlloverride_update "dxgi=b"
+            for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do
+                try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
+                try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
+            done
         fi
         [ "${PW_MANGOHUD}" == "1" ] && export MANGOHUD=1
         export PW_WINDOWS_VER="10"
@@ -374,11 +384,11 @@ START_PORTWINE ()
     export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n"
 
     if [ ! -z "${PW_NO_ESYNC}" ] && [ "${PW_NO_ESYNC}" != 0 ] 
-    then export WINEESYNC=""
+    then export WINEESYNC="0"
     else export WINEESYNC="1"
     fi
     if [ ! -z "${PW_NO_FSYNC}" ] && [ "${PW_NO_FSYNC}" != 0 ] ; then
-        export WINEFSYNC=""
+        export WINEFSYNC="0"
         export WINEFSYNC_FUTEX2="0"
     else
         export WINEFSYNC="1"
@@ -418,7 +428,7 @@ START_PORTWINE ()
     export DXVK_STATE_CACHE_PATH="${PORT_WINE_TMP_PATH}"/dxvk_cache
     export DXVK_STATE_CACHE=1
     export STAGING_SHARED_MEMORY=1
-    export optirun_on=
+    export optirun_on=""
     export check_optimus_manager=
     export PW_NVIDIA="$(lspci | grep NVIDIA)" 
     if [ -x "`which optimus-manager 2>/dev/null`" ]; then
@@ -457,7 +467,7 @@ START_PORTWINE ()
         export vblank_mode=1
         export __GL_SYNC_TO_VBLANK=1 ;;  
     esac
-    #export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/"
+    export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf"
     export int_xneur=0
     if [ $(pgrep xneur)>'0' ]; then
         killall xneur
@@ -544,7 +554,7 @@ RUN_WINETRICKS_FROM_DB () {
         if [ "${USE_WT_FROM_DB}" == "1" ] ; then
             UPDATE_WINETRICKS
             PW_STOP_PROGRESS_BAR
-            ${PW_XTERM} "${PW_RUNTIME}" "${PORT_WINE_TMP_PATH}/winetricks" -q ${PW_DLL_INSTALL}
+            ${PW_TERM} "${PW_RUNTIME}" "${PORT_WINE_TMP_PATH}/winetricks" -q ${PW_DLL_INSTALL}
             PW_START_PROGRESS_BAR
         fi
         PW_START_PROGRESS_BAR
@@ -636,7 +646,7 @@ PW_CREATE_PFX () {
         sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf 
         sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf 
         PW_STOP_PROGRESS_BAR
-        ${PW_XTERM} "${PW_RUNTIME}" "${WINELOADER}" wineboot -u 
+        ${PW_TERM} "${PW_RUNTIME}" "${WINELOADER}" wineboot -u
         `zenity --info --title "Info..." --text "   Updating prefix completed successfully.\n\n   Restart ${portname}." --no-wrap ` > /dev/null 2>&1  
         exit 0
     fi
@@ -678,25 +688,24 @@ PW_RUN () {
     export RUN_MANGOHUD=""
     [ "${PW_MANGOHUD}" == "1" ] && export RUN_MANGOHUD=mangohud
     print_var "WINEDIR" "WINEARCH" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME"    
-    if [ "${PW_LOG}" == 1 ]
-    then export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log"
-    else export PW_LOG_TO_FILE="/dev/null"
-    fi
-    if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then
-        if [ ! -z ${optirun_on} ]; then
-            echo "Full command line: ${optirun_on}  $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" ${PW_LOG_TO_FILE}
-            ${optirun_on} $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
-        else
-            echo "Full command line: $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" ${PW_LOG_TO_FILE}
-            $PW_TERM "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
+    if [ "${PW_LOG}" == 1 ] ; then
+        export PW_TERM=""
+        export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log"
+        if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then
+            echo "Full command line:  $PW_TERM ${optirun_on} "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}"
+            $PW_TERM ${optirun_on} "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
+        else 
+            echo "Full command line: $PW_TERM ${optirun_on} "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" "&>>${PW_LOG_TO_FILE}"
+            $PW_TERM ${optirun_on} "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
         fi
-    else 
-        if [ ! -z ${optirun_on} ]; then
-            echo "Full command line: ${optirun_on}  $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" ${PW_LOG_TO_FILE}
-            ${optirun_on} $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
-        else
-            echo "Full command line: $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" ${PW_LOG_TO_FILE}
-            $PW_TERM "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} &>>"${PW_LOG_TO_FILE}"
+    else
+        [ "${PW_USE_TERMINAL}" != "1" ] && export PW_TERM=""
+        if [ ! -z "${PW_GAMEMODERUN}" ] && [ "${PW_GAMEMODERUN}" != 0 ] ; then
+            echo "Full command line: $PW_TERM ${optirun_on} "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}" 
+            $PW_TERM ${optirun_on} "${PW_RUNTIME}" gamemoderun ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}
+        else 
+            echo "Full command line: $PW_TERM ${optirun_on} "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]}"
+            $PW_TERM ${optirun_on} "${PW_RUNTIME}" ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} 
         fi
     fi
 }
diff --git a/data_from_portwine/scripts/setup.sh b/data_from_portwine/scripts/setup.sh
index c990e042..0e78b699 100755
--- a/data_from_portwine/scripts/setup.sh
+++ b/data_from_portwine/scripts/setup.sh
@@ -69,7 +69,8 @@ do
 done
 chmod u+x "${PORT_SCRIPTS_PATH}/"*
 
-try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/drive_c"
+try_remove_dir "${PORT_WINE_PATH}/data/pfx/drive_c/drive_c"
+try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/"
 if [ -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ] && [ ! -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then
 	cp -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public"/* "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser/"
 	rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public"
@@ -81,12 +82,10 @@ ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/da
 if [ ! -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" ]; then
 	ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}"
 fi
-
 if [ -e "${PORT_WINE_PATH}/data/pfx/system.reg" ] || [ -e "${PORT_WINE_PATH}/data/pfx/user.reg" ] || [ -e "${PORT_WINE_PATH}/data/pfx/userdef.reg" ]; then
 	sed -i "s/xuser/${USER}/g" "${PORT_WINE_PATH}/data/pfx/"*.reg
 	sed -i "s/vagrant/${USER}/g" "${PORT_WINE_PATH}/data/pfx/"*.reg
 fi
-
 if [ "${s_install}" = "1" ]; then
 	echo "Installation completed successfully."
 else
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index 001aa3e9..f70940b8 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -144,7 +144,7 @@ PORTWINE_DEBUG () {
     echo "log WINE:" >> "${PORT_WINE_PATH}/${portname}.log"
 
     export DXVK_HUD="full"
-
+    
     PORTWINE_LAUNCH & zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap && KILL_PORTWINE
     deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log"  | awk '! a[$0]++') 
     echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log"
diff --git a/data_from_portwine/scripts/vars/PortProton_vars b/data_from_portwine/scripts/vars/PortProton_vars
index c7d5f0c4..025394b1 100755
--- a/data_from_portwine/scripts/vars/PortProton_vars
+++ b/data_from_portwine/scripts/vars/PortProton_vars
@@ -6,15 +6,13 @@ export porturl="http://portwine-linux.ru/"
 #export MESA_GL_VERSION_OVERRIDE=4.4COMPAT
 export PW_LOG=0             # Enable debug mode fo terminal 
 export PW_USE_TERMINAL=0
-export PW_NVAPI_DISABLE=1
 export PW_FORCE_USE_VSYNC=2         # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
 export PW_WINEDBG_DISABLE=0
 export PW_FORCE_DISABLED_GAMEMOD=0              # Force disabele gamemod
-#export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default.
-export PULSE_LATENCY_MSEC=60
 #export PW_MANGOHUD=1
 #export MANGOHUD_CONFIG=full,height=500,font_size=32,position=top-right,toggle_hud=F9
 #export DXVK_HUD=fps,devinfo
+#export PW_OLD_GL_STRING=0
 ########################################################################
 ADD_IN_START_PORTWINE ()
 {