Commit Graph

62 Commits

Author SHA1 Message Date
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
Eric Pouech
81a4743db0 Makefile.in: Bump STEAMRT_IMAGE to get tools built with binutils 2.40.
Note: as described in bug report, this change is necessary to avoid
potential duplicate when searching inside several Proton tree for
an image used in a minidump.

CW-Bug-Id: #22341
2023-09-12 14:55:27 +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
Esme Povirk
37cf4d2086 Update Wine Mono to 8.0.1. 2023-09-12 14:44:08 +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
Rémi Bernon
78fc6d34c6 fonts: Add a Georgia system font based on Liberation Serif.
CW-Bug-Id: #21193
2023-06-05 17:55:10 +03:00
Zhiyi Zhang
03550f8d2a steam_helper: Support forwarding command line options to native steam.
CW-Bug-Id: #22030
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
89e4e160ac proton: Clean up dist/redist rules. 2023-06-05 17:55:10 +03:00
Esme Povirk
0b8c0e97b2 Update Wine Mono to 7.4.1. 2023-03-08 17:35:54 +02:00
Paul Gofman
f7c895c287 steam_helper: Trigger EA Desktop reinstall if link2ea association is missing.
CW-Bug-Id: #21645
2023-03-08 17:35:54 +02:00
Rémi Bernon
c7cb79128e fonts: Only convert simsun.ttc to TrueType.
This partially reverts commit 303299793f.

CW-Bug-Id: #21346
2023-03-08 17:35:54 +02:00
Rémi Bernon
303299793f fonts: Convert simsun.ttc / msyh.ttf / malgun.ttf to TrueType.
CW-Bug-Id: #21346
2023-02-14 16:07:44 +02:00
Giovanni Mascellani
36f8ada2cd fonts: Include in fake Nirmala UI all the codepoints from the original font.
New fonts are from https://github.com/notofonts/noto-fonts.git at
2725c70baa8b0176c7577093ba1fc6179aa79478, in the hinted/ttf folder.
2023-02-14 16:07:44 +02:00
Giovanni Mascellani
b75a61bc1f fonts: Include in fake Microsoft Sans Serif all the codepoints from the original font. 2023-02-14 16:07:44 +02:00
Giovanni Mascellani
3d635bd789 fonts: Include in fake Arial all the codepoints from the original font.
New fonts are from https://github.com/notofonts/noto-fonts.git at
2725c70baa8b0176c7577093ba1fc6179aa79478, in the hinted/ttf folder.
2023-02-14 16:07:44 +02:00
Giovanni Mascellani
a6f3965460 Makefile.in: Fix typo preventing Armenian fonts to be picked up. 2023-02-14 16:07:44 +02:00
Rémi Bernon
a8eeb1c9ac build: Move the MONO_TARBALL_URL variable down. 2023-02-14 16:07:44 +02:00
Giovanni Mascellani
85ed53c1d8 fonts: Provide an alternative fake Arial font.
The fake Arial already distributed with Python is based on Liberation fonts.
It is metrically compatible with the original Arial, but it doesn't support
all its glyphs (specifically, it misses Arabic).

The new one is based on Noto fonts. It support all the Arial glyphs
(I think), but it is not metrically compatible. It is enabled based
on SteamGameId when glyph coverage is considered more important than
metric compatibility.

So far it is enabled for FIFA 21 and FIFA 22.

CW-Bug-Id: #20302
2023-02-14 16:07:44 +02:00
Giovanni Mascellani
4378ee718a fonts: Install Liberation fonts using their fake name.
For homogeneity with the other fake fonts. That's mostly cosmetic.
2023-02-14 16:07:44 +02:00
Giovanni Mascellani
8e9e6da034 fonts: Rewrite font merging script based on fonttools.
The current script based on fontforge seems to have a few problems.
The generated fonts show glitches, for example in Cyberpunk 2077 for
Thai and in FIFA 22 for Arabic.

I don't precisely know what is the problem, and it might be that
the real bug is in the rendering code rather than in the merging
script. But since this seems to work better overall, I'm sticking
with it.

CW-Bug-Id: #20302
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
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
Giovanni Mascellani
84012c12aa Do not use the vkd3d version emebededd in Wine, but rebuild from its submodule. 2023-02-14 16:07:44 +02:00
Giovanni Mascellani
929733036f Revert "Build vkd3d as ELF."
This reverts commit 69d6b82e94.
2023-02-14 16:07:44 +02:00
Rémi Bernon
5e90e8283c build: Use gdb debug infos instead of dwarf-2 strict-dwarf. 2023-02-14 16:07:44 +02:00
Rémi Bernon
559e652a45 build: Download and cache contrib into the build folder only.
Wine Mono / Gecko packages are already cached in a contrib folder,
and downloading them outside of proton source directory is brittle.

This also makes the source sync run twice when using the toplevel
Makefile.
2023-02-14 16:07:44 +02:00
Rémi Bernon
331c90a874 build: Copy files to dist / deploy / install with rsync. 2023-02-14 16:07:44 +02:00
Rémi Bernon
bd1178a5b3 build: Use silent rules for vkd3d. 2023-02-14 16:07:44 +02:00
Rémi Bernon
db3274b1c7 build: Build PE modules with -mcmodel=small.
This breaks MinGW autoimport mechanism but nothing in Proton should be
using it. Instead, any PE module should be using standard dllimport and
ntdll will do the relocations as expected. We also don't and hopefully
never have modules larger than 2GB, so 32-bit %rip relative offsets
should be enough for everything.

This will OTOH save a lot of .refptr indirections, that are otherwise
generated for any extern symbols, even though they are later linked in
the same module, making all code smaller and maybe a little faster.
2023-02-14 16:07:44 +02:00
Arkadiusz Hiler
19f18b660e Makefile.in: Ignore autogenerated winevulkan files. 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
Esme Povirk
f2223c0ba7 Update Wine Mono to 7.4.0. 2023-02-14 16:07:43 +02:00
Connor McAdams
c04edcea36 Update Wine Mono to 7.3.1. 2022-10-14 18:36:09 +03:00
Giovanni Mascellani
69d6b82e94 Build vkd3d as ELF. 2022-10-14 18:21:56 +03:00
Rémi Bernon
4ee7c0c666 glslang: Build from source instead of prebuilt binary. 2022-10-14 18:21:56 +03:00
Rémi Bernon
8f0b458bca
gst-plugins-base: Support GLX backend for GL plugins. 2022-08-23 10:28:19 +02:00
Andrew Eikum
981ca6febe Also ship gst libsoup plugin for network video 2022-08-15 17:47:03 +03:00
Rémi Bernon
f3cc9f0610 gst-base: Enable GL video processing plugins.
CW-Bug-Id: #20363
CW-Bug-Id: #20905
CW-Bug-Id: #20981
2022-08-15 17:47:03 +03:00
Jacek Caban
f3c98217cc gecko: Update version to 2.47.3.
CW-Bug-Id: #20775
2022-08-10 19:29:30 +03:00
Andrew Eikum
0a191c5961 Enable MP3 decoding plugins
Required for games that play MP3 via MF, like "Let's Build a Zoo."

CW-Bug-Id: #20803
2022-06-13 22:22:15 +03:00
Andrew Eikum
112d3635f4 Makefile.in: Fix build with recent meson
It errors out on unknown options.
2022-06-13 22:22:15 +03:00
Esme Povirk
3a7e2f03a7 Update Wine Mono to 7.3.0. 2022-06-03 17:57:43 +03:00
Andrew Eikum
b538b27fdd Ship libgstvpx
For VP8 and VP9 support.

CW-Bug-Id: #20379
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
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
Andrew Eikum
14ffc4d0f7 Use CARGO_HOME on the host
This lets cargo's cache persist across builds, so there are fewer (often
zero) network pulls during the build process.
2022-03-04 13:30:29 +02:00