Commit Graph
100 Commits
Author SHA1 Message Date
Arkadiusz Hiler c0d0b2f295 lsteamclient: Generate SteamWorks SDK 1.58 support. 2023-09-27 20:14:12 +03:00
Arkadiusz Hiler 45dff33596 lsteamclient: Import SteamWorks SDK 1.58. 2023-09-27 20:14:12 +03:00
Arkadiusz Hiler 87a75415e7 Makefile.in: Order building of projects that generate DLLs with same names.
To avoid timestamp conflicts.

CW-Bug-Id: #22341
2023-09-27 20:14:12 +03:00
Arkadiusz Hiler 818cdb7e79 media-converter: Avoid holding state lock. 2023-09-12 14:55:34 +03:00
Arkadiusz Hiler 64465e595f media-converter: Don't hold state lock during pull_range 2023-09-12 14:55:34 +03:00
Arkadiusz Hiler eda653f413 Makefile.in: Enable vkd3d-proton traces for unstripped builds. 2023-09-12 14:55:34 +03:00
Arkadiusz Hiler 46304cde3d make: Use GNU Make's job server when building via ninja.
`+` is necessary to mark it as recurisve[0] so that fds are passed as
expected.

Passing explicit `-j` is dropped because it takes precedence over
MAKEFLAGS and disables the job server integration.

[0]: https://www.gnu.org/software/make/manual/html_node/POSIX-Jobserver.html
2023-09-12 14:55:34 +03:00
Arkadiusz Hiler 45039fc24e Makefile.in: Bump container image used for the build.
-2 has ninja that supports GNU Make's job server.
2023-09-12 14:55:34 +03:00
Arkadiusz Hiler 354a061c16 docker: Build patched ninja that supports jobserver.
https://github.com/ninja-build/ninja/pull/1140

So that -jN actually uses N job slots even when using ninja.
Sadly this does not cover cargo, which is less of an issue.
2023-09-12 14:55:34 +03:00
Arkadiusz Hiler cdce0cd31a docker/Makefile: Update base Sniper SDK to 0.20230509.49493 2023-09-12 14:55:34 +03:00
Arkadiusz Hiler 37b88eb035 steam_helper: Stop waiting on the debugger when ptraced. 2023-09-12 14:55:31 +03:00
Arkadiusz Hiler 7c21be5c27 Makefile.in: Introduce SUPPRESS_WARNINGS for quieter CI build.
Due to how we handle building and compilation flags we end up with a lot
of warnings that are normally hidden. Let's introudce an option to
suppress them for CI builds to generate smaller, more searchable logs.
2023-09-12 14:44:08 +03:00
Arkadiusz Hiler 996672f057 .gitmodules: Use downstream dxvk.
For CI / bleeding-edge automation.
2023-09-12 14:44:08 +03:00
Arkadiusz Hiler c32e9213c6 update wine 2023-07-17 16:13:29 +03:00
Arkadiusz Hiler 9265ef9dce update wine 2023-07-05 15:57:52 +03:00
Arkadiusz Hiler 9a169bd27b update wine 2023-06-29 20:06:16 +03:00
Arkadiusz Hiler 836e4723aa update wine 2023-06-19 18:01:53 +03:00
Arkadiusz Hiler fd3d1bda0c update vkd3d-proton to v2.9-21-gf52e6482 2023-06-06 12:05:09 +03:00
Arkadiusz Hiler df21891fe0 update dxvk-nvapi to v0.6.3-4-g2483eac 2023-06-06 12:05:09 +03:00
Arkadiusz Hiler 88a434e1ae update dxvk to v2.2-34-g4d254b13 2023-06-06 12:05:09 +03:00
Arkadiusz Hiler 55a3d3f165 proton: Bump prefix version. 2023-06-06 12:05:09 +03:00
Arkadiusz Hiler cdd54b2a25 proton: Log effective WINEDEBUG and WINEDLLOVERRIDES. 2023-06-06 12:05:09 +03:00
Arkadiusz Hiler 6d63c73c54 steam_helper: Update the format of the generated libraryfolders.vdf.
The old 1-indexed format:
	"1" 	"Z:\\home\\ivyl\\.local\\share\\Steam"

Changes to new 0-indexed one:
	"0"
	{
		"path"		"Z:\\home\\ivyl\\.local\\share\\Steam"
	}

that is used by Steam on Windows.
2023-06-06 12:05:09 +03:00
Arkadiusz Hiler f0b5a6fe97 Makefile.in: Bake in the vcs version into dxvk's version.h.in. 2023-06-06 12:05:09 +03:00
Arkadiusz Hiler 785757ec15 user_settings.sample.py: Sync WINEDEBUG with proton and comment it out. 2023-06-06 12:05:09 +03:00
Arkadiusz Hiler 5018cb5ab7 configure.sh: Don't allow people to build in the root of the source tree. 2023-06-05 17:55:10 +03:00
Arkadiusz Hiler de63f8c5f9 Makefile.in: Update Proton SDK image to 0.20221017.1-1.
It has Rust 1.68.
2023-06-05 17:55:10 +03:00
Arkadiusz Hiler 311385c0e5 docker: Bump Rust to 1.68. 2023-06-05 17:55:10 +03:00
Arkadiusz Hiler 7bd855e054 proton: Make log creation depend only on PROTON_LOG.
There are valid cases, e.g. when debugging Wine Mono, to have WINEDEBUG
set to -all. Before this change this would disable the logging even if
PROTON_LOG=1.
2023-06-05 17:55:10 +03:00
Arkadiusz Hiler 89e4e160ac proton: Clean up dist/redist rules. 2023-06-05 17:55:10 +03:00
Arkadiusz Hiler e82bed8475 proton: Remove stale ir50_32.dll that can be left by experimental.
When switching back to 8.0 from Experimental it will point to a .dll in
the Experimental install directory. It's incompatible with 8.0 due to
experimental-only winegstreamer changes and causes delayed symbol
imports to fail.

CW-Bug-Id: #22205
2023-04-28 12:19:30 +03:00
Arkadiusz Hiler 656f440e94 update wine 2023-04-28 00:00:09 +03:00
Arkadiusz Hiler 5ac739906d proton: Optionally copy d3d12core for vkd3d-proton.
In anticipation of a pull-request being merged that moves things around
and introduces d3d12core.dll.

This should be made non-optional once the vkd3d-proton changes land.

Link: https://github.com/HansKristian-Work/vkd3d-proton/pull/1458
2023-04-27 17:51:45 +03:00
Arkadiusz Hiler f679be3cc0 update wine 2023-04-18 17:04:27 +03:00
Arkadiusz Hiler ccb1c5a413 update wine 2023-04-13 22:12:34 +03:00
Arkadiusz Hiler 9ec1e2714e update vkd3d-proton to v2.8-84-g08909d98 2023-03-08 17:36:03 +02:00
Arkadiusz Hiler 1164e4b0b8 update dxvk to v2.1-4-gcaf31033 2023-03-08 17:36:03 +02:00
Arkadiusz Hiler 9130990527 update dxvk-nvapi to v0.6.2 2023-03-08 17:35:54 +02:00
Arkadiusz Hiler e34482a580 proton: Disable hidenvgpu if nvapi is enabled.
Link: https://github.com/ValveSoftware/Proton/pull/6227
2023-03-08 17:35:54 +02:00
Arkadiusz Hiler 62174c7c1e default_pfx.py: Don't accept the shell argument any more.
We now only invoke it inside of the container instead of passing the
`docker run ...` as a parameter.
2023-02-14 16:07:44 +02:00
Arkadiusz Hiler 692ef0aa1f build: Do as much as possible inside of the SDK container.
Parts of the rules, including the magical ones created via
make/rules-*.mk, are executed inside of the container via SHELL
override, and parts are executed on the host side.

This makes reasoning about and debugging the rules much harder than it
should be. It also requirs the users to have certain programs installed
on the host in addition to docker/podman.

With this change `make` will act as a simple pass through to inside of
the container for the most part.

One notable exception is installation which still happens the host side.
2023-02-14 16:07:44 +02:00
Arkadiusz Hiler 9f8a37c0c1 Makefile.in: Get rid of nested make.
We are going to invoke a single in-contiainer make anyway.
2023-02-14 16:07:44 +02:00
Arkadiusz Hiler e60f8c6aac build: Build all fonts in the container.
With the upgrade to sniper the fontforge is up to date enought to build
all our fonts.

Patch is used only to patch the fonts.
2023-02-14 16:07:44 +02:00
Arkadiusz Hiler b4bba7eec4 configure.sh: Move the default SDK build container image URI to Makefile.in.
Up until now ./configure.sh was baking in the default value into the
generated Makefile. Because of it if there was a change that requires a
newer version of the SDK the compilation would fail until the next
./configure.sh invocation does the update.

This is proved to be confusing - mysterious build errors without clear
explanation.

With this change the default value is a part of Makefile.in and if user
doesn't specify --proton-sdk-image it will be always used and always up
to date.

--proton-sdk-image overrides the default and stores it in the Makefile
just like it used to.
2023-02-14 16:07:44 +02:00
Arkadiusz Hiler 28aeb63901 build: Switch over to sniper-based SDK container. 2023-02-14 16:07:44 +02:00
Arkadiusz Hiler b2b17774e4 make/rules-source.mk: Suppress grep warnings.
The second grep in sequence can exit early (-q, as soon as we have one
match it exits with a success) which makes the first grep unhappy as its
write pipe is closed early, resulting in:

        syncing vulkan-loader... grep: write error: Broken pipe

Let's silence those errors.
2023-02-14 16:07:44 +02:00
Arkadiusz Hiler bc63dbbf2a build: Get rid of runtime selection options.
Those were first added when we were working on using the new
pressure-vessel based runtime but have basically no use during current
development.
2023-02-14 16:07:44 +02:00
Arkadiusz Hiler 10a240c341 docker: Use sniper as a base. 2023-02-14 16:07:44 +02:00
Arkadiusz Hiler 1489a6a8d5 proton: Bump prefix version. 2023-02-14 16:07:43 +02:00
Arkadiusz Hiler 19f18b660e Makefile.in: Ignore autogenerated winevulkan files. 2023-02-14 16:07:43 +02:00
Arkadiusz Hiler f7a03d620e steam_helper: Use PROCESSINFOCLASS.
We no longer have PROCESS_INFORMATION_CLASS as of ce91ef6426bf ("kernelbase: Add SetProcessInformation().")
2023-02-14 16:07:43 +02:00
Arkadiusz Hiler dc3a951754 Makefile.in: Build wineopenxr with -ldl.
Required as of bef09697227c ("ntdll: Move the .so module initialization to winecrt0.")
2023-02-14 16:07:43 +02:00
Arkadiusz Hiler 8e67412fcc media-converter: Use the test pattern video even without dump/transcoded files.
So the game won't trip over lack of media when shader pre-cacheing is
disabled in Steam.

CW-Bug-Id: #21524
2023-02-14 16:07:43 +02:00
Arkadiusz Hiler 6d138f5e96 media-converter: Create a tag file when placeholder media are used.
CW-Bug-Id: #21473
2023-02-14 16:07:43 +02:00
Arkadiusz Hiler eca48bb93f media-converter: Apply cargo clippy suggestions. 2023-02-14 16:07:43 +02:00
Arkadiusz Hiler e36a9ba96a media-converter: Update to the newest gst bindings.
1. ElementImpl trait requires GstObjectImpl

2. gst logging macros are no longer globals prefixed with gst_, they
   live inside gst:: instead

3. element is not longer passed around in many places, it can be
   accessed as self.obj() or self.instance()

4. query_default is now a part of gst::Pad and takes the pad as an argument

5. some constructors were changed to use from_$type()

6. query.view_mut() returns QueryViewMut

7. ElementFactory::make now returns a builder that we have to .build()

There are some extra cleanups as well:

1. spurious 'mut' and '&' are removed, a lot of that can be infered or
   were turned into a dereference by the compiler anyway

2. !bla.is_ok() are now bla.is_err()

3. some unneeded imports were removed
2023-02-14 16:07:43 +02:00
Arkadiusz Hiler b5d58d27ad docker: Bump Rust to 1.65.
For let-else statements and generic associated types.
2023-02-14 16:07:43 +02:00
Arkadiusz Hiler c04ca71f7a docker: Don't specify the image tag in --cache-from
The option is badly documented. Apparently the image name is enough.
Specifying the tag breaks podman/buildah build.
2023-02-14 16:07:43 +02:00
Arkadiusz Hiler 8959349ac9 configure.sh: Use SDK 0.20220601.0-1 2022-11-23 14:06:19 +02:00
Arkadiusz Hiler 175bc06a3f update wine 2022-10-31 13:25:15 +00:00
Arkadiusz Hiler 04dfc0937c update dxvk to v1.10.3-28-ge3daa699 2022-10-14 18:36:09 +03:00
Arkadiusz Hiler 79134b581a docker: Update Rust to 1.63.0. 2022-10-14 18:36:09 +03:00
Arkadiusz Hiler 42e034ece8 docker: Bump steamrt version to 0.20220601.0.
It contains libsoup.
2022-10-14 18:36:09 +03:00
Arkadiusz Hiler 66e57462c1 media-converter: Use crates.io version of the gstreamer crates. 2022-10-14 18:21:56 +03:00
Arkadiusz Hiler 4221d9ef07 Update wine. 2022-08-10 19:29:30 +03:00
Arkadiusz Hiler fb9231f0ca Update dxvk to v1.10.3. 2022-08-10 19:29:30 +03:00
Arkadiusz Hiler 1db86a772d Update vkd3d-proton to v2.6-1-gc05900da. 2022-08-10 19:29:30 +03:00
Arkadiusz Hiler 5720dd3e9c proton: Add PROTON_NO_STEAM_FFMPEG to ignore ffmpeg that ships with Steam.
CW-Bug-Id: #20923
2022-08-10 19:29:30 +03:00
Arkadiusz Hiler 707741dcc1 toolmanifest: Specify the compatmanager layer name
Link: https://github.com/ValveSoftware/Proton/pull/5891
2022-08-10 19:29:30 +03:00
Arkadiusz Hiler 4cc575b2f4 proton: Add Greak: Memories of Azur to MFDXGI hack.
CW-Bug-Id: #19126
2022-08-10 19:29:30 +03:00
Arkadiusz Hiler be4a80dac6 lsteamclient: Assume manual wrappers are needed for newer revisions of the interfaces. 2022-08-03 14:24:42 +03:00
Arkadiusz Hiler d957ff7c35 Use GitHub mirrors for gstreamer rust repos.
Those are the original repos that were later moved to freedesktop.org.
The author recently started updating them as mirrors.

Freedesktop.org goes down much more often than GitHub and we fetch
everything else from GitHub anyway.

It's better to depend on fewer hosting services to have fewer
interruptions.
2022-08-03 13:40:46 +03:00
Arkadiusz Hiler 67d504c37e README.md: Add a section on debugging. 2022-08-03 13:40:46 +03:00
Arkadiusz Hiler d95c5cc550 README.md: Add a section on debug builds. 2022-08-03 13:40:46 +03:00
Arkadiusz Hiler 7523181830 lsteamclient: Fix the order of arguments in steamclient_isteaminput_getglyph_png(). 2022-06-13 22:16:42 +03:00
Arkadiusz Hiler db61ec1f1e lsteamclient: Wrap EnableActionEventCallbacks's callback also for SteamInput006. 2022-06-10 16:31:19 +03:00
Arkadiusz Hiler 6ded785ccd lsteamclient: Make helpers for EnableActionEventCallbacks reusable. 2022-06-10 16:31:18 +03:00
Arkadiusz Hiler 05efcef3fa lsteamclient: Fixup paths for GetGlyph*() also in SteamInput006. 2022-06-10 16:31:17 +03:00
Arkadiusz Hiler 46a427e8d0 lsteamclient: Make getglyph png and svg helpers non-static. 2022-06-10 16:31:17 +03:00
Arkadiusz Hiler fd79f236ca lsteamclient: Bump clang to 13.0.1. 2022-06-10 16:31:15 +03:00
Arkadiusz Hiler 0178b2bc6f update wine 2022-06-07 18:57:26 +03:00
Arkadiusz Hiler a5d28386b9 update dxvk to v1.10.1-57-g279b4b7e 2022-06-03 17:57:43 +03:00
Arkadiusz Hiler fe93b92ddc update dxvk-nvapi to v0.5.4 2022-06-03 17:57:43 +03:00
Arkadiusz Hiler faf8b2e64d proton: Add Outward to MFDXGI hack.
CW-Bug-Id: #19126
2022-06-03 17:57:43 +03:00
Arkadiusz Hiler 203580f96f Add two more games to MFDXGI manager hack.
CW-Bug-Id: #19126
CW-Bug-Id: #20655
2022-06-03 17:57:43 +03:00
Arkadiusz Hiler cc8db7609b Add three more games to MFDXGI manager hack.
CW-Bug-Id: #19126
2022-06-03 17:57:43 +03:00
Arkadiusz Hiler d2e7a76010 configure.sh: Update default Proton SDK image to 0.20220329.0-0 2022-06-03 14:26:11 +03:00
Arkadiusz Hiler 252e903ff2 docker: Bump steamrt version to 0.20220329.0. 2022-06-03 14:26:11 +03:00
Arkadiusz Hiler b1aea5b33e Makefile: Stop mentioning VMs. 2022-06-03 14:26:11 +03:00
Arkadiusz Hiler f8a8301f4c Makefile: Get rid of install-internal target.
Since the migration off Vagrant we no longer need to copy Proton
installation from the VM to the host. This was replaced with a `make
install` invoked using the new build system which already puts things in
the right place. This render install-internal an unnecessary no-op.
2022-06-03 14:26:11 +03:00
Arkadiusz Hiler c8486ad372 .gitmodules: Use upstream dxvk.
We no longer carry any downstream patches.
2022-06-03 14:26:11 +03:00
Arkadiusz Hiler 0f50e49b85 Makefile.in: Use vk.xml included with Wine instead of downloading one. 2022-04-21 13:02:27 +03:00
Arkadiusz Hiler ec4f158666 update wine 2022-04-21 13:02:27 +03:00
Arkadiusz Hiler 1af0593ce8 update dxvk to v1.10.1 2022-04-21 13:02:27 +03:00
Arkadiusz Hiler c523ec1382 update vkd3d-proton to v2.6 2022-04-21 13:02:27 +03:00
Arkadiusz Hiler f487cf436e update dxvk-nvapi to v0.5.3 2022-04-21 13:02:27 +03:00
Arkadiusz Hiler aaabeb5567 Revert "proton: Add noesync,nofsync for Apex Legends"
This reverts commit 25a58123a1.
2022-04-05 18:13:11 +03:00
Arkadiusz Hiler f45b165030 Revert "proton: Add noesync,nofsync for PixelJunk Eden"
This reverts commit 0623da2af4.
2022-04-05 18:13:11 +03:00
Arkadiusz Hiler 76406455ac Build most of the fonts in the container.
We can move everything but Liberation fonts build to the container.
Sadly those require newer version of fontforge than the one available in
the Steam RT.

There's some extra logic necessary to assure that font build triggers in
the container with the default/all targets.

This removes the requirement to have afdko and fonttools installed on
the host.
2022-04-05 18:13:11 +03:00
Arkadiusz Hiler 701dad161f configure.sh: Don't check for autoconf.
It's not required on the host since
44d9fb94b2 ("build: Run autoreconf in the container.")
2022-04-05 18:13:11 +03:00