Compare commits

..

81 commits

Author SHA1 Message Date
Proton Merge Bot
082095c446 update submodules 2024-09-20 11:47:54 +00:00
Paul Gofman
c506aff695 lsteamclient: Convert URL in ISteamFriends::ActivateGameOverlayToWebPage().
CW-Bug-Id: #24247
2024-09-11 16:52:30 -06:00
Esme Povirk
ef6f55844d Update Wine Mono to 9.3.0. 2024-09-10 20:40:29 +00:00
Liam Middlebrook
16dbf51c57 proton: Populate NVIDIA_WINE_DLL_DIR when available
NVIDIA-software may check the environment variable `NVIDIA_WINE_DLL_DIR`
for a path where DLLs provided by the NVIDIA Linux driver can be found.
This needs to be set by `proton` script, as it is ran inside of the
pressure-vessel environment, so the paths returned will be valid within
the environment.

Tested with an application that reads `NVIDIA_WINE_DLL_DIR` from the
environment and tries to load a known DLL from it. As expected manually
setting the environment variable to the on-disk location did not work,
as the path is not accurate within the pressure-vessel environment.

https://github.com/ValveSoftware/Proton/pull/8087
2024-09-10 11:42:20 -06:00
Anna Lasky
97e5f6f677 proton: Enable gamedrive compat option for Yakuza 3 and Yakuza 4
CW-Bug-ID: #24211
2024-09-04 11:49:10 -05:00
Paul Gofman
825585de4c proton: Do not copy SXS runtime redists.
CW-Bug-Id: #23227
2024-08-29 11:06:40 -06:00
Paul Gofman
2f39b2e074 lsteamclient: Handle error result in networking_message_pool_receive_().
CW-Bug-Id: #24177
2024-08-27 17:00:32 -06:00
Paul Gofman
95282c80a8 proton: Check for low /proc/sys/vm/max_map_count.
CW-Bug-Id: #24081
2024-08-21 18:00:24 -06:00
Arkadiusz Hiler
569828dc8c Revert "proton: Add PROTON_NO_STEAM_FFMPEG to ignore ffmpeg that ships with Steam."
This reverts commit 5720dd3e9c.
2024-08-15 20:03:25 +03:00
Anna Lasky
3876e38a89 proton: Add comment to explain STEAM_COMPAT_APP_ID option in os.environ 2024-08-06 11:57:58 -05:00
Anna Lasky
4891e6a4d9 proton: Enable gamedrive compat option for Sword of Convallaria
Option allows EULA to display properly.

CW-Bug-ID: #22421
2024-08-05 21:03:59 -05:00
Paul Gofman
6d9ebe28de proton: Force 32 bit steam.exe for Undecember.
CW-Bug-Id: #24110
2024-08-01 21:30:37 -06:00
Paul Gofman
d47668908e proton: Use server sync for Flatout 3.
CW-Bug-Id: #24102
2024-07-31 14:44:26 -06:00
Esme Povirk
f5618038c8 proton: Add documentation URL for file descriptor limit warning. 2024-07-30 21:33:43 +00:00
Paul Gofman
86c2c1e2a1 proton: Enable gamedrive compat option for Strip Fighter ZERO.
CW-Bug-Id: #24096
2024-07-30 15:15:18 -06:00
Paul Gofman
95a1b7c260 proton: Use server sync for RAID: World War II.
CW-Bug-Id: #414740
2024-07-30 14:35:35 -06:00
Esme Povirk
a441af6e28 proton: Check for low file descriptor limit.
CW-Bug-Id: #24035
2024-07-30 18:38:12 +00:00
Arkadiusz Hiler
7fa4b63735 proton: Correctly Popen.communicate() with timeout. 2024-07-29 12:58:06 +03:00
Arkadiusz Hiler
b6eda24974 proton: Suppress type checker errors about non-existing user_settings. 2024-07-29 12:58:06 +03:00
Arkadiusz Hiler
0f94a21b5e proton: Don't assign exception to a variable when the value is not used. 2024-07-29 12:58:06 +03:00
Arkadiusz Hiler
9fcb2d183a proton: Stop using bare except. 2024-07-29 12:58:06 +03:00
Arkadiusz Hiler
b2508139c2 proton: Use more meaningful variable names. 2024-07-29 12:58:06 +03:00
Arkadiusz Hiler
73c8213f1b proton: Access env variables directly when we know they are set. 2024-07-29 12:58:06 +03:00
Arkadiusz Hiler
40b964bd30 proton: Don't try track .debug files if there's not tracking file. 2024-07-29 12:58:06 +03:00
Arkadiusz Hiler
5b99c12aed proton: Use None instead of False for default argument value.
This fixes type inference - tools no longer assume that there's a
possibility of the value ever being True.
2024-07-29 12:58:06 +03:00
Arkadiusz Hiler
9e4a12cbaa proton: Use _ for ignored values. 2024-07-29 12:58:06 +03:00
Arkadiusz Hiler
f5e17b49d2 proton: Chagne 'not x in y' to 'x not in y'. 2024-07-29 12:58:06 +03:00
Arkadiusz Hiler
9a9f2a1cbc proton: Remove unused imports. 2024-07-29 12:58:06 +03:00
Giovanni Mascellani
9682fbb464 vkd3d: Update to vkd3d-1.12-89-g68b7f9df. 2024-07-26 12:49:48 +00:00
Giovanni Mascellani
ad86187720 Vulkan-Headers: Update to v1.3.278. 2024-07-26 12:49:48 +00:00
Giovanni Mascellani
6aeb835cb1 Vulkan-Loader: Remove the Vulkan loader.
Its only dependency was vkd3d, but vkd3d doesn't need it. I don't know
why we used to build it.
2024-07-26 12:49:48 +00:00
Anna Lasky
e8ae65d8fa proton: Disable nvapi for GRID 2 and GRID Autosport
CW-Bug-ID: #24055
2024-07-22 21:32:51 -05:00
Paul Gofman
548fa64343 proton: Invalidate Ubisoft Launcher installation after deleting regsitry.
CW-Bug-Id: #23953
2024-07-19 15:38:08 -06:00
Paul Gofman
29ab2d9890 lsteamclient: Reset last error in Steam_BGetCallback() on no callback return.
CW-Bug-Id: #24028
2024-07-18 17:16:47 -06:00
Paul Gofman
b41d9d7a36 lsteamclient: Preserve last error in load_steamclient().
CW-Bug-Id: #24028
2024-07-18 17:16:45 -06:00
Rémi Bernon
687a81ed09 update submodules 2024-07-18 18:13:31 +02:00
Brendan McGrath
c3a8d826bc build: Add gst-plugins-bad.
Enables hls, videoparsers and mpegtsdemux.

CW-Bug-Id: #23810
CW-Bug-Id: #23226
CW-Bug-Id: #23425
2024-07-18 17:52:18 +10:00
Anna Lasky
b036ca418d Revert "proton: Disable nvapi for Battle Brothers."
NVAPI failure with game fixed by dxvk-nvapi update.

This reverts commit 354682eee8.
2024-07-17 15:27:14 -05:00
Arkadiusz Hiler
75a1d3fd4c proton: Disable nvapi for Alan Wake's American Nightmare.
This helps with the DLC crashing.
2024-07-15 10:42:15 +03:00
Paul Gofman
ce1e86225f proton: Enable gamedrive compat option for Aimlabs.
CW-Bug-Id: #24014
2024-07-09 10:28:37 -06:00
Arkadiusz Hiler
dbc6c0eaf7 proton: Add PROTON_DXVK_D3D8 / dxvkd3d8. 2024-07-09 12:43:14 +03:00
Zhiyi Zhang
3c7deb1047 Revert "proton: Add Iragon: Prologue (2229490) to MFDXGI manager hack."
This reverts commit 44c58e0857.

The hack is no longer needed and causes the game to crash after a game update.

CW-Bug-Id: #23184
2024-07-09 11:14:49 +08:00
Zhiyi Zhang
97f35abb16 Revert "proton: Added Iragon: Prologue 18+ (1522260) to MFDXGI hack"
This reverts commit 500d6608c4.

The hack is no longer needed and causes the game to crash after a game update.

CW-Bug-Id: #23184
2024-07-09 11:13:49 +08:00
Zhiyi Zhang
72a8208ff1 Revert "proton: Added Iragon and Iragon 18+ to MFDXGI hack"
This reverts commit 436634421b.

The hack is no longer needed and causes the game to crash after a game update.

CW-Bug-Id: #23184
2024-07-09 11:12:42 +08:00
Arkadiusz Hiler
354682eee8 proton: Disable nvapi for Battle Brothers. 2024-07-08 20:38:40 +03:00
Paul Gofman
4f856cc376 build: Build apetag gstreamer plugin.
CW-Bug-Id: #23991
2024-07-03 09:25:12 -06:00
Esme Povirk
f0742708cd Update Wine Mono to 9.2.0. 2024-07-01 19:58:12 +00:00
Paul Gofman
903eae805f proton: Add Farlight 84 to MFDXGI hack.
CW-Bug-Id: #23986
2024-06-28 13:27:53 -06:00
Anna Lasky
ba0cf51aa9 proton: Enable Xalia on MultiVersus
CW-Bug-Id: #23876
2024-06-27 21:19:39 -05:00
Rémi Bernon
c45ec7dead lsteamclient: Generate SteamWorks SDK 1.60 support.
CW-Bug-Id: #23976
2024-06-27 17:38:52 +02:00
Rémi Bernon
73b9af8d6b lsteamclient: Import SteamWorks SDK 1.60.
CW-Bug-Id: #23976
2024-06-27 17:38:48 +02:00
Paul Gofman
a2ca4a8181 vrclient_x64: Fix source length for ntdll_umbstowcs().
CW-Bug-Id: #23962
2024-06-26 19:26:29 -06:00
Paul Gofman
fced277adf lsteamclient: Fix source length for ntdll_umbstowcs().
CW-Bug-Id: #23962
2024-06-26 19:26:28 -06:00
Giovanni Mascellani
7cd7fe06ce
make: Canonicalize ORIGIN paths.
That path can be relative when the build directory is inside the Proton
source directory. Since it then used to patch compile_commands.json, it
is important that it is absolute, otherwise it implicitly becomes grafted
to a directory for which it is meaningless.
2024-06-26 15:00:22 +02:00
Paul Gofman
ba761f8af4 proton: Enable gamedrive early for Bad Mojo Redux.
CW-Bug-Id: #23924
2024-06-20 13:57:31 +03:00
Paul Gofman
95f865dafd proton: Prefer native ddraw for Arcanum (500810).
CW-Bug-Id: #23916
2024-06-20 13:57:31 +03:00
Rémi Bernon
bba7fe6fa7 build: Add dependencies for makedep to find generated server headers. 2024-06-20 13:57:31 +03:00
Rémi Bernon
be13c8dca3 build: Ignore dxvk version.h.in changes. 2024-06-20 13:57:31 +03:00
Rémi Bernon
331f00b76b build: Add rules to generate wine requests. 2024-06-20 13:57:31 +03:00
Rémi Bernon
b3ad21ed92 build: Ignore make_specfiles generated sources. 2024-06-20 13:57:31 +03:00
Rémi Bernon
ce441b0ecb build: Run make_specfiles after make_vulkan.
No-op but make_specfiles reads .specs and make_vulkan updates one.
2024-06-20 13:57:31 +03:00
Anna Lasky
c6a77ac810 proton: Enable gamedrive compat option for Yakuza Kiwami
CW-Bug-Id: #22421
2024-06-20 13:57:31 +03:00
Paul Gofman
874adce46c proton: Disable GL_ARB_bindless_texture for Zaccaria Pinball.
CW-Bug-Id: #23874
2024-06-20 13:57:31 +03:00
Paul Gofman
2eb602e161 lsteamclient: Use default conversion in convert_callback_utow / callback_message_utow even if Unix len is unknown.
CW-Bug-Id: #23875
2024-06-20 13:57:31 +03:00
Yuxuan Shui
75c4f74e04 wineopenxr: Support acquiring/releasing images from D3D12 swapchains. 2024-06-20 13:57:31 +03:00
Yuxuan Shui
7b3d5f33ba wineopenxr: Support creating a D3D12 XR instance. 2024-06-20 13:57:31 +03:00
Yuxuan Shui
d18ff80721 wineopenxr: Don't recreate swapchain images for subsequent calls to EnumerateSwapchainImages. 2024-06-20 13:57:31 +03:00
Yuxuan Shui
6b8b996001 wineopenxr: Print warnings if the application is giving us funny swapchain formats. 2024-06-20 13:57:31 +03:00
Eric Pouech
7b9e20d1b5 Makefile.in: Don't fail when updating openvr_api_dxvk.dll.
These files are copied into lib(64)/wine/dxvk with user-write
permission, which is later removed by default_pfx: rule.
Hence failing to 'cp' upon update.
2024-06-20 13:52:57 +03:00
Esme Povirk
a0d4389aa3 Remove files that failed to download.
In some cases, wget -O will create the file even when the
download fails. This is not removed by make and will make
subsequent failures more confusing, as well as failing to
recover if the cause was an intermittent network failure.
2024-06-20 13:52:57 +03:00
Rémi Bernon
9de270edb5 proton: Enable the new SDL 2.30 Steam Input integration.
CW-Bug-Id: #23185
2024-06-20 13:52:57 +03:00
Rémi Bernon
40aff8b011 proton: Reset the SteamVirtualGamepadInfo environment variable.
To keep SDL 2.30 old behavior until we start supporting it.

CW-Bug-Id: #23185
2024-06-20 13:52:57 +03:00
Rémi Bernon
d7ab7f9199 lsteamclient: Execute any pending callback before ReleaseRequest.
CW-Bug-Id: #22729
2024-06-20 13:52:57 +03:00
Paul Gofman
9c844ee7ec Revert "proton: Disable forced LAA for Final Fantsy X/X-2."
This reverts commit a090d16b3f.
2024-06-20 13:52:57 +03:00
Arkadiusz Hiler
5c84936241 Bump prefix version to one higher than Proton Stable. 2024-06-20 13:52:57 +03:00
Arkadiusz Hiler
1692266300 proton: Make copying d3d12core for vkd3d-proton mandatory. 2024-06-20 13:52:57 +03:00
Bernhard Kölbl
12e3262ec7 build: Add and build Vosk submodule. 2024-06-20 13:52:57 +03:00
Bernhard Kölbl
265c5cf4dc build: Add and build Kaldi submodule. 2024-06-20 13:52:57 +03:00
Bernhard Kölbl
6c84bc49dd build: Add and build OpenFST submodule. 2024-06-20 13:52:57 +03:00
Esme Povirk
95ff2846f2 proton: Use STEAM_COMPAT_APP_ID to decide when to run xalia.
CW-Bug-Id: #23808

SteamAppId isn't set for InstallScripts, but this variable is.
2024-06-20 13:48:46 +03:00
Aric Stewart
ed3c44ecbc steam-helper: Create list of games to ignore selected locale
First, and only on this list so far is Guild Wars 2 (1284210)

CW-Bug-Id: #23824
2024-06-20 13:48:46 +03:00
27 changed files with 180 additions and 36 deletions

10
.gitmodules vendored
View file

@ -55,3 +55,13 @@
[submodule "glslang"]
path = glslang
url = https://github.com/KhronosGroup/glslang
[submodule "openfst"]
path = openfst
url = https://github.com/alphacep/openfst
[submodule "kaldi"]
path = kaldi
url = https://github.com/alphacep/kaldi
branch = vosk
[submodule "vosk-api"]
path = vosk-api
url = https://github.com/alphacep/vosk-api

View file

@ -384,6 +384,83 @@ $(OBJ)/.steamexe-post-build64:
cp $(SRC)/steam_helper/64/libsteam_api.so $(DST_LIBDIR64)/
touch $@
##
## openfst
##
OPENFST_SOURCE_ARGS = \
--include src/include/fst/config.h.in \
--exclude aclocal.m4 \
--exclude ar-lib \
--exclude autom4te.cache \
--exclude compile \
--exclude config.guess \
--exclude config.h.in \
--exclude config.sub \
--exclude configure \
--exclude depcomp \
--exclude install-sh \
--exclude ltmain.sh \
--exclude m4/libtool.m4 \
--exclude m4/ltoptions.m4 \
--exclude m4/ltsugar.m4 \
--exclude m4/ltversion.m4 \
--exclude m4/lt~obsolete.m4 \
--exclude Makefile.in \
--exclude missing \
--exclude test-driver \
OPENFST_CONFIGURE_ARGS = \
--enable-silent-rules \
--enable-static \
--disable-shared \
--enable-far \
--enable-ngram-fsts \
--enable-lookahead-fsts \
--with-pic \
--disable-bin \
$(eval $(call rules-source,openfst,$(SRCDIR)/openfst))
$(eval $(call rules-autoconf,openfst,32))
$(eval $(call rules-autoconf,openfst,64))
##
## kaldi
##
KALDI_SOURCE_ARGS = \
--exclude src/**/CMakeLists.txt \
KALDI_CMAKE_ARGS = \
-DKALDI_VERSION=5.5-proton \
-DBLAS_LIBRARIES=-lblas \
-DLAPACK_LIBRARIES=-llapack \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DBUILD_SHARED_LIBS=OFF \
-DKALDI_BUILD_TEST=OFF \
-DKALDI_BUILD_EXE=OFF \
KALDI_DEPENDS = openfst
$(eval $(call rules-source,kaldi,$(SRCDIR)/kaldi))
$(eval $(call rules-cmake,kaldi,32))
$(eval $(call rules-cmake,kaldi,64))
##
## vosk
##
VOSK_CMAKE_ARGS = \
-DBUILD_SHARED_LIBS=ON \
VOSK_DEPENDS = openfst kaldi
$(eval $(call rules-source,vosk,$(SRCDIR)/vosk-api))
$(eval $(call rules-cmake,vosk,32))
$(eval $(call rules-cmake,vosk,64))
##
## wine
@ -422,7 +499,7 @@ WINE_CONFIGURE_ARGS64 = --enable-win64 \
VKD3D_PE_CFLAGS="-I$(VULKAN_HEADERS_DST64)/include -I$(VKD3D_DST64)/include/vkd3d" \
VKD3D_PE_LIBS="-L$(VKD3D_DST64)/bin -l:libvkd3d-1.dll -l:libvkd3d-shader-1.dll"
WINE_DEPENDS = gst_orc gstreamer gst_base vkd3d
WINE_DEPENDS = gst_orc gstreamer gst_base vkd3d openfst kaldi vosk
$(eval $(call rules-source,wine,$(SRCDIR)/wine))
$(eval $(call rules-autoconf,wine,32))
@ -544,6 +621,9 @@ VKD3D_CONFIGURE_ARGS = \
--without-ncurses \
SONAME_LIBVULKAN=vulkan-1 \
# LTO is enabled by default, but causes the build to fail. I havent't
# investigated this yet.
VKD3D_CFLAGS = -fno-lto
VKD3D_LDFLAGS = -static-libgcc $(CROSSLDFLAGS)
VKD3D_DEPENDS = vulkan-headers spirv-headers
@ -960,7 +1040,7 @@ all-dist: $(DIST_GECKO32) $(DIST_GECKO64)
## wine-mono
##
WINEMONO_VER := 9.2.0
WINEMONO_VER := 9.3.0
WINEMONO_TARBALL := wine-mono-$(WINEMONO_VER)-x86.tar.xz
DIST_WINEMONO_DIR := $(DST_DIR)/share/wine/mono
DIST_WINEMONO := $(OBJ)/.wine-mono-dist

@ -1 +1 @@
Subproject commit 8c1c27d5a9b9de8a17f500053bd08c7ca6bba19c
Subproject commit 31aa7f634b052d87ede4664053e85f3f4d1d50d3

2
dxvk

@ -1 +1 @@
Subproject commit d0ea5a4a87c9b4ee8a7d700c5f55baf26054bd6a
Subproject commit c8791a6ba528d538b2bbc193a9c61339e1a1758d

@ -1 +1 @@
Subproject commit bd542144518dce62b39f131b20093c295e21b7e1
Subproject commit ae4aeeee92c3099fa180007743579295f56469ab

1
kaldi Submodule

@ -0,0 +1 @@
Subproject commit a25f216f5ce4eec5e45a6ab7651e20c9840a05cd

View file

@ -177,7 +177,9 @@ NTSTATUS ISteamFriends_SteamFriends005_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends005_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends005_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends005 *iface = (struct u_ISteamFriends_SteamFriends005 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -185,7 +185,9 @@ NTSTATUS ISteamFriends_SteamFriends006_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends006_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends006_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends006 *iface = (struct u_ISteamFriends_SteamFriends006 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -177,7 +177,9 @@ NTSTATUS ISteamFriends_SteamFriends007_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends007_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends007_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends007 *iface = (struct u_ISteamFriends_SteamFriends007 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -177,7 +177,9 @@ NTSTATUS ISteamFriends_SteamFriends008_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends008_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends008_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends008 *iface = (struct u_ISteamFriends_SteamFriends008 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -177,7 +177,9 @@ NTSTATUS ISteamFriends_SteamFriends009_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends009_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends009_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends009 *iface = (struct u_ISteamFriends_SteamFriends009 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -193,7 +193,9 @@ NTSTATUS ISteamFriends_SteamFriends010_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends010_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends010_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends010 *iface = (struct u_ISteamFriends_SteamFriends010 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -193,7 +193,9 @@ NTSTATUS ISteamFriends_SteamFriends011_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends011_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends011_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends011 *iface = (struct u_ISteamFriends_SteamFriends011 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -193,7 +193,9 @@ NTSTATUS ISteamFriends_SteamFriends012_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends012_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends012_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends012 *iface = (struct u_ISteamFriends_SteamFriends012 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -193,7 +193,9 @@ NTSTATUS ISteamFriends_SteamFriends013_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends013_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends013_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends013 *iface = (struct u_ISteamFriends_SteamFriends013 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -201,7 +201,9 @@ NTSTATUS ISteamFriends_SteamFriends014_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends014_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends014_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends014 *iface = (struct u_ISteamFriends_SteamFriends014 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -249,7 +249,9 @@ NTSTATUS ISteamFriends_SteamFriends015_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends015_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends015_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends015 *iface = (struct u_ISteamFriends_SteamFriends015 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -249,7 +249,9 @@ NTSTATUS ISteamFriends_SteamFriends017_ActivateGameOverlayToWebPage( void *args
{
struct ISteamFriends_SteamFriends017_ActivateGameOverlayToWebPage_params *params = (struct ISteamFriends_SteamFriends017_ActivateGameOverlayToWebPage_params *)args;
struct u_ISteamFriends_SteamFriends017 *iface = (struct u_ISteamFriends_SteamFriends017 *)params->linux_side;
iface->ActivateGameOverlayToWebPage( params->pchURL, params->eMode );
char *u_pchURL = steamclient_dos_to_unix_path( params->pchURL, 1 );
iface->ActivateGameOverlayToWebPage( u_pchURL, params->eMode );
steamclient_free_path( u_pchURL );
return 0;
}

View file

@ -382,6 +382,9 @@ PATH_CONV_METHODS_WTOU = {
"ISteamInput_SetInputActionManifestFilePath": {
"pchInputActionManifestAbsolutePath": {"array": False, "url": False},
},
"ISteamFriends_ActivateGameOverlayToWebPage": {
"pchURL": {"array": False, "url": True},
},
}
PATH_CONV_STRUCTS = {

View file

@ -88,6 +88,8 @@ static BOOL networking_message_pool_receive_144( int32_t capacity, int32_t count
struct networking_message_pool *pool = CONTAINING_RECORD( messages[0], struct networking_message, w_msg_144 )->pool;
int32_t i;
if (count < 0) count = 0;
for (i = count; i < capacity; i++)
{
messages[i]->m_pfnRelease( messages[i] );
@ -155,11 +157,13 @@ static BOOL networking_message_pool_create_147( uint32_t count, w_SteamNetworkin
return TRUE;
}
static BOOL networking_message_pool_receive_147( uint32_t capacity, uint32_t count, w_SteamNetworkingMessage_t_147 **messages )
static BOOL networking_message_pool_receive_147( uint32_t capacity, int32_t count, w_SteamNetworkingMessage_t_147 **messages )
{
struct networking_message_pool *pool = CONTAINING_RECORD( messages[0], struct networking_message, w_msg_147 )->pool;
uint32_t i;
if (count < 0) count = 0;
for (i = count; i < capacity; i++)
{
messages[i]->m_pfnRelease( messages[i] );
@ -227,11 +231,13 @@ static BOOL networking_message_pool_create_153a( uint32_t count, w_SteamNetworki
return TRUE;
}
static BOOL networking_message_pool_receive_153a( uint32_t capacity, uint32_t count, w_SteamNetworkingMessage_t_153a **messages )
static BOOL networking_message_pool_receive_153a( uint32_t capacity, int32_t count, w_SteamNetworkingMessage_t_153a **messages )
{
struct networking_message_pool *pool = CONTAINING_RECORD( messages[0], struct networking_message, w_msg_153a )->pool;
uint32_t i;
if (count < 0) count = 0;
for (i = count; i < capacity; i++)
{
messages[i]->m_pfnRelease( messages[i] );

View file

@ -42,6 +42,8 @@ extern struct w_steam_iface *create_winISteamNetworkingFakeUDPPort_SteamNetworki
extern void execute_pending_callbacks(void);
extern void execute_pending_callbacks(void);
struct w_steam_iface *create_win_interface(const char *name, void *linux_side);
void *alloc_mem_for_iface(size_t size, const char *iface_version);
void *alloc_vtable(void *vtable, unsigned int method_count, const char *iface_version);

1
openfst Submodule

@ -0,0 +1 @@
Subproject commit 7dfd808194105162f20084bb4d8e4ee4b65266d5

44
proton
View file

@ -38,7 +38,7 @@ from random import randrange
#To enable debug logging, copy "user_settings.sample.py" to "user_settings.py"
#and edit it if needed.
CURRENT_PREFIX_VERSION="9.0-203"
CURRENT_PREFIX_VERSION="9.0-202"
PFX="Proton: "
ld_path_var = "LD_LIBRARY_PATH"
@ -821,11 +821,17 @@ class CompatData:
"xinput*.dll," +
#vcruntime redist
"atl*.dll," +
"atl1*.dll," +
"atl.dll," +
"concrt*.dll," +
"msvcp*.dll," +
"msvcr*.dll," +
"msvcm*.dll," +
"msvcp1*.dll," +
"msvcrt*.dll," +
"msvcp7*.dll," +
"msvcp6*.dll," +
"msvcp_win.dll," +
"msvcr1*.dll," +
"msvcrt*.dll," +
"msvcr7*.dll," +
"vcamp1*.dll," +
"vcomp1*.dll," +
"vccorlib1*.dll," +
@ -961,13 +967,10 @@ class CompatData:
g_session.dlloverrides[f] = "n"
for f in vkd3d_protonfiles:
optional = False
if f == "d3d12core":
optional = True
try_copy(g_proton.lib64_dir + "wine/vkd3d-proton/" + f + ".dll", "drive_c/windows/system32",
prefix=self.prefix_dir, track_file=tracked_files, link_debug=True, optional=optional)
prefix=self.prefix_dir, track_file=tracked_files, link_debug=True)
try_copy(g_proton.lib_dir + "wine/vkd3d-proton/" + f + ".dll", "drive_c/windows/syswow64",
prefix=self.prefix_dir, track_file=tracked_files, link_debug=True, optional=optional)
prefix=self.prefix_dir, track_file=tracked_files, link_debug=True)
g_session.dlloverrides[f] = "n"
# If the user requested the NVAPI be available, copy it into place.
@ -1030,6 +1033,7 @@ def default_compat_config():
#affected by CW bug 19741
"1017900", #Age of Empires: Definitive Edition
#CW bug 23986
"1928420",
]:
@ -1077,10 +1081,7 @@ def default_compat_config():
]:
ret.add("noopwr")
if appid in [
"1621680",
"359870",
]:
if appid == "1621680":
ret.add("noforcelgadd")
if appid in [
@ -1101,6 +1102,8 @@ def default_compat_config():
"460790", #Bayonetta
"273590", #Descent 3
"834530", #Yakuza Kiwami
"1088710", #Yakuza 3 Remastered
"1105500", #Yakuza 4 Remastered
"714010", #Aimlabs
"2249070", #Strip Fighter ZERO
"2526380", #Sword of Convallaria
@ -1174,6 +1177,7 @@ def default_compat_config():
"397950", # Clustertruck
"489830", # The Elder Scrolls V: Skyrim Special Edition
"712180", # Mugsters
"1818750", # MultiVersus
]:
ret.add("xalia")
@ -1457,6 +1461,12 @@ class Session:
if "PROTON_CRASH_REPORT_DIR" in self.env:
self.env["WINE_CRASH_REPORT_DIR"] = self.env["PROTON_CRASH_REPORT_DIR"]
# NVIDIA software may check NVIDIA_WINE_DLL_DIR as a search-path for
# driver-provided DLLs for use by Proton/Wine.
nvidia_wine_dll_dir = find_nvidia_wine_dll_dir()
if nvidia_wine_dll_dir:
self.env["NVIDIA_WINE_DLL_DIR"] = nvidia_wine_dll_dir
if "PROTON_LOG" in self.env and nonzero(self.env["PROTON_LOG"]):
if self.setup_logging(append_forever=False):
self.log_file.write("======================\n")
@ -1494,6 +1504,12 @@ class Session:
if hard_limit < 524288:
self.log_file.write(f"WARNING: Low file descriptor limit: {hard_limit} (see https://github.com/ValveSoftware/Proton/wiki/File-Descriptors)\n")
if os.path.exists("/proc/sys/vm/max_map_count"):
with open("/proc/sys/vm/max_map_count", "r") as f:
max_map_count = int(f.read())
if max_map_count < 1048576:
self.log_file.write(f"WARNING: Low /proc/sys/vm/max_map_count: {max_map_count} will prevent some games from working\n")
self.log_file.write("======================\n")
self.log_file.flush()
else:

2
vkd3d

@ -1 +1 @@
Subproject commit a16b9dffda9becb1dbcad476c38b78f2144f35b4
Subproject commit 68b7f9df310a27fb8e4ebac48a1452570263ac08

@ -1 +1 @@
Subproject commit 47840a4bb614023a19c6c601c1b558ebc80bc9f2
Subproject commit 3d001cc6830431034930722f9200abc101187435

1
vosk-api Submodule

@ -0,0 +1 @@
Subproject commit 12f29a3415e4967e088ed09202bfb0007e5a1787

2
wine

@ -1 +1 @@
Subproject commit 488fb296dda334a1e8555a9dd8f5cbe09be2afe5
Subproject commit 9d08b87d42f439beca32d20e46d838e51856d8d8