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