1089 Commits

Author SHA1 Message Date
Zebediah Figura
63bcce34d6 proton: Always check if the prefix config changed.
In particular, make sure that we update builtin dlls for the first process that runs.
experimental-6.3-20210616
2021-06-16 08:23:04 -05:00
Arkadiusz Hiler
cd3384f2af README: Document the VM-less build. 2021-06-16 10:50:08 +03:00
Arkadiusz Hiler
706d829acf 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-16 10:50:07 +03:00
Arkadiusz Hiler
85b7b3be1d 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-16 10:50:06 +03:00
Arkadiusz Hiler
b85e04cabf 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-16 10:50:06 +03:00
Arkadiusz Hiler
684c75deae configure.sh: Look for AFDKO.
Debian-like distributions install AFDKO's executables into libexec and
provide an `afdko` helper to call them.

Python's pip installs the executables in bin.

Let's support both.
2021-06-16 10:50:05 +03:00
Arkadiusz Hiler
963c57a125 configure.sh: Check for host-side tools and warn if something is missing.
The checks don't exit immediately so users won't have to rerun configure
after installing only a single dependency.
2021-06-16 10:50:04 +03:00
Paul Gofman
51997cb398 wineopenxr: Update to 1.0.17 registry version. 2021-06-16 00:13:51 +03:00
Paul Gofman
3661adc773 wineopenxr: Fix spec entries. 2021-06-16 00:13:51 +03:00
Paul Gofman
e9ccf71070 Update OpenXR-SDK submodule. 2021-06-15 21:57:40 +03:00
Rémi Bernon
cd301e43eb
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-15 08:53:56 +02:00
Liam Middlebrook
ae13658e1f proton: Simplify find_nvidia_wine_dll_dir libdl discovery
After testing DLSS+Proton on a different system than I normally use I
discovered that the call to `find_library("dl")` wasn't properly
discovering libdl.so.2

To simplify things here, just remove usage of find_library altogether.

Reviewed-by: Adam Moss <amoss@nvidia.com>
2021-06-14 14:17:46 -05:00
Liam Middlebrook
f7b8a814cb proton: Don't exit early if NVIDIA Wine DLLs cannot be found
Reviewed-by: Adam Moss <amoss@nvidia.com>
2021-06-14 14:17:45 -05:00
Andrew Eikum
8b92fe08ba update wine experimental-6.3-20210610 2021-06-10 12:23:24 -05:00
Andrew Eikum
ebe847d547 update wine experimental-6.3-20210604 2021-06-04 09:18:11 -05:00
Liam Middlebrook
cc7ad4bd13 proton: Improve find_nvidia_wine_dll_dir() handling of missing files
Additionally split out the find_library() logic for discovery of libdl
so that the case of a missing libdl (no matter how unlikely) is caught
before attempting to load an erroneous CDLL.

Fixes: 4881 (Latest Proton Experimental Fails To Open)

Reviewed-by: Adam Moss <amoss@nvidia.com>
experimental-6.3-20210602b
2021-06-02 14:25:21 -07:00
Andrew Eikum
91d99ef236 update vkd3d-proton to v2.3.1-39-gec5b4cce experimental-6.3-20210602-test3 experimental-6.3-20210602 2021-06-02 14:13:10 -05:00
Andrew Eikum
b58cfb4168 update wine 2021-06-02 14:13:10 -05:00
Liam Middlebrook
2dda8e4e47 proton: Copy DLLs provided by the NVIDIA driver into prefix
The upcoming NVIDIA 470 driver series will introduce a DLL (nvngx.dll)
for the support of NVIDIA DLSS in Proton. This change adds logic for
discovering the location of DLL files provided by the NVIDIA driver, and
copies them to C:\Windows\System32\

Reviewed-by: Adam Moss <amoss@nvidia.com>
2021-06-02 14:13:10 -05:00
Liam Middlebrook
0503dde36c dxvk-nvapi: Add to Proton
Add https://github.com/jp7677/dxvk-nvapi as a submodule. dxvk-nvapi will
not be copied into Proton prefixes by default, but instead will be
controlled via the environment variable PROTON_ENABLE_NVAPI. This is
done to avoid any potential adverse effects of the nvapi DLL existing
in cases where an application may require a function that is not
implemented by dxvk-nvapi.

This new functionality can be enabled by setting the following environment
variable to a value of `1`:
    `PROTON_ENABLE_NVAPI`

This functionality is needed in order to support DLSS within Proton.

Reviewed-by: Adam Moss <amoss@nvidia.com>
2021-06-02 14:13:10 -05:00
Andrew Eikum
5a30a04562 proton: Use DXVK's DXGI by default 2021-06-02 13:10:23 -05:00
Andrew Eikum
622beb876e update dxvk to v1.8.1-137-gf4cbc9ae 2021-06-02 13:10:23 -05:00
Andrew Eikum
22c42cd43d Makefile: Don't consider proton-sdk tags for build name 2021-06-02 13:10:23 -05:00
Giovanni Mascellani
c287de9b0f
docker: Install Capstone development files. 2021-05-28 12:12:02 +02:00
Andrew Eikum
c82f15be51
update wine 2021-05-28 12:12:02 +02:00
Andrew Eikum
c16db69537
update dxvk to v1.8.1-84-gc5108006 2021-05-28 12:12:02 +02:00
Rémi Bernon
c913122960
docker: Add python3-pefile package to SDK image. 2021-05-28 12:12:01 +02:00
Rémi Bernon
df0b2ceaf7
docker: Don't install tini, it's already there now. 2021-05-28 12:12:01 +02:00
Rémi Bernon
a60b494afd
docker: Install libxpresent-dev packages. 2021-05-28 12:12:01 +02:00
Rémi Bernon
c214de457c
docker: Bump steamrt version to 0.20210505.0. 2021-05-28 12:12:01 +02:00
Andrew Eikum
383977e6cb
update wine 2021-05-28 12:12:01 +02:00
Andrew Eikum
9cf3679c0e
update dxvk 2021-05-28 12:12:00 +02:00
Andrew Eikum
9e513d238e
update vkd3d-proton to v2.3.1-8-g8734589e 2021-05-28 12:12:00 +02:00
Andrew Eikum
cbb3d2a0a9
Handle steampipe quirks in deploy builds 2021-05-28 12:12:00 +02:00
Andrew Eikum
e7b8fedd00
Don't ship filenames with colons in them 2021-05-28 12:11:59 +02:00
Andrew Eikum
b263b86894
Don't ship proton dist files in a tarball anymore 2021-05-28 12:11:57 +02:00
Rémi Bernon
dc318f58c0
build: Cleanup target directories before building.
And force copy artifacts after.
2021-05-28 12:10:35 +02:00
Rémi Bernon
c0ea64ec95
build: Use jobs to control xargs parallelism. 2021-05-28 11:11:18 +02:00
Rémi Bernon
46e9ab5bf3
build: Make silent builds actually quiet. 2021-05-28 11:11:18 +02:00
Paul Gofman
b70ae9094b
build: Fixup PE section headers.
For FH4.
2021-05-28 11:11:17 +02:00
Rémi Bernon
ccde2554ce
build: Build with Proton SDK 0.20210505.0-2.
But disable XPresent extension for now.
2021-05-28 11:11:11 +02:00
Paul Gofman
be905ab339 wineopenxr: Update to 1.0.15 registry version. 2021-05-27 21:44:39 +03:00
Andrew Eikum
d611ab8a5f proton: Add PROTON_CRASH_REPORT_DIR runtime config
CW-Bug-Id: #18905
2021-05-27 13:43:12 -05:00
Renaud Lepage
139ad89ed3 proton: Assume STEAM_COMPAT_CLIENT_INSTALL_PATH is always set 2021-05-27 13:43:12 -05:00
Paul Gofman
57dc9d7062 lsteamclient: HACK Do not unset SteamAppId for 'Splitgate: Arena Warfare'.
CW-Bug-Id: 18924

To be dropped on the next rebase.
2021-05-27 21:30:27 +03:00
Rémi Bernon
751535d863
build: Restore missing tabulation in Makefile. 2021-05-27 19:13:24 +02:00
Arkadiusz Hiler
d2d52bd68a proton: Open the log file in append mode.
Opening file in append mode sets the offset to the end of the file prior
to each write. This allows user to append tags/notes to the log file
just before interesting events, e.g.:

    local $ ssh ivyl@test
    test  $ echo "!!! FOCUS CHANGE" >> ~/steam-XYZ.log

The log file is deleted just before we open it anyway, so there won't be
any leftover content from previous session.
2021-05-27 18:06:34 +03:00
Arkadiusz Hiler
a0c2cf6cac Use relative paths for wine and dxvk submodules. 2021-05-27 18:06:32 +03:00
Arkadiusz Hiler
bbf68812bc build: Add option to use rootless containers. 2021-05-27 18:06:31 +03:00
Rémi Bernon
0e897ff8b7
build: Move protonsdk_version default value to configure.sh. 2021-05-27 16:59:02 +02:00