Commit 2018ab5c authored by Mikhail Tergoev's avatar Mikhail Tergoev

updated dxvk.conf and themes

parent 1b81250f
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
* добавлена поддержка русского языка в игровом режиме Steam Deck
* обновлены иконки во вкладке АВТОУСТАНОВКА
###Scripts version 2274### Дата: 07.04.2024 / Размер скачиваемого обновления: 15 мегабайт ###Scripts version 2274### Дата: 07.04.2024 / Размер скачиваемого обновления: 15 мегабайт
* добавлена предыдущая тема для PortProton, включается добавлением "export GUI_THEME=classic" в "data/user.conf" * добавлена предыдущая тема для PortProton, включается добавлением "export GUI_THEME=classic" в "data/user.conf"
......
# 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, # Create the VkSurface on the first call to IDXGISwapChain::Present,
# rather than when creating the swap chain. Some games that start # rather than when creating the swap chain. Some games that start
# rendering with a different graphics API may require this option, # rendering with a different graphics API may require this option,
...@@ -15,8 +27,9 @@ ...@@ -15,8 +27,9 @@
# #
# Supported values : 0 - 16 # Supported values : 0 - 16
# dxgi.maxFrameLatency = 1 # dxgi.maxFrameLatency = 0
# d3d9.maxFrameLatency = 1 # d3d9.maxFrameLatency = 0
# Enables frame rate limiter. The main purpose of this is to work around # 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 # bugs in games that have physics or other simulation tied to their frame
...@@ -24,8 +37,8 @@ ...@@ -24,8 +37,8 @@
# #
# Supported values : Any non-negative integer # Supported values : Any non-negative integer
dxgi.maxFrameRate = 240 # dxgi.maxFrameRate = 0
d3d9.maxFrameRate = 240 # d3d9.maxFrameRate = 0
# Override PCI vendor and device IDs reported to the application. Can # Override PCI vendor and device IDs reported to the application. Can
...@@ -39,14 +52,52 @@ d3d9.maxFrameRate = 240 ...@@ -39,14 +52,52 @@ d3d9.maxFrameRate = 240
# dxgi.hideAmdGpu = True # dxgi.hideAmdGpu = True
# dxgi.hideNvidiaGpu = False # dxgi.hideNvidiaGpu = False
# Override the reported device description
#
# Supported values: Any string.
# d3d9.customDeviceDesc = "NVIDIA GeForce RTX 4090" # d3d9.customDeviceDesc = "NVIDIA GeForce RTX 4090"
# d3d9.customDeviceId = 2684 # d3d9.customDeviceId = 2684
# d3d9.customVendorId = 10de # 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 # Override maximum amount of device memory and shared system memory
# reported to the application. This may fix texture streaming issues # reported to the application. This may fix texture streaming issues
# in games that do not support cards with large amounts of VRAM. # 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. # Supported values: Any number in Megabytes.
...@@ -79,8 +130,8 @@ d3d9.maxFrameRate = 240 ...@@ -79,8 +130,8 @@ d3d9.maxFrameRate = 240
# #
# Supported values: Any non-negative number # Supported values: Any non-negative number
# dxgi.syncInterval = 0 # dxgi.syncInterval = -1
# d3d9.presentInterval = 0 # d3d9.presentInterval = -1
# True enables the mailbox present mode in case regular Vsync is disabled. # True enables the mailbox present mode in case regular Vsync is disabled.
...@@ -96,8 +147,7 @@ d3d9.maxFrameRate = 240 ...@@ -96,8 +147,7 @@ d3d9.maxFrameRate = 240
# #
# Supported values: Auto, True, False # Supported values: Auto, True, False
# dxgi.tearFree = Auto # dxvk.tearFree = Auto
# d3d9.tearFree = Auto
# Assume single-use mode for command lists created on deferred contexts. # Assume single-use mode for command lists created on deferred contexts.
...@@ -123,7 +173,7 @@ d3d9.maxFrameRate = 240 ...@@ -123,7 +173,7 @@ d3d9.maxFrameRate = 240
# #
# Supported values: Any number between 8 and 64 # Supported values: Any number between 8 and 64
# d3d11.maxTessFactor = 16 # d3d11.maxTessFactor = 0
# Enables relaxed pipeline barriers around UAV writes. # Enables relaxed pipeline barriers around UAV writes.
...@@ -163,7 +213,17 @@ d3d9.maxFrameRate = 240 ...@@ -163,7 +213,17 @@ d3d9.maxFrameRate = 240
# #
# Supported values: Any number between -2.0 and 1.0 # 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 # Declares vertex positions as invariant in order to solve
...@@ -175,6 +235,16 @@ d3d9.maxFrameRate = 240 ...@@ -175,6 +235,16 @@ d3d9.maxFrameRate = 240
# d3d9.invariantPosition = True # 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 # Forces the sample count of all textures to 1, and performs
# the needed fixups in resolve operations and shaders. # the needed fixups in resolve operations and shaders.
# #
...@@ -230,6 +300,18 @@ d3d9.maxFrameRate = 240 ...@@ -230,6 +300,18 @@ d3d9.maxFrameRate = 240
# d3d11.enableContextLock = False # d3d11.enableContextLock = False
# 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. # Sets number of pipeline compiler threads.
# #
# If the graphics pipeline library feature is enabled, the given # If the graphics pipeline library feature is enabled, the given
...@@ -258,6 +340,17 @@ d3d9.maxFrameRate = 240 ...@@ -258,6 +340,17 @@ d3d9.maxFrameRate = 240
# dxvk.useRawSsbo = Auto # 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 # Controls graphics pipeline library behaviour
# #
# Can be used to change VK_EXT_graphics_pipeline_library usage for # Can be used to change VK_EXT_graphics_pipeline_library usage for
...@@ -419,15 +512,6 @@ d3d9.maxFrameRate = 240 ...@@ -419,15 +512,6 @@ d3d9.maxFrameRate = 240
# d3d9.deviceLocalConstantBuffers = False # d3d9.deviceLocalConstantBuffers = False
# No Explicit Front Buffer
#
# Disables the front buffer
#
# Supported values:
# - True/False
# d3d9.noExplicitFrontBuffer = False
# Support DF formats # Support DF formats
# #
# Support the vendor extension DF floating point depth formats # Support the vendor extension DF floating point depth formats
...@@ -449,7 +533,7 @@ d3d9.maxFrameRate = 240 ...@@ -449,7 +533,7 @@ d3d9.maxFrameRate = 240
# Support X4R4G4B4 # Support X4R4G4B4
# #
# Support the X4R4G4B4 format. # 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: # Supported values:
# - True/False # - True/False
...@@ -468,13 +552,24 @@ d3d9.maxFrameRate = 240 ...@@ -468,13 +552,24 @@ d3d9.maxFrameRate = 240
# Disable A8 as a Render Target # Disable A8 as a Render Target
# #
# Disable support for A8 format render targets # 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: # Supported values:
# - True/False # - True/False
# d3d9.disableA8RT = 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 # Force Sampler Type Spec Constants
# #
...@@ -497,16 +592,6 @@ d3d9.maxFrameRate = 240 ...@@ -497,16 +592,6 @@ d3d9.maxFrameRate = 240
# d3d9.forceAspectRatio = "" # 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 # Enumerate by Displays
# #
# Whether we should enumerate D3D9 adapters by display (windows behaviour) # Whether we should enumerate D3D9 adapters by display (windows behaviour)
...@@ -518,16 +603,17 @@ d3d9.maxFrameRate = 240 ...@@ -518,16 +603,17 @@ d3d9.maxFrameRate = 240
# d3d9.enumerateByDisplays = True # d3d9.enumerateByDisplays = True
# APITrace Mode # Cached Dynamic Buffers
# #
# Makes all host visible buffers cached and coherent # Allocates dynamic resources in D3DPOOL_DEFAULT in
# Improves performance when apitracing, but also can impact # cached system memory rather than uncached memory or host-visible
# some dumb games. # 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: # Supported values:
# - True/False # - True/False
# d3d9.apitraceMode = False # d3d9.cachedDynamicBuffers = False
# Seamless Cubes # Seamless Cubes
# #
...@@ -538,3 +624,56 @@ d3d9.maxFrameRate = 240 ...@@ -538,3 +624,56 @@ d3d9.maxFrameRate = 240
# - True/False # - True/False
# d3d9.seamlessCubes = 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
data_from_portwine/img/gui/24.png

4.5 KB | W: | H:

data_from_portwine/img/gui/24.png

4.72 KB | W: | H:

data_from_portwine/img/gui/24.png
data_from_portwine/img/gui/24.png
data_from_portwine/img/gui/24.png
data_from_portwine/img/gui/24.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/bethesda.png

1.68 KB | W: | H:

data_from_portwine/img/gui/bethesda.png

1.07 KB | W: | H:

data_from_portwine/img/gui/bethesda.png
data_from_portwine/img/gui/bethesda.png
data_from_portwine/img/gui/bethesda.png
data_from_portwine/img/gui/bethesda.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/caliber.png

1.87 KB | W: | H:

data_from_portwine/img/gui/caliber.png

3.25 KB | W: | H:

data_from_portwine/img/gui/caliber.png
data_from_portwine/img/gui/caliber.png
data_from_portwine/img/gui/caliber.png
data_from_portwine/img/gui/caliber.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/cemu.png

1.66 KB | W: | H:

data_from_portwine/img/gui/cemu.png

2.8 KB | W: | H:

data_from_portwine/img/gui/cemu.png
data_from_portwine/img/gui/cemu.png
data_from_portwine/img/gui/cemu.png
data_from_portwine/img/gui/cemu.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/dolphin.png

729 Bytes | W: | H:

data_from_portwine/img/gui/dolphin.png

1.6 KB | W: | H:

data_from_portwine/img/gui/dolphin.png
data_from_portwine/img/gui/dolphin.png
data_from_portwine/img/gui/dolphin.png
data_from_portwine/img/gui/dolphin.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/epsxe.png

663 Bytes | W: | H:

data_from_portwine/img/gui/epsxe.png

3.2 KB | W: | H:

data_from_portwine/img/gui/epsxe.png
data_from_portwine/img/gui/epsxe.png
data_from_portwine/img/gui/epsxe.png
data_from_portwine/img/gui/epsxe.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/find_48.png

2.23 KB | W: | H:

data_from_portwine/img/gui/find_48.png

1.97 KB | W: | H:

data_from_portwine/img/gui/find_48.png
data_from_portwine/img/gui/find_48.png
data_from_portwine/img/gui/find_48.png
data_from_portwine/img/gui/find_48.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/gameforge.png

2.15 KB | W: | H:

data_from_portwine/img/gui/gameforge.png

1.87 KB | W: | H:

data_from_portwine/img/gui/gameforge.png
data_from_portwine/img/gui/gameforge.png
data_from_portwine/img/gui/gameforge.png
data_from_portwine/img/gui/gameforge.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/gog.png

3.35 KB | W: | H:

data_from_portwine/img/gui/gog.png

2.49 KB | W: | H:

data_from_portwine/img/gui/gog.png
data_from_portwine/img/gui/gog.png
data_from_portwine/img/gui/gog.png
data_from_portwine/img/gui/gog.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/itch.png

2.44 KB | W: | H:

data_from_portwine/img/gui/itch.png

2.13 KB | W: | H:

data_from_portwine/img/gui/itch.png
data_from_portwine/img/gui/itch.png
data_from_portwine/img/gui/itch.png
data_from_portwine/img/gui/itch.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/lgc.png

657 Bytes | W: | H:

data_from_portwine/img/gui/lgc.png

494 Bytes | W: | H:

data_from_portwine/img/gui/lgc.png
data_from_portwine/img/gui/lgc.png
data_from_portwine/img/gui/lgc.png
data_from_portwine/img/gui/lgc.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/mame.png

953 Bytes | W: | H:

data_from_portwine/img/gui/mame.png

1.58 KB | W: | H:

data_from_portwine/img/gui/mame.png
data_from_portwine/img/gui/mame.png
data_from_portwine/img/gui/mame.png
data_from_portwine/img/gui/mame.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/panzar.png

3.09 KB | W: | H:

data_from_portwine/img/gui/panzar.png

4.09 KB | W: | H:

data_from_portwine/img/gui/panzar.png
data_from_portwine/img/gui/panzar.png
data_from_portwine/img/gui/panzar.png
data_from_portwine/img/gui/panzar.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/poe.png

5.33 KB | W: | H:

data_from_portwine/img/gui/poe.png

4.57 KB | W: | H:

data_from_portwine/img/gui/poe.png
data_from_portwine/img/gui/poe.png
data_from_portwine/img/gui/poe.png
data_from_portwine/img/gui/poe.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/ppsspp.png

2 KB | W: | H:

data_from_portwine/img/gui/ppsspp.png

4.33 KB | W: | H:

data_from_portwine/img/gui/ppsspp.png
data_from_portwine/img/gui/ppsspp.png
data_from_portwine/img/gui/ppsspp.png
data_from_portwine/img/gui/ppsspp.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/project64.png

1.87 KB | W: | H:

data_from_portwine/img/gui/project64.png

4.99 KB | W: | H:

data_from_portwine/img/gui/project64.png
data_from_portwine/img/gui/project64.png
data_from_portwine/img/gui/project64.png
data_from_portwine/img/gui/project64.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/retroarch.png

787 Bytes | W: | H:

data_from_portwine/img/gui/retroarch.png

2.65 KB | W: | H:

data_from_portwine/img/gui/retroarch.png
data_from_portwine/img/gui/retroarch.png
data_from_portwine/img/gui/retroarch.png
data_from_portwine/img/gui/retroarch.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/steam.png

2.23 KB | W: | H:

data_from_portwine/img/gui/steam.png

2.54 KB | W: | H:

data_from_portwine/img/gui/steam.png
data_from_portwine/img/gui/steam.png
data_from_portwine/img/gui/steam.png
data_from_portwine/img/gui/steam.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/ubc.png

3.28 KB | W: | H:

data_from_portwine/img/gui/ubc.png

5.52 KB | W: | H:

data_from_portwine/img/gui/ubc.png
data_from_portwine/img/gui/ubc.png
data_from_portwine/img/gui/ubc.png
data_from_portwine/img/gui/ubc.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/vba-m.png

1.38 KB | W: | H:

data_from_portwine/img/gui/vba-m.png

3.37 KB | W: | H:

data_from_portwine/img/gui/vba-m.png
data_from_portwine/img/gui/vba-m.png
data_from_portwine/img/gui/vba-m.png
data_from_portwine/img/gui/vba-m.png
  • 2-up
  • Swipe
  • Onion skin
data_from_portwine/img/gui/yabause.png

2.47 KB | W: | H:

data_from_portwine/img/gui/yabause.png

5.45 KB | W: | H:

data_from_portwine/img/gui/yabause.png
data_from_portwine/img/gui/yabause.png
data_from_portwine/img/gui/yabause.png
data_from_portwine/img/gui/yabause.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -39,14 +39,11 @@ export -f print_var ...@@ -39,14 +39,11 @@ export -f print_var
check_variables () { [[ -z ${!1} ]] && export $1="$2" ;} check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
try_copy_file () { try_copy_file () {
if [ ! -f "$1" ] ; then print_info "file $1 not found for copy" && 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 elif [[ -z "$2" ]] ; then print_error "no way to copy file $1" && return 1
else else
cp -f "$1" "$2" [[ -e "$2/$(basename "$1")" ]] && rm -f "$2/$(basename "$1")"
if [ "$?" != 0 ] cp -f "$1" "$2" && return 0 || return 1
then print_error "failed to copy file $1 to $2" && return 1
else return 0
fi
fi fi
} }
export -f try_copy_file export -f try_copy_file
...@@ -309,7 +306,7 @@ check_flatpak () { ...@@ -309,7 +306,7 @@ check_flatpak () {
unpack_tar_zst () { unpack_tar_zst () {
set -o pipefail set -o pipefail
unset PW_ZSTD_PORT 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 if command -v zstd &>/dev/null ; then
tar -I zstd -xhvf "$1" -C "$2" tar -I zstd -xhvf "$1" -C "$2"
pw_stop_progress_bar_cover_block pw_stop_progress_bar_cover_block
...@@ -326,7 +323,7 @@ unpack_tar_xz () { ...@@ -326,7 +323,7 @@ unpack_tar_xz () {
tar -Jxhvf "$1" -C "$2" && return 0 || return 1 tar -Jxhvf "$1" -C "$2" && return 0 || return 1
else else
set -o pipefail 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" tar -Jxhvf "$1" -C "$2"
pw_stop_progress_bar_cover_block pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
...@@ -335,7 +332,7 @@ unpack_tar_xz () { ...@@ -335,7 +332,7 @@ unpack_tar_xz () {
unpack_tar_gz () { unpack_tar_gz () {
set -o pipefail 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" tar -xhzvf "$1" -C "$2"
pw_stop_progress_bar_cover_block pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
...@@ -343,7 +340,7 @@ unpack_tar_gz () { ...@@ -343,7 +340,7 @@ unpack_tar_gz () {
unpack_tar () { unpack_tar () {
set -o pipefail 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" tar -xhvf "$1" -C "$2"
pw_stop_progress_bar_cover_block pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
...@@ -507,7 +504,7 @@ init_wine_ver () { ...@@ -507,7 +504,7 @@ init_wine_ver () {
if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then
print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK." print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then 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_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}"
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/ try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/
...@@ -1096,12 +1093,6 @@ check_dirs_and_files_in_pfx () { ...@@ -1096,12 +1093,6 @@ check_dirs_and_files_in_pfx () {
done done
fi fi
done 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 () { check_nvidia_rtx () {
...@@ -1691,15 +1682,15 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32" ...@@ -1691,15 +1682,15 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32"
export DXVK_ENABLE_NVAPI=1 export DXVK_ENABLE_NVAPI=1
if [[ "${PW_USE_FAKE_DLSS_3}" == 1 ]] ; then 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_copy_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_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_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/"
var_winedlloverride_update "nvapi,nvapi64,nvngx,_nvngx,dlssg_to_fsr3_amd_is_better=n;nvcuda=b" var_winedlloverride_update "nvapi,nvapi64,nvngx,_nvngx,dlssg_to_fsr3_amd_is_better=n;nvcuda=b"
enabled_fake_nvidia_videocard new enabled_fake_nvidia_videocard new
export WINEHAGS=1 export WINEHAGS=1
elif [[ "${PW_USE_FAKE_DLSS}" == 1 ]] && [[ -d "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/" ]] ; then 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_copy_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.ini" "${WINEPREFIX}/drive_c/windows/system32/"
enabled_fake_nvidia_videocard old enabled_fake_nvidia_videocard old
var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx=;nvcuda=b" var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx=;nvcuda=b"
elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then
...@@ -1708,8 +1699,8 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32" ...@@ -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/"
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 else
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_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/"
fi fi
enabled_fake_nvidia_videocard 0 enabled_fake_nvidia_videocard 0
var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n;nvcuda=b" 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" ...@@ -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)" print_info "Use VKD3D-PROTON, DXVK and D8VK (DirectX 8-12 to vulkan)"
if [[ "${PW_USE_WINE_DXGI}" == 1 ]] ; then if [[ "${PW_USE_WINE_DXGI}" == 1 ]] ; then
export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxvk_config" # openvr_api_dxvk 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 elif [[ "${USE_ALL_DXVK_DLLS}" == 1 ]] ; then
export CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi dxvk_config" # openvr_api_dxvk export CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi dxvk_config" # openvr_api_dxvk
else else
export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config" # openvr_api_dxvk export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config" # openvr_api_dxvk
export CP_WINE_FILES="d3d10_1 d3d10"
fi fi
check_variables VKD3D_FEATURE_LEVEL "12_0" check_variables VKD3D_FEATURE_LEVEL "12_0"
if [[ "${PW_VULKAN_USE}" == "1" ]] ; then if [[ "${PW_VULKAN_USE}" == "1" ]] ; then
...@@ -1958,26 +1950,32 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32" ...@@ -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}" PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}"
print_info "D8VK v.${D8VK_VER} in use" 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 for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" ]] ; then 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_copy_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}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
var_winedlloverride_update "${wine_dxvk_dll}=n" var_winedlloverride_update "${wine_dxvk_dll}=n"
fi fi
done done
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \ print_info "Try copy NVAPI files..."
try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" 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/"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \ print_info "Try copy native VKD3D files..."
try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" for wine_vkd3d_dll in d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1 ; do
print_info "Try link 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 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_copy_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}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
var_winedlloverride_update "${wine_vkd3d_dll}=n" var_winedlloverride_update "${wine_vkd3d_dll}=n"
fi fi
done done
...@@ -2007,9 +2005,8 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32" ...@@ -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" export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache"
else else
export __GL_SHADER_DISK_CACHE=0 export __GL_SHADER_DISK_CACHE=0
export DXVK_STATE_CACHE=0 export DXVK_STATE_CACHE=disable
export VKD3D_SHADER_CACHE_PATH=0 export VKD3D_SHADER_CACHE_PATH=0
export RADV_DEBUG=nocache
fi fi
if [[ "${PW_WINE_FULLSCREEN_FSR}" == 1 ]] || [[ "${WINE_FULLSCREEN_FSR}" == 1 ]] ; then 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" ...@@ -2088,7 +2085,7 @@ d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1 shell32"
pw_tray_icon pw_tray_icon
sleep 0.5 sleep 0.5
if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then 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
fi fi
add_in_start_portwine add_in_start_portwine
...@@ -2315,7 +2312,7 @@ yad_error_download () { ...@@ -2315,7 +2312,7 @@ yad_error_download () {
fi fi
"${pw_yad_v13_0}" --text "$loc_gui_error_download" --width=400 --borders=15 --title "$loc_gui_error" \ "${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" \ --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="SKIP"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":1 \
--button="REPEAT"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 2>/dev/null --button="REPEAT"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 2>/dev/null
[[ "$?" != 0 ]] && return 1 || return 0 [[ "$?" != 0 ]] && return 1 || return 0
...@@ -2337,9 +2334,9 @@ yad_question () { ...@@ -2337,9 +2334,9 @@ yad_question () {
pw_start_progress_bar_cover () { pw_start_progress_bar_cover () {
if ! check_start_from_steam ; then if ! check_start_from_steam ; then
PW_GIF_FILE="$1" PW_GIF_FILE="$1"
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 7}'` PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 8}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 7}'` PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 15}'`
"${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \ "${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 & --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="$!" export PW_YAD_PID_PROGRESS_BAR_COVER="$!"
return 0 return 0
...@@ -2348,11 +2345,11 @@ pw_start_progress_bar_cover () { ...@@ -2348,11 +2345,11 @@ pw_start_progress_bar_cover () {
pw_start_progress_bar_cover_block () { pw_start_progress_bar_cover_block () {
if ! check_start_from_steam ; then 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_FILE="$1"
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 7}'` PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 8}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 7}'` PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 15}'`
"${pw_yad}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \ "${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 & --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="$!" export PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK="$!"
return 0 return 0
...@@ -2374,7 +2371,7 @@ pw_update_pfx_cover_gui () { ...@@ -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 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_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_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 60}'` PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 60}'`
echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log" echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log"
...@@ -2451,7 +2448,7 @@ pw_stop_progress_bar_cover_block () { ...@@ -2451,7 +2448,7 @@ pw_stop_progress_bar_cover_block () {
export -f pw_stop_progress_bar_cover_block export -f pw_stop_progress_bar_cover_block
open_changelog () { 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 \ --text-info --show-uri --wrap --width=1200 --height=700 --uri-color=red \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" &>/dev/null --filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" &>/dev/null
...@@ -2551,9 +2548,7 @@ pw_gui_for_edit_db () { ...@@ -2551,9 +2548,7 @@ pw_gui_for_edit_db () {
*) ADD_WINVER_EDIT_DB="10!7!XP" ;; *) ADD_WINVER_EDIT_DB="10!7!XP" ;;
esac 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 --scroll \
"${pw_yad_v13_0}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator="%" --columns=1 \
--field="${loc_gui_ver_windows}!${loc_gui_ver_windows_help} :CB" "${ADD_WINVER_EDIT_DB}" \ --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_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" \ --field="${loc_gui_winedllover}!${loc_gui_winedllover_help} :CBE" "${WINEDLLOVERRIDES}!libglesv2=!d3dx9_36,d3dx9_42=n,b;mfc120=b,n" \
......
#!/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
...@@ -42,14 +42,14 @@ fi ...@@ -42,14 +42,14 @@ fi
. "$(dirname $(readlink -f "$0"))/functions_helper" . "$(dirname $(readlink -f "$0"))/functions_helper"
if [[ -z "${LANG}" ]] ; then # if [[ -z "${LANG}" ]] ; then
export LANG=C # export LANG=C
export FORCE_ENG_LANG=1 # export FORCE_ENG_LANG=1
elif [[ "${START_FROM_STEAM}" == 1 ]] ; then # elif [[ "${START_FROM_STEAM}" == 1 ]] ; then
export FORCE_ENG_LANG=1 # export FORCE_ENG_LANG=1
else # else
unset FORCE_ENG_LANG # unset FORCE_ENG_LANG
fi # fi
create_new_dir "${HOME}/.local/share/applications" create_new_dir "${HOME}/.local/share/applications"
if [[ "${PW_SILENT_RESTART}" == 1 ]] || [[ "${START_FROM_STEAM}" == 1 ]] ; then if [[ "${PW_SILENT_RESTART}" == 1 ]] || [[ "${START_FROM_STEAM}" == 1 ]] ; then
...@@ -145,6 +145,7 @@ try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log" ...@@ -145,6 +145,7 @@ try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log"
# TODO: remove this later... # TODO: remove this later...
try_remove_file "${PORT_SCRIPTS_PATH}/runlib" try_remove_file "${PORT_SCRIPTS_PATH}/runlib"
try_remove_file "${PORT_SCRIPTS_PATH}/yad_gui" 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" try_remove_file "${PW_GUI_THEMES_PATH}/default.css"
if [[ "${INSTALLING_PORT}" == 1 ]] ; then if [[ "${INSTALLING_PORT}" == 1 ]] ; then
...@@ -476,7 +477,6 @@ else ...@@ -476,7 +477,6 @@ else
# --field=" Secret World Legends (ENG)"!"$PW_GUI_ICON_PATH/swl.png"!"":"FBTN" '@bash -c "button_click PW_SWL"' # --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=" 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 export START_FROM_PP_GUI=1
......
export THEME_NAME="$(basename .pptheme)" #!/usr/bin/env bash
export THEME_NAME=classic
export THEME_PATH="$PW_GUI_THEMES_PATH/$THEME_NAME" 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 \ export YAD_OPTIONS="--css=$THEME_PATH/style.css \
--borders=5 \ --borders=5 \
--tab-borders=3 \ --tab-borders=3 \
......
#!/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 THEME_PATH="$PW_GUI_THEMES_PATH/$THEME_NAME"
export COVERS_PATH="$PW_GUI_THEMES_PATH/classic"
# глобальные настройки YAD # глобальные настройки YAD
export YAD_OPTIONS="--css=$THEME_PATH/style.css \ export YAD_OPTIONS="--css=$THEME_PATH/style.css \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment