Commit Graph
100 Commits
Author SHA1 Message Date
Rémi Bernon a5bfe6edda docker: Add fontforge and libutfcpp-dev to the Proton SDK images. 2022-04-05 18:13:11 +03:00
Rémi Bernon 6a3c03d64b build: Don't change debug file .text section flags.
This breaks perf ELF symbol tracking somehow.
2022-02-25 13:52:40 +02:00
Rémi Bernon 42cb4d31bb build: Remove pefixup invocation for module rule too. 2022-02-25 13:52:40 +02:00
Rémi Bernon 82b5301d55 build: Remove unnecessary pefixup.py script. 2022-02-25 13:52:40 +02:00
Rémi Bernon 88064f86ee build: Fixup .text section flags using objcopy and assert in pefixup. 2022-02-25 13:52:40 +02:00
Rémi Bernon 47fe4a8063 pefixup: Assert that IMAGE_SCN_ALIGN_MASK isn't required anymore. 2022-02-25 13:52:40 +02:00
Rémi Bernon b203ba6bdd proton: Run steam from its Program Files (x86) location.
For CoD: Black Ops 3.

CW-Bug-Id: #19362
2022-01-24 22:53:20 +02:00
Rémi Bernon 2ad85256a3 media-converter: Add format=S16LE to audioconv caps.
As opusdec will only output that format, and we want to be able to
filter the elements from their capabilities early.

CW-Bug-Id: #19854
2022-01-24 16:03:39 +02:00
Rémi Bernon f0a10371c9 media-converter: Classify proton audioconv as Codec/Decoder/Audio.
Required to match it when enumerating audio decoders.

CW-Bug-Id: #19854
2022-01-24 16:03:39 +02:00
Rémi Bernon fc27d69033 steam.exe: Make process system after child process has started.
So that it can connect to the winstation and get a desktop reference
before steam.exe releases theirs.

CW-Bug-ID: #19584
2022-01-19 11:29:55 +02:00
Rémi Bernon a7d8aabc0d vrclient: Parse all include files at once. 2022-01-19 11:29:54 +02:00
Rémi Bernon 57ea5353ee lsteamclient: Parse all include files at once. 2022-01-19 11:29:54 +02:00
Rémi Bernon db7e0e7a14 vrclient: Remove unnecessary includes. 2022-01-19 11:29:54 +02:00
Rémi Bernon 226313fa1d lsteamclient: Remove unnecessary includes.
The -Isteamworks_sdk_{sdkver} was not expanded anyway.
2022-01-19 11:29:54 +02:00
Rémi Bernon fc14f36b9d vrclient: Use dicts to lookup structs in gen_wrapper.py. 2022-01-19 11:29:54 +02:00
Rémi Bernon de5557448b lsteamclient: Use dicts to lookup structs in gen_wrapper.py. 2022-01-19 11:29:54 +02:00
Rémi Bernon e868aa6e1a vrclient: Import from clang.cindex instead of prefixing. 2022-01-19 11:29:54 +02:00
Rémi Bernon 5e3dab64e2 lsteamclient: Import from clang.cindex instead of prefixing. 2022-01-19 11:29:54 +02:00
Rémi Bernon 7e4ee66328 proton: Link overridable DLLs debug files too. 2022-01-19 11:29:54 +02:00
Rémi Bernon 808920b6b3 proton: Add overridable DLLs to the tracked_files. 2022-01-19 11:29:54 +02:00
Rémi Bernon 83e40165ba proton: Move try_copy calls into the tracked_files block. 2022-01-19 11:29:54 +02:00
Rémi Bernon b3d4aa02a6 proton: Add a prefix parameter to try_copy. 2022-01-19 11:29:54 +02:00
Rémi Bernon 16b662a0bf proton: Always set dst to the target file name in try_copy. 2022-01-19 11:29:54 +02:00
Rémi Bernon c308ae9f32 configure.sh: Update default Proton SDK image to 0.20211207.0-0. 2022-01-19 11:29:54 +02:00
Rémi Bernon 6da8b268dd docker: Update Proton SDK components. 2022-01-19 11:29:54 +02:00
Rémi Bernon f46e62c775 docker: Install yasm in Proton SDK images. 2022-01-19 11:29:54 +02:00
Rémi Bernon 959f3665c3 proton: Add +unwind to the default debug channels. 2022-01-19 11:29:54 +02:00
Rémi Bernon 2b4bfa46d6 build: Call dlls/winevulkan/make_vulkan in wine post-source. 2022-01-19 11:29:54 +02:00
Rémi Bernon 0b729bded4 build: Stop building FAudio and jxrlib. 2022-01-19 11:29:54 +02:00
Rémi Bernon 0f1f692c70 proton: Start steam.exe from C:\\windows\\system32. 2022-01-19 11:29:54 +02:00
Rémi Bernon ec2a650072 build: Install builtin libraries to target-arch lib subdirs. 2022-01-19 11:29:54 +02:00
Rémi Bernon 73982eb20f build: Use winebuild --exe mode for fake exe module generation.
This fixes steam.exe.so not being able to start from system32
automatically, as the fake module was flagged with IMAGE_FILE_DLL, which
caused GetBinaryTypeW to fail.
2022-01-19 11:29:54 +02:00
Rémi Bernon 9b8046131d steam.exe: Use NtSetInformationProcess instead of __wine_make_process_system. 2022-01-19 11:29:54 +02:00
Rémi Bernon 5838c1fbda build: Don't depend on wine for building libvkd3d-shader. 2022-01-19 11:26:04 +02:00
Rémi Bernon c35122e209 build: Cross-compile Vulkan Loader with Vulkan and SPIRV Headers. 2022-01-19 11:26:04 +02:00
Rémi Bernon e0e1d984c2 Vulkan-Loader: Add new submodule. 2022-01-19 11:26:04 +02:00
Rémi Bernon cb94853f03 Vulkan-Headers: Update to v1.2.198. 2022-01-19 11:26:04 +02:00
Rémi Bernon 04bf8f150e build: Build vkd3d-shader with cross-compilation rules. 2022-01-19 11:26:04 +02:00
Rémi Bernon 587f86fb9d build: Better support meson cross compilation. 2022-01-19 11:26:04 +02:00
Rémi Bernon 5b8a6c72f9 build: Remove CCACHE_BIN variable, use wrappers in PATH instead.
Container have ccache wrappers in the PATH already, and the two
components CC / CXX just makes it harder to generate meson cross files.
2022-01-19 11:26:04 +02:00
Rémi Bernon 4ade59b2ca build: Better support cross-compilation in common rules. 2022-01-19 11:26:04 +02:00
Rémi Bernon 09568c2159 build: Simplify cargo target replacement. 2022-01-19 11:26:04 +02:00
Rémi Bernon 808b99bd27 build: Use $$(OBJ) consistently in rules macros. 2022-01-19 11:26:04 +02:00
Rémi Bernon 6d682e4b17 build: Cleanup target directories before building.
And force copy artifacts after.
2022-01-19 11:26:04 +02:00
Rémi Bernon 2286a8e592 docker: Add python3-pefile package to SDK image. 2022-01-19 11:26:04 +02:00
Rémi Bernon be485ab504 docker: Don't install tini, it's already there now. 2022-01-19 11:26:04 +02:00
Rémi Bernon 1c04188bc0 docker: Install libxpresent-dev packages. 2022-01-19 11:26:04 +02:00
Rémi Bernon c9a428090f docker: Bump steamrt version to 0.20210505.0. 2022-01-19 11:26:04 +02:00
Rémi Bernon ccfad43c81 docs: Add some documentation for proper ICMP ECHO system config.
System ping utility cannot be used in SLR container so we need to use
ICMP sockets.

CW-Bug-Id: #19340
2021-11-11 18:36:07 +02:00
Rémi Bernon cabe4dee6f build: Make sure wineopenx64.json depends on prefix.
So that deleting the prefix to recreate it also forces the file to be
copied again.
2021-06-17 15:10:20 -05:00
Rémi Bernon c1fc8283d1 build: Use jobs to control xargs parallelism. 2021-06-17 15:10:20 -05:00
Rémi Bernon bdb6a31e8c build: Make silent builds actually quiet. 2021-06-17 15:10:20 -05:00
Rémi Bernon 8448591ebd build: Build with Proton SDK 0.20210505.0-2.
But disable XPresent extension for now.
2021-06-17 15:10:20 -05:00
Rémi Bernon 751535d863 build: Restore missing tabulation in Makefile. 2021-05-27 19:13:24 +02:00
Rémi Bernon 0e897ff8b7 build: Move protonsdk_version default value to configure.sh. 2021-05-27 16:59:02 +02:00
Rémi Bernon a8b3580679 configure: Rename --no-steam-runtime to --no-proton-sdk. 2021-05-27 16:58:19 +02:00
Rémi Bernon 9d5b7eb0cc configure: Rename --steam-runtime-image to --proton-sdk-image. 2021-05-27 16:58:19 +02:00
Rémi Bernon ecca62efa8 build: Create CCACHE_DIR if it doesn't exist and mount it.
Instead of the HOME dir, and only when ENABLE_CCACHE is set.
2021-05-27 16:58:18 +02:00
Rémi Bernon 8dd5db85dd build: Pass CCACHE environment variable to the container build. 2021-05-27 16:58:18 +02:00
Rémi Bernon d3e4d8a811 build: Pass -j flags and overrides to sub-make inside Vagrant. 2021-05-27 16:58:16 +02:00
Rémi Bernon b84a7593b7 build: Pass -j flags to ninja build steps too. 2021-05-27 16:57:45 +02:00
Rémi Bernon bb4c28c6ac build: Use a separate rule for downloads. 2021-05-27 16:57:41 +02:00
Rémi Bernon 9283c7b50d build: Use SHELL variable to execute commands in Vagrant. 2021-05-27 16:57:22 +02:00
Rémi Bernon 1e561a8bc0 build: Split non-vagrant commands from install rule. 2021-05-27 16:52:27 +02:00
Rémi Bernon 2269616052 build: Use a rule to create the vagrant_share/* directories. 2021-05-27 16:52:23 +02:00
Rémi Bernon b58a10a265 build: Simplify and cleanup TTF font creation rules. 2021-05-27 16:52:09 +02:00
Rémi Bernon acded80882 build: Install wineopenxr64.json after the prefix is created. 2021-05-27 16:52:08 +02:00
Rémi Bernon 41d488deee build: Pass make flags and parallel flags to module rule. 2021-05-27 16:52:08 +02:00
Rémi Bernon 08992c126e build: Make sure that module target triggers wine-configure. 2021-05-27 16:52:08 +02:00
Rémi Bernon 8726ea849d build: Add specified modules to the container build list.
And not only when ending with 32/64.
2021-05-27 16:52:08 +02:00
Rémi Bernon 5dd383efff build: Remove duplicate BUILD_DIR variable. 2021-05-27 16:52:07 +02:00
Rémi Bernon bbf41a6d75 build: Add -gdwarf-2 -gstrict-dwarf debug info compilation flags. 2021-03-31 14:08:11 -05:00
Rémi Bernon d3890c110a docs: Document thread priority configuration. 2021-03-31 14:08:10 -05:00
Rémi Bernon 99f40d87e9 build: Don't force the number of make jobs. 2021-03-31 14:08:10 -05:00
Rémi Bernon ee04127950 build: Only mount what's required inside docker. 2021-03-31 14:08:10 -05:00
Rémi Bernon 4d63345180 build: Cleanup unused make variables. 2021-03-31 14:08:10 -05:00
Rémi Bernon fef27d08d9 build: Install modules separately and factor debug extraction. 2021-03-31 14:08:10 -05:00
Rémi Bernon f88ff58f53 build: Use build macros for mediaconv. 2021-03-31 14:08:10 -05:00
Rémi Bernon cdd4f10b8b build: Use build macros for vrclient. 2021-03-31 14:08:10 -05:00
Rémi Bernon ee909c8c6b build: Use build macros for steam. 2021-03-31 14:08:10 -05:00
Rémi Bernon 082b2628a7 build: Use build macros for lsteamclient. 2021-03-31 14:08:10 -05:00
Rémi Bernon 528ed849eb build: Use build macros for dxvk. 2021-03-31 14:08:10 -05:00
Rémi Bernon 69241849ff build: Use build macros for wineopenxr. 2021-03-31 14:08:10 -05:00
Rémi Bernon fbc77f2eb1 build: Introduce rules-winemaker macro. 2021-03-31 14:08:10 -05:00
Rémi Bernon 2bf35d9f4f build: Use build macros for wine. 2021-03-31 14:08:10 -05:00
Rémi Bernon 8c105d7aa1 build: Introduce rules-autoconf macro. 2021-03-31 14:08:10 -05:00
Rémi Bernon 8e2bce153c build: Replace wine tools dependencies with wine.
It's heaviers but things will be fast enough later.
2021-03-31 14:08:10 -05:00
Rémi Bernon e8455152a9 build: Use build macros for jxrlib. 2021-03-31 14:08:10 -05:00
Rémi Bernon 5aa5ff8cd9 build: Use build macros for faudio. 2021-03-31 14:08:10 -05:00
Rémi Bernon 5a161e318e build: Use build macros for openxr. 2021-03-31 14:08:10 -05:00
Rémi Bernon 94fd711e2b build: Introduce rules-cmake macro. 2021-03-31 14:08:10 -05:00
Rémi Bernon 05480be5b9 build: Use build macros for vkd3d-proton. 2021-03-31 14:08:10 -05:00
Rémi Bernon d71bd981e4 build: Use build macros for gst_good. 2021-03-31 14:08:10 -05:00
Rémi Bernon 96756d8ea1 build: Use build macros for gst_base. 2021-03-31 14:08:10 -05:00
Rémi Bernon 78e2bea5e3 build: Use build macros for gstreamer. 2021-03-31 14:08:10 -05:00
Rémi Bernon 8e1c0d5b29 build: Use build macros for gst_orc. 2021-03-31 14:08:10 -05:00
Rémi Bernon 04631339f3 build: Introduce rules-meson macro. 2021-03-31 14:08:10 -05:00
Rémi Bernon dcb0f60cb7 build: Introduce rules-common macro. 2021-03-31 14:08:10 -05:00
Rémi Bernon 49cfbe9870 build: Introduce rules-source macro. 2021-03-31 14:08:10 -05:00
Rémi Bernon 3273dc2de0 build: Introduce single container build target.
The intention is to batch all container invocations instead of
instanciating one for every rule that needs to run within a container.

This keeps track of build dependencies using a .any-build timestamp file
and define a CONTAINER=1 variable when make is running within the
container.

When running within the container, only "configure" and "build" targets
are active, all the other targets are no-op. When make is run outside
of the container, it's the opposite, except for the "build" targets
which all depend on this .any-build timestamp file to trigger the
container build execution.

The targets dependency graph is still complete, so "source" targets
will always all be executed before the container, and configure steps
will optionally run if the generated files are missing. When source
change is detected, only the build rules are executed again, trusting
each build system to decide if configure should be run again or not.
2021-03-31 14:08:10 -05:00