Commit graph

196 commits

Author SHA1 Message Date
Andrew Eikum
aa48d40386 FAudio: Support gstreamer 2020-09-29 14:29:05 -05:00
Andrew Eikum
7d444028c3 update wine to 5.13 2020-09-29 14:29:05 -05:00
Andrew Eikum
c1d65705bb only build widl once 2020-09-17 10:41:18 -05:00
Andrew Eikum
fbd6881619 remove glib from build 2020-09-17 10:41:18 -05:00
Andrew Eikum
e9a48c2844 build against the Soldier SDK 2020-09-17 10:41:16 -05:00
Andrew Eikum
1c26086688 Fix up vkd3d-proton build 2020-07-15 10:31:53 -05:00
Hans-Kristian Arntzen
dd7130d113 Build standalone vkd3d d3d12.dll. 2020-07-15 10:31:53 -05:00
GloriousEggroll
b6b52d19f1 build: Build gstreamer with orc. 2020-06-02 08:46:19 -05:00
Zhiyi Zhang
60b53f915d build: Use MAKE variable for building modules.
So that options like -j can be passed through.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2020-03-23 08:19:09 -05:00
Andrew Eikum
0a77ffde26 vrclient: import jsoncpp 2020-03-19 14:48:52 -05:00
Andrew Eikum
5f22772332 build: Build deinterlace gstreamer filter 2020-03-09 10:03:54 -05:00
Andrew Eikum
349df9c436 steam_helper: Set up VR paths in steam.exe, not proton
This speeds up game launch times.
2020-03-09 10:03:54 -05:00
Andrew Eikum
a4b8a51d4a steam_helper: Don't use msvcrt
We need access to linux crt functions (like getenv()), so disallow use
of msvcrt. Notably, linux crt wchar functions are _not_ compatible with
Windows WCHAR strings.
2020-03-05 10:03:11 -06:00
Rémi Bernon
c6cead45dc lsteamclient: Reallocate new interface only when linux_side changes.
This fixes Batman: AK's Denuvo DRM incorrectly flagging the game as
pirated.
2020-02-24 09:33:55 -06:00
Andrew Eikum
bca0a720cd build: Build and ship glib, gstreamer, gst-plugins-base, and gst-plugins-good 2020-02-07 06:45:08 -06:00
Andrew Eikum
d439e35f62 build: Use a shared wine-gecko installation 2020-02-03 09:54:07 -06:00
Andrew Eikum
45e3edf3ef update wine to 5.0 2020-02-03 09:54:07 -06:00
Andrew Eikum
113770b5f4 update licenses 2020-01-10 08:35:33 -06:00
Andrew Eikum
1bfc03a2c5 steamclient: generate 1.47 support 2020-01-10 07:49:46 -06:00
Andrew Eikum
f7f6f6b4db build: Use new dxvk_config library instead of importing into wined3d 2020-01-10 07:49:13 -06:00
Andrew Eikum
17ae1c4447 Revert "build: Build c++ files with -fno-gnu-unique"
This reverts commit bd8efaa9a6.
2019-12-18 09:39:02 -06:00
Andrew Eikum
9e542fada6 build: Ship d9vk from dxvk 2019-12-18 08:40:45 -06:00
Andrew Eikum
b6462471bf Revert "build: Pass bison in PATH" 2019-11-26 14:12:28 -06:00
Zhiyi Zhang
aee1b47925 build: Move environment variables to the end of configure script.
"ENV=VAR ./configure" is different from "./configure ENV=VAR".
The latter caches command line variables in config.status.
So "config.status --recheck" succeeds executing configure script
Otherwise, "config.status --recheck" often fails when only source
is updated because some variables are not cached. Examples include
being not able to find bison or vkd3d.h when they are obviously present,
which are because of missing BISON and VKD3D_CFLAGS variables.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2019-11-26 14:07:01 -06:00
Zhiyi Zhang
c448cd61ce build: Remove unused variables.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2019-11-26 14:07:01 -06:00
Andrew Eikum
bd8efaa9a6 build: Build c++ files with -fno-gnu-unique
Wine requires dlclose() to be functional, and g++ breaks it by default.
This manifested as wined3d failing to load a 2nd time after being
unloaded.
2019-11-07 13:36:27 -06:00
Andrew Eikum
faf2b8271a build: Pass bison in PATH
When Wine re-runs configure (e.g. during bisect with an existing build
tree), it won't remember the previous BISON variable.
2019-11-07 13:36:27 -06:00
Andrew Eikum
2c896e5f4f build: Build vkd3d with NDEBUG and strip it 2019-11-07 13:36:27 -06:00
Andrew Eikum
c87e94540c update wine-mono to 4.9.4 2019-11-07 13:36:27 -06:00
Andrew Eikum
5dca355718 build and ship vkd3d for d3d12 support
SPIRV-Headers at 1.5.1
Vulkan-Headers at v1.1.126
2019-11-07 13:36:27 -06:00
Andrew Eikum
05173d8a2d build: Pass in CXXFLAGS for building DXVK code in Wine 2019-10-22 09:13:21 -05:00
Andrew Eikum
e30bd8ea88 build: Add a new "redist" target for distribution outside of Steam 2019-10-18 11:20:47 -05:00
Andrew Eikum
24300e3f27 Don't compress dist tarball
This lets us take advantage of Steam delta updates.
2019-10-18 09:56:47 -05:00
Andrew Eikum
31fe51430a build: Add UNSTRIPPED_BUILD option to avoid stripping binaries 2019-10-18 09:52:24 -05:00
Andrew Eikum
90563ed984 update wine-mono to 4.9.3 2019-10-08 15:21:18 -05:00
Andrew Eikum
da43c48f3d Build Source Han Sans SC Regular as if it were YaHei 2019-08-23 09:57:46 -05:00
Andrew Eikum
d73b927e2d steam_helper: Run console apps with a new console
This should allow Wine to show a wineconsole dialog for games which make
use of it. Suggested by Vincent.
2019-08-12 13:19:52 -05:00
Andrew Eikum
cfb2d906c8 update wine 2019-08-06 14:40:24 -05:00
Andrew Eikum
02ce41610d makefile: Update steam runtime docker init path
The Steam runtime image was updated, and /dev/init no longer exists. It
is now at /sbin/docker-init. Unfortunately this change will break
existing runtime installations. You'll need to update your runtime.
Easiest way is to just recreate the Vagrant VM.
2019-07-23 08:08:02 -05:00
Andrew Eikum
030bdcd224 Simplify DXVK build 2019-07-03 08:11:05 -05:00
Andrew Eikum
d68e71bed6 Build wine with dxvk cross-compiler
WARNING: Do not look directly into the build system without eye
protection.
2019-07-03 08:11:05 -05:00
Andrew Eikum
ab453aaf11 steam_helper: Fix building against Wine 4.11 2019-07-03 08:11:05 -05:00
Andrew Eikum
bf237229b6 makefile: Add downloads target to download packages only once 2019-07-03 08:11:05 -05:00
GloriousEggroll
d7819c7bc5 add bison to proton build 2019-07-03 08:11:05 -05:00
Andrew Eikum
f52ecfc6a7 build and ship d9vk 2019-07-01 13:14:04 -05:00
Andrew Eikum
ca60bf429d update to wine-mono 4.9.0 2019-06-18 13:00:19 -05:00
Andrew Eikum
5c5bfcc81e Build dxvk with a special cross-compiler
This mingw-w64 build is a more recent compiler and has dwarf2 exceptions
enabled.
2019-06-06 11:41:28 -05:00
Andrew Eikum
e2c0c75b1b makefile: Fix local install on sshfs 2019-05-14 13:19:38 -05:00
Andrew Eikum
c5e49b5330 makefile: Bump submake jobs 2019-05-07 14:32:02 -05:00
Zhiyi Zhang
5cfc6ea994 makefile: Move generated files into build directory.
This way, we can run make again without rerunning configure.sh
after a clean rsync, which should save several minutes for every build.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2019-04-23 23:17:09 +08:00
Andrew Eikum
78f7eb4c61 update to wine-mono 4.8.2 2019-04-15 10:39:05 -05:00
Andrew Eikum
f45739c327 makefile: Download and install wine-mono 2019-04-15 08:22:21 -05:00
Andrew Eikum
898a4c5d77 makefile: Don't dereference library file symlinks 2019-03-28 08:03:03 -05:00
Jacek Caban
70822d8046 Add steam.exe winelib application that setups environment and launches the game.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2019-03-08 10:22:36 -06:00
Andrew Eikum
929302f43d Revert "makefile: Include and build Wine with gnutls26 headers"
This reverts commit 55b80e0c68.
2019-02-18 14:28:07 -06:00
Andrew Eikum
8f7f909dd4 Makefile: Add module target for building single modules 2019-02-14 08:32:39 -06:00
Andrew Eikum
0ecb100046 Run Wine in the steam runtime 2019-02-14 08:32:38 -06:00
Andrew Eikum
2e9e59bf59 makefile: Add dependencies to dist target 2019-02-13 10:16:38 -06:00
Andrew Eikum
cb93dcdd7d makefile: Always update version file in dist target 2019-01-15 09:07:06 -06:00
Andrew Eikum
9cb38b1754 makefile: Update copy files targets as needed 2019-01-02 08:13:49 -06:00
Andrew Eikum
971cdf9a42 makefile: Put proton version into version file, too 2019-01-02 08:13:49 -06:00
Andrew Eikum
a39930ee3d makefile: Don't build openal
This isn't needed anymore with FAudio.
2018-12-20 13:33:41 -06:00
Andrew Eikum
55b80e0c68 makefile: Include and build Wine with gnutls26 headers 2018-12-20 10:53:32 -06:00
Andrew Eikum
d4a0af47a9 update FAudio 2018-12-10 14:51:00 -06:00
Andrew Eikum
11a7c7a695 Work around old mingw-w64
Debian 9's package is missing dxgi1_4, which dxvk needs.
2018-11-30 08:52:48 -06:00
Andrew Eikum
7fa382e9c8 build faudio with cmake 2018-11-30 08:52:48 -06:00
Andrew Eikum
ffaa0b5f8a Use FAudio for xaudio2 2018-11-19 14:33:03 -06:00
Huw Davies
e47e856563 makefile: Set SHELL to bash.
The makefile contains several bash-isms so set the SHELL variable to bash.
This fixes build errors on platforms where /bin/sh does not support bash extensions.

Signed-off-by: Huw Davies <huw@codeweavers.com>
2018-11-16 12:41:26 -06:00
Vincent Povirk
99f9e48f19 Add vagrant script for build vm. 2018-11-05 10:17:00 -06:00
Andrew Eikum
dca026aff1 lsteamclient: build fixes 2018-10-31 07:48:34 -05:00
Andrew Eikum
50536bd4ea makefile: dxvk configure should also depend on meson build file 2018-10-31 07:48:34 -05:00
Andrew Eikum
5a8c43c938 makefile: meson 0.47 doesn't have --reconfigure 2018-10-31 07:48:33 -05:00
Andrew Eikum
28f57bd699 makefile: Add font legalese 2018-10-31 07:48:33 -05:00
Nikolay Sivov
17e50d67ab Build replacement fonts 2018-10-31 07:48:33 -05:00
Steven Noonan
b660215c49 makefile_base: add some compiler sanity flags
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2018-10-18 07:47:38 -07:00
Steven Noonan
7b257524a4 makefile_base: use -march=nocona instead of individual -m$isa flags
Also use instruction scheduling model for Haswell if available.

Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2018-10-17 19:17:26 -07:00
John Schoenick
8ee0eea90c build/makefile_base.mak: Fix dxvk error when reconfiguring
If the makefile changes, dxvk tries to reconfigure (since the passed
args may be different), but meson only allows that with --reconfigure

Also fixes 'make dxvk_configure' multiple times
2018-10-17 16:58:05 -07:00
John Schoenick
78d2210b1f build/makefile_base.mak: Print a message during deploy step
Largely for my testing that 'make all deploy' was doing things right,
but mildly helpful and matches install step.
2018-10-17 16:58:05 -07:00
John Schoenick
4adf44a16f build/makefile_base.mak: Ensure the install/dist steps run last
Such that 'make all deploy' or 'make all deploy install' work as
expected

Deploy/install don't imply all however - if iterating you may wish to
do e.g. 'make dxvk deploy' without waiting for a no-op wine build.

Ideally we'd track OUT files for everything, however, so a 'make
deploy' could at least build missing targets, if not dirty them.

The dist target would seem to need this treatment at first glance, but
it is actually doing prepare steps that only depend on wine being
ready
2018-10-17 16:58:05 -07:00
John Schoenick
c3053292b5 build/makefile_base.mak: Add some missing dist subdirectories
Fixes some races in parallel builds

These could all be listed in OBJ_DIRS above, but for specific nested
subdirectories having a mkdir -pv there is less error prone, if
verbose.
2018-10-17 16:58:05 -07:00
John Schoenick
b431ee2bab build/makefile_base.mak: Fix parallel lsteamclient builds
Use silly symlink-dir workaround since winemaker's directory/project
behavior is pretty fragile
2018-10-17 16:58:05 -07:00
Andrew Eikum
56b174af54 makefile: Enable sse optimizations 2018-10-17 14:23:15 -05:00
Andrew Eikum
22e0e3f0ab makefile: Configure DXVK in release mode directly 2018-10-17 14:23:15 -05:00
Steven Noonan
dff8cce67b
makefile_base: allow using "make -jN"
We didn't prefix any of our submake $(MAKE) invocations with +, so the
jobserver couldn't be used.

This also (so far?) seems to fix some problems I had with "make -j16"
(or anything higher than -j4) breaking due to some vrclient/steamclient
linkage problems.

Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2018-10-17 11:48:02 -07:00
Andrew Eikum
c8d12e78a7 Merge branch 'proton_3.16-next' into proton_3.16 2018-10-16 10:56:07 -05:00
Andrew Eikum
e5f38f9f4c proton: Use DXVK for d3d10 as well. 2018-10-16 09:44:32 -05:00
Andrew Eikum
cc3e4210cd Revert "build dxvk as native .so"
This reverts commits aef98f1e7d and f85b734f66.

The Steam Runtime is too old to build DXVK, so we have to continue
building it as a Windows DLL.
2018-10-16 07:50:33 -05:00
Steven Noonan
7bfeb7f94d
fix namespace collision for multiple proton installs
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2018-10-13 00:27:52 -07:00
Steven Noonan
b3ecf24bc3
makefile_base: ensure version gets copied into DST_BASE
The main "proton" script tries to compare the version file in DST_BASE
with the one in DST_DIR, but the one in DST_BASE was missing, causing it
to fail to run anything.

Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2018-10-12 23:43:35 -07:00
Andrew Eikum
eda71eee45 makefile: Disable ccache for now
Doesn't play well with multiple Docker containers with the same temp
dirs. Maybe fixed in a new ccache or we can work around with
CCACHE_TEMPDIR.
2018-10-12 08:44:37 -05:00
Andrew Eikum
64f4d42c77 proton: Track prefix files and remove them on a major proton version change
This is to allow downgrading prefixes, for example if a user switches
from 3.16 to 3.7.
2018-10-12 08:30:19 -05:00
Andrew Eikum
1a7bd25370 Add Gecko support 2018-10-11 08:32:54 -05:00
Andrew Eikum
d43119bf8d add deploy target
Packages files for redistribution, though steamworks or otherwise. Does
not include the compatibilitytool.vdf file, which should be distributed
separately.
2018-10-11 08:32:54 -05:00
Andrew Eikum
aef98f1e7d build dxvk as native .so 2018-10-11 08:32:14 -05:00
Andrew Eikum
a2557b0b05 Don't require sudo during build
If we really want this, we could detect it in configure or something.
But it was already pretty ugly, so let's ask users to belong to the
docker group.
2018-10-11 08:31:52 -05:00
John Schoenick
1be8592535 makefile_base.mak: Implement makefile-based build system 2018-10-11 08:31:51 -05:00