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
Arkadiusz Hiler
d101742156
docker: Install nasm package.
...
Required by dav1d. This got lost somewhere between rebases and branches.
2022-04-05 18:13:11 +03:00
Arkadiusz Hiler
43bfd2a6ae
docker: Install fonttools package.
2022-04-05 18:13:11 +03:00
Arkadiusz Hiler
d9ae1265c0
docker: Bump steamrt version to 0.20220119.0.
...
It contains afdko.
2022-04-05 18:13:11 +03:00
Arkadiusz Hiler
6ab3403b1e
Add The Complex to IMFDXGIDeviceManager hack
2022-04-05 18:13:11 +03:00
Arkadiusz Hiler
7cb4c4dc93
update wine
2022-02-23 18:08:43 +02:00
Arkadiusz Hiler
b7d532badf
update vkd3d-proton to v2.5-146-g33f17cc7
2022-02-11 17:39:00 +02:00
Arkadiusz Hiler
e97e717175
update dxvk-nvapi to v0.5.2
2022-02-11 17:39:00 +02:00
Arkadiusz Hiler
2a5b25a7a2
update dxvk to upstream v1.9.4
...
we can drop all the proton-specific customizations now that dxvk's dgxi
is the default one and wined3d interop is gone from vrclient
2022-02-11 17:39:00 +02:00
Arkadiusz Hiler
053954076c
Update wine
2022-02-11 17:39:00 +02:00
Arkadiusz Hiler
9a07890d7e
vrclient: Remove wined3d interop.
...
DXVK interop is still in place.
2022-01-24 22:53:20 +02:00
Arkadiusz Hiler
4070272852
Use github gstreamer mirrors.
...
Freedesktop tends to have their https not working these days plus it's
better to rely only on one hosting service instead of multiple.
Link: https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/407
2022-01-19 11:29:55 +02:00
Arkadiusz Hiler
2c19e6fd92
Makefile.in: Override assignment of DOCKER_OPTS.
...
... so that users can use it to provide extra options for docker without
overriding CCACHE/ROOTLESS logic.
2022-01-19 11:29:55 +02:00
Arkadiusz Hiler
b502860b34
vkd3d: Update submodule's url to github
2022-01-19 11:29:54 +02:00
Arkadiusz Hiler
100dfb9476
Makefile: Use correct paths for dlls build with winemaker
2022-01-19 11:29:54 +02:00
Arkadiusz Hiler
f28e37b95c
configure: Autodetect docker or podman
2022-01-19 11:29:54 +02:00
Arkadiusz Hiler
2443100316
update vkd3d-proton to v2.5-88-gc0a3fa8a
2021-12-06 13:01:04 +02:00
Arkadiusz Hiler
f158f52e44
update wine
2021-12-03 15:21:12 +02:00
Arkadiusz Hiler
50b4c8785f
update wine
2021-11-22 21:10:16 +02:00
Arkadiusz Hiler
ea7eaa41d1
update vkd3d-proton to v2.5-50-g0251b404
2021-11-22 17:39:01 +02:00
Arkadiusz Hiler
3d5c0375a7
update dxvk to v1.9.2-13-g714ca482
2021-11-22 17:38:54 +02:00
Arkadiusz Hiler
e252df46d9
update dxvk-nvapi to v0.4-37-gacbcf35
2021-11-19 18:35:48 +02:00
Arkadiusz Hiler
3e4e8be82c
proton: Add disablelibglesv2 compat config option.
...
Some games and launcher based on older CEF / Chromium versions require
this to render properly.
CW-Bug-Id: #19501
CW-Bug-Id: #19483
2021-11-12 17:28:23 +02:00
Arkadiusz Hiler
cc9c109bf6
proton: Add usenativexinput13 compat config option.
...
Various games using KT Engine like recent WRC and TT Isle of Man, when
run in a win10 prefix, try to load UWP/xinput1_3.dll that ships with the
games. It seems to be mostly-compatible xinput implementation built on
top of windows.gaming.input.dll.
However if we try to replace it with the builtin the game crashes
because it tries to call entry points that are not available in the
original xinput (that's the "mostly-compatible" part), so we need this
override.
Since our windows.gaming.input.dll implementation is just a stub
controllers other than steering wheels (which are handled through
dinput) do not work.
2021-11-11 18:36:08 +02:00
Arkadiusz Hiler
2983a44781
build: Respect concurrency limit when building with cargo.
2021-11-11 18:36:07 +02:00
Arkadiusz Hiler
158e04cb05
configure: Mention that people may need to install afdko using pip.
2021-11-11 18:36:07 +02:00
Arkadiusz Hiler
9d98dd3391
Vagrantfile: Add mitigation for GitHub's git protocol deprecation.
...
The planned brownouts already cause problems.
Link: https://github.blog/2021-09-01-improving-git-protocol-security-github/
2021-11-11 18:36:07 +02:00
Arkadiusz Hiler
49602674d0
Vagrantfile: Install python3 version of afdko.
2021-11-11 18:36:07 +02:00
Arkadiusz Hiler
99a58cf845
Make README more digestible
2021-11-11 18:36:07 +02:00
Arkadiusz Hiler
06c9f221ec
proton: Log the kernel version.
2021-11-11 18:36:07 +02:00
Arkadiusz Hiler
5536e50175
update wine
2021-09-29 16:27:35 +03:00
Arkadiusz Hiler
0254a0fe15
update dxvk to v1.9.2-7-gb63ceeda
2021-09-29 16:27:27 +03:00
Arkadiusz Hiler
1db7f930a9
update vkd3d-proton to v2.4-101-g173b8ece
2021-09-24 20:22:55 +03:00
Arkadiusz Hiler
ed7c5db865
docs: Add Vulkan section to PRIME.md.
2021-08-12 08:54:18 -05:00
Arkadiusz Hiler
b82289bd0d
build: Add support for relabeling container volumes.
2021-08-12 08:53:50 -05:00
Arkadiusz Hiler
6f35d1e8bd
docs: Update PRIME.
...
To reflect the switch to DXVK's DXGI.
2021-06-25 10:42:53 -05:00
Arkadiusz Hiler
5df15e1149
README: Document the VM-less build.
2021-06-17 15:24:39 -05:00
Arkadiusz Hiler
fc18afd71e
configure.sh: Expose --enable-ccache.
...
Until now the option had to be added by hand to the Makefile or
specified each `make` invocation.
2021-06-17 15:24:39 -05:00
Arkadiusz Hiler
c52532efce
configure.sh: Detect rootless container setups.
...
Until now the option had to be added by hand to the Makefile or
specified each `make` invocation.
2021-06-17 15:24:39 -05:00
Arkadiusz Hiler
82ae47758f
configure.sh: Add option to select container engine.
...
Configure will also test the container engine by trying to run the
selected SDK image.
This may make the first configure a bit slow, as it downloads the image,
but after that the SDK will be cached locally.
2021-06-17 15:24:39 -05:00