Commit graph

384 commits

Author SHA1 Message Date
Joshua Ashton
8d989fdd46 proton: Enable dxvknvapi for Resident Evil 7 Biohazard (418370)
Needed for HDR support.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2023-12-12 17:37:45 +02:00
Joshua Ashton
4eb7119320 proton: Enable amdags for Resident Evil 7 Biohazard (418370)
Needed for HDR support.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2023-12-12 17:37:45 +02:00
Joshua Ashton
c50718c777 proton: Enable dxvknvapi for Resident Evil Village (1196590)
Needed for HDR support.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2023-12-12 17:37:45 +02:00
Joshua Ashton
8473c3c7fa proton: Enable amdags for Resident Evil Village (1196590)
Needed for HDR support.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2023-12-12 17:37:45 +02:00
Joshua Ashton
640d0b3e1b proton: Enable dxvknvapi for Resident Evil 3 (952060)
Needed for HDR support.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2023-12-12 17:37:45 +02:00
Joshua Ashton
bd4d03123a proton: Enable amdags for Resident Evil 3 (952060)
Needed for HDR support.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2023-12-12 17:37:45 +02:00
Joshua Ashton
cedc2aefff proton: Enable dxvknvapi for Resident Evil 2 (883710)
Needed for HDR functionality.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2023-12-12 17:37:45 +02:00
Joshua Ashton
bfbc9b358d proton: Enable amdags for Resident Evil 2 (883710)
Needed for HDR functionality.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2023-12-12 17:37:45 +02:00
Paul Gofman
c6d562b388 proton: Fix noforcelgadd option.
Code in Wine still enables the hack when WINE_LARGE_ADDRESS_AWARE is
missing, need to set it to non-'1' to really disable.

CW-Bug-Id: #22930
2023-12-07 13:43:40 +02:00
Paul Gofman
52667847c4 proton: Enable WINE_HEAP_DELAY_FREE for Trivia Tricks.
CW-Bug-Id: #22774
2023-12-07 13:43:40 +02:00
Adam Moss
d0423e5d84 Enable DXVK-NVAPI by default on another batch of titles where it's stable+beneficial 2023-09-12 14:55:31 +03:00
Adam Moss
48670ca952 Enable DXVK-NVAPI by default on more titles where it's stable+beneficial 2023-09-12 14:55:31 +03:00
Paul Gofman
4f252eaf21 proton: Enable gamedrive compat option for Sword Art Online: Integral Factor.
CW-Bug-Id: #22667
2023-09-12 14:44:08 +03:00
Paul Gofman
231e7f24d8 proton: Enable gamedrive compat option for Empyrion - Galactic Survival.
CW-Bug-Id: #22667
2023-09-12 14:44:08 +03:00
Paul Gofman
7da8928dd9 proton: Add enableamdags compat config option.
And enable it for a few games instead of registry overrides.

CW-Bug-Id: #22677
2023-09-12 14:44:08 +03:00
Paul Gofman
eaae654042 Enable DXVK-NVAPI for Rainbow Six Extraction. 2023-09-12 14:44:08 +03:00
Rémi Bernon
c53ff7a082 proton: Add dx8vb to the native redist DLLs list.
CW-Bug-Id: #22530
2023-09-12 14:44:08 +03:00
Anna Lasky
9b3457c857 proton: Enable gamedrive compat option for Garry's Mod.
CW-Bug-Id: #22421
2023-09-12 14:44:08 +03:00
Anna Lasky
2ac09e541e proton: Enable gamedrive compat option for Aura: Fate of the Ages.
CW-Bug-Id: #22421
2023-09-12 14:44:08 +03:00
Zhiyi Zhang
343ccf211d proton: Enable WINE_HEAP_DELAY_FREE for Dark Parables: The Exiled Prince Collector's Edition (499100).
CW-Bug-Id: #22397
2023-09-12 14:44:08 +03:00
Anna Lasky
06156dfe25 proton: Enable gamedrive compat option for Train Simulator and DARK
SOULS III.

CW-Bug-Id: #22421
2023-09-12 14:44:08 +03:00
Arkadiusz Hiler
55a3d3f165 proton: Bump prefix version. 2023-06-06 12:05:09 +03:00
Arkadiusz Hiler
cdd54b2a25 proton: Log effective WINEDEBUG and WINEDLLOVERRIDES. 2023-06-06 12:05:09 +03:00
Adam Moss
c444e6fea4 Enable dxvk-nvapi by default for more games.
Link: https://github.com/ValveSoftware/Proton/pull/6725
2023-06-06 12:05:09 +03:00
notpentadactyl
4e483d01d8 proton: Enable dxvknvapi for Monster Hunter Rise.
Monster Hunter Rise (1446780) has working DLSS with `PROTON_ENABLE_NVAPI=1`.

Link: https://github.com/ValveSoftware/Proton/pull/6534
2023-06-06 12:05:09 +03:00
Paul Gofman
3f57a0b71b proton: Disable fsync and esync for Call of Duty 2.
CW-Bug-Id: #22305
2023-06-05 17:55:10 +03:00
Paul Gofman
2e0a609437 proton: Enable gamedrive compat option for ESO.
CW-Bug-Id: #22240
2023-06-05 17:55:10 +03:00
Paul Gofman
40103342d5 proton: Set enablenvapi for SoPFFO.
CW-Bug-Id: #22117
2023-06-05 17:55:10 +03:00
Anna Lasky
6d2bcbb559 proton: Add Roboquest to MFDXGI hack and clean up shared resources games
Removed shared resources games that previously needed MFDXGI hack because shared resources are implemented in 8.0-stable.

CW-Bug-ID: #22265
2023-06-05 17:55:10 +03:00
Paul Gofman
f0064b6799 proton: Add threadname to default logs. 2023-06-05 17:55:10 +03:00
Arkadiusz Hiler
7bd855e054 proton: Make log creation depend only on PROTON_LOG.
There are valid cases, e.g. when debugging Wine Mono, to have WINEDEBUG
set to -all. Before this change this would disable the logging even if
PROTON_LOG=1.
2023-06-05 17:55:10 +03:00
Zhiyi Zhang
33b0da5fb1 proton: Do use builtin steam.exe for Locoland.
Locoland(352130) executable name happens to be steam.exe.

CW-Bug-Id: #21737
2023-06-05 17:55:10 +03:00
Arkadiusz Hiler
e82bed8475 proton: Remove stale ir50_32.dll that can be left by experimental.
When switching back to 8.0 from Experimental it will point to a .dll in
the Experimental install directory. It's incompatible with 8.0 due to
experimental-only winegstreamer changes and causes delayed symbol
imports to fail.

CW-Bug-Id: #22205
2023-04-28 12:19:30 +03:00
Arkadiusz Hiler
5ac739906d proton: Optionally copy d3d12core for vkd3d-proton.
In anticipation of a pull-request being merged that moves things around
and introduces d3d12core.dll.

This should be made non-optional once the vkd3d-proton changes land.

Link: https://github.com/HansKristian-Work/vkd3d-proton/pull/1458
2023-04-27 17:51:45 +03:00
Andrew Eikum
576a839c18 Don't ship filenames with colons in them
CW-Bug-Id: #22054
2023-04-18 17:04:27 +03:00
Adam Moss
e171c46460 proton: Set enablenvapi for Red Dead 2 / Online.
Link: https://github.com/ValveSoftware/Proton/pull/6227
2023-03-08 17:35:54 +02:00
Arkadiusz Hiler
e34482a580 proton: Disable hidenvgpu if nvapi is enabled.
Link: https://github.com/ValveSoftware/Proton/pull/6227
2023-03-08 17:35:54 +02:00
Adam Moss
6b4dce48bc proton: Enable dxvknvapi on a bunch of (DLSS) titles.
Link: https://github.com/ValveSoftware/Proton/pull/6120
Link: https://github.com/ValveSoftware/Proton/pull/6227

(squashed a bunch of commits)
2023-03-08 17:35:54 +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
77fd6c3b2d proton: Install all available fonts to the prefix.
This requires commit "loader: Install all fonts provided by Proton in the
registry." in Wine, otherwise font support will be broken.
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
Rémi Bernon
08a5f1cd56 proton: Trace language related environment variables.
CW-Bug-Id: #21346
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
Arkadiusz Hiler
1489a6a8d5 proton: Bump prefix version. 2023-02-14 16:07:43 +02:00
Paul Gofman
89a2dac0b2 proton: Enable gamedrive compat option for Creativerse.
CW-Bug-Id: #21729
2023-02-14 16:07:43 +02:00
Paul Gofman
f693c48a4c proton: Enable gamedrive compat option for As Dusk Fails.
CW-Bug-Id: #21485
2023-02-14 16:07:43 +02:00
Simon McVittie
4db08dc766 proton: Don't crash if sys.stderr is not usable
If a Steam user runs Steam from a terminal, puts it in the background
and then exits from that terminal, or if they restart their desktop
session from a terminal (as in ValveSoftware/Proton#6277) and then exit
from that terminal, then we can inherit a stdout and/or stderr file
descriptor pointing to an invalid file descriptor. Writing to such a
file descriptor fails with EIO. Similarly, we could get write errors
as a result of OS state, such as ENOSPC if we are writing to a disk
that is full, or EPIPE if a stream to a logging framework such as the
systemd journal has been shut down.

In sufficiently pathological situations, the file descriptor could even
become invalid while the `proton` script is running, so even checking
for validity on startup would not be enough to prevent this.

The ability to log to stderr is important but not functionally critical,
and it's not like there is anything we can usefully do about a write
failure here (or even anywhere we can usefully put a warning message),
so just ignore write errors. This is similar to the behaviour of the
`logging` framework in the Python standard library (which writes to
`stderr` if a user-defined handler fails, but takes no other action)
and also similar to the approach taken to solve
ValveSoftware/steam-for-linux#8069.

Signed-off-by: Simon McVittie <smcv@collabora.com>
Link: https://github.com/ValveSoftware/Proton/pull/6341
2023-02-14 16:07:43 +02:00
Anna Lasky
dd32534265 proton: Remove games that need shared resources from MFDXGI hack
This comments out all of the games that do not need the MFDXGI hack on
the experimental branch because the experimental branch has support for
shared resources.
2023-02-14 16:07:43 +02:00
Anna Lasky
f9b51bc244 proton: Remove LOST EMBER from MFDXGI hack
CW-Bug-ID: #21097
2023-02-14 16:07:43 +02:00
Anna Lasky
5328d61f5a proton: Reorganize games in MFDXGI hack and add missing titles
This separates out the games that only need shared resources in order to
play video correctly without the MFDXGI hack.  El Hijo (853050) and
Labyrinth City: Pierre the Maze Detective (1421790) were also added.
2023-02-14 16:07:43 +02:00
Giovanni Mascellani
9ae252db4f Ensure vkd3d-proton is used for D3D12 unless wined3d is explicitly requested. 2022-10-14 18:21:56 +03:00
Paul Gofman
be25891a0c proton: Enable WINE_HEAP_DELAY_FREE for Call of Duty: Black Ops II Zombies and Multiplayer.
CW-Bug-Id: #21106
2022-10-14 18:21:56 +03:00
Paul Gofman
8d2e85be8c proton: Disable forced LAA for Sword and Fairy 4.
CW-Bug-Id: #21180
2022-10-14 18:21:56 +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
Paul Gofman
7e27da4bc2 proton: Add Warframe to OPWR disablement list.
CW-Bug-Id: #20944

The game's launcher starts hitting unimplemented d3dcompiler
bits with OPWR supported.
2022-08-10 19:29:30 +03:00
Paul Gofman
7d4ca96ae1 proton: Add WINE_DISABLE_VULKAN_OPWR hack appid list.
CW-Bug-Id: #20680
2022-08-10 19:29:30 +03:00
Paul Gofman
242d655a0f proton: Add dotnetfx35setup.exe builtin override.
CW-Bug-Id: #20733
2022-08-10 19:29:30 +03:00
Simon McVittie
79c9b6a15d proton: Allow forwarding commands into the Proton environment
Recent versions of the Steam Runtime include an IPC server/client pair
which can be used to run commands inside the container environment
(or any other special execution environment), analogous to sshd/ssh or
flatpak-portal/flatpak-spawn. The server runs inside the Steam Runtime
container and accepts commands over D-Bus; the client runs on the host
system, asks the server to run a command, and forwards its stdin, stdout
and stderr back to the host.

https://gitlab.steamos.cloud/steamrt/steamlinuxruntime/-/merge_requests/72
adds support for injecting commands into the SteamLinuxRuntime_soldier
compatibility tool (and any later version, such as sniper). However,
Steam compatibility tools are stackable: in particular, Proton runs in a
soldier container (or presumably sniper in future). If we are debugging
a Proton game, then ideally we will want to inject commands into Proton's
execution environment rather than soldier's, so that they run with the
correct environment variables etc. to communicate with a running Proton
session. In particular, it's important that the `WINEPREFIX` is correct.

The steam-runtime-launcher-interface-0 program implements the
interface for compatibility tools to use to decide where, if anywhere,
to launch the command server.

This commit does not alter the scripts produced by
PROTON_DUMP_DEBUG_COMMANDS. To run those scripts' commands in the
container environment, pass their filenames to
steam-runtime-launch-client.

Signed-off-by: Simon McVittie <smcv@collabora.com>
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
Newbyte
7785b9ab78 proton: Add Terra Nil Demo to MFDXGI hack.
CW-Bug-Id: #19126
Link: https://github.com/ValveSoftware/Proton/pull/5907

Works around main menu background video being corrupted.
2022-08-10 19:29:30 +03:00
Paul Gofman
b1852d2e67 proton: Add Lost Ember to MFDXGI hack.
CW-Bug-Id: #21097
2022-08-10 19:29:30 +03:00
Anna Lasky
6a1714a0d7 proton: Remove games from MFDXGI hack
This removes games that we believe are fixed by the initial improved
implementation of the mfdxgidevicemanager - specifically games with
graphical distortion during video playback.

CW-Bug-ID: #19126
2022-08-10 19:23:14 +03:00
Bitwolf
0ba9319113 proton: Add POSTAL: Brain Damaged to MFDXGI hack
CW-Bug-Id: #19126
Link: https://github.com/ValveSoftware/Proton/pull/5899
2022-08-03 14:24:42 +03:00
Esme Povirk
d141d538bc proton: Make reflinks for file copies when possible.
CW-Bug-Id: #18633
2022-08-03 14:24:34 +03:00
Anna Lasky
ff7bfc5595 Add Dread X Collection: The Hunt to MFDXGI hack
CW-Bug-Id: #19126
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
Paul Gofman
673e1ae43d proton: Add V Rising 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
Anna Lasky
ced280e888 Add Ember Knights to IMFDXGIDeviceManager hack
CW-Bug-Id: #19126
2022-06-03 17:57:43 +03:00
Anna Lasky
8909720216 Add El Hijo - A Wild West Tale to MFDXGI manager hack
CW-Bug-ID: #19126
2022-06-03 17:57:43 +03:00
Anna Lasky
d7452b523f Add EZ2ON REBOOT : R to MFDXGI manager hack
CW-Bug-ID: #19126
2022-06-03 17:57:43 +03:00
Paul Gofman
a216f5baa0 Add POSTAL4: No Regerts to MFDXGI manager hack.
CW-Bug-Id: #20611
2022-06-03 17:57:29 +03:00
Andrew Eikum
94772426ac Add Disintegration to MFDXGI manager hack
CW-Bug-Id: #20592
2022-06-03 14:26:11 +03:00
Georg Lehmann
7e7f6155d3 Set VKD3D_SHADER_DEBUG=none by default.
Link: https://github.com/ValveSoftware/Proton/pull/5326
2022-06-03 14:26:11 +03:00
Anna Lasky
44e38af171 Add Monster Train to IMFDXGIDeviceManager hack
CW-Bug-Id: #19126
2022-04-21 13:02:27 +03:00
Anna Lasky
34b55deb55 Add 3 more titles to IMFDXGIDeviceManager hack
Titles added: Hardspace: Shipbreaker (1161580), Nine Sols Demo
(1809540), Car Mechanic Simulator 2021 (1190000)

CW-Bug-Id: #19126
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
Liam Middlebrook
aa33dd9cb8 proton: Set DXVK_ENABLE_NVAPI envvar when NvAPI is enabled
See: https://github.com/doitsujin/dxvk/pull/2544

Link: https://github.com/ValveSoftware/Proton/pull/5687
2022-04-05 18:13:11 +03:00
Paul Gofman
a4824da779 proton: Optionally setup T: drive for native Steam directory.
CW-Bug-Id: #20285
2022-04-05 18:13:11 +03:00
Andrew Eikum
addf6dc5b6 proton: Remove the FFXIV launcher workaround
CW-Bug-Id: #20242
2022-04-05 18:13:11 +03:00
Anna Lasky
f0876fb99c Add DJMAX RESPECT V to IMFDXGIDeviceManager hack
CW-Bug-Id: #19126
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
Andrew Eikum
7b49d43020 Add Gloomhaven to IMFDXGIDeviceManager hack
CW-Bug-Id: #19126
2022-04-05 18:13:11 +03:00
Andrew Eikum
023a715241 Add Rust to IMFDXGIDeviceManager hack
CW-Bug-Id: #19126
2022-04-05 18:13:11 +03:00
Andrew Eikum
0bbc7e480a Add Cook-Out to IMFDXGIDeviceManager hack
CW-Bug-Id: #19126
2022-04-05 18:03:47 +03:00
Andrew Eikum
99c07e4dae Add Haven to IMFDXGIDeviceManager hack
CW-Bug-Id: #19126
2022-04-05 18:03:47 +03:00
Andrew Eikum
473ce8c81d Add Rustler to IMFDXGIDeviceManager hack 2022-03-01 12:32:14 -06:00
Andrew Eikum
c5b505393a proton: Move mfplat MFDXGIDeviceManager hack appid list to proton script 2022-02-25 13:52:40 +02:00
Andrew Eikum
ccb2397f4c proton: Force append_forever to be a named argument
And remove redundant default parameter value.
2022-02-25 13:52:40 +02:00
Andrew Eikum
32fe36d9b2 proton: Extend PROTON_LOG to support adding extra WINEDEBUG channels 2022-02-25 13:52:40 +02:00
Andrew Eikum
17683bff97 proton: Better handle broken symlinks 2022-02-25 13:52:40 +02:00
Andrew Eikum
90a11aca8e proton: Add file_exists helper function
To make desired handling of symlinks more clear at the callsite.
2022-02-25 13:52:40 +02:00
Andrew Eikum
0623da2af4 proton: Add noesync,nofsync for PixelJunk Eden 2022-02-11 17:39:00 +02:00
Andrew Eikum
25a58123a1 proton: Add noesync,nofsync for Apex Legends 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
Rémi Bernon
b203ba6bdd proton: Run steam from its Program Files (x86) location.
For CoD: Black Ops 3.

CW-Bug-Id: #19362
2022-01-24 22:53:20 +02:00
Derek Lesho
bcccab62e0 proton: Look for libraries in Steam Client path.
This is used to pick up Valve's build of ffmpeg, which includes proprietary decoders.

Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
2022-01-24 22:53:20 +02:00