Commit graph

301 commits

Author SHA1 Message Date
Arkadiusz Hiler
2bf76f6e50 Revert "proton: Sync pfx creation and create a guard file."
This reverts commit 73fbc6890c.

It keeps the prefix version bump so we don't forcefully downgrade people
for no reason.
2023-01-04 20:25:37 +02:00
Arkadiusz Hiler
47e39203c7 Revert "fixup! proton: Sync pfx creation and create a guard file."
This reverts commit 8b45d63375.
2023-01-04 20:23:47 +02:00
Arkadiusz Hiler
8b45d63375 fixup! proton: Sync pfx creation and create a guard file. 2022-12-26 13:15:19 +02:00
Paul Gofman
fde9be256f proton: Enable gamedrive compat option for Creativerse.
CW-Bug-Id: #21729
2022-12-22 12:15:54 -06:00
Arkadiusz Hiler
73fbc6890c proton: Sync pfx creation and create a guard file.
Due to unlucky power off or a crash crash when first starting the game
the prefix can end up in corrupted state with no obvious way of
troubleshooting.

This is an attempt at ensuring that the prefix was created successfully
and force-recreate it if it wasn't.

CW-Bug-Id: #19720
2022-12-19 17:56:34 +01:00
Anna Lasky
5d4e2b616d 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.
2022-12-19 17:56:30 +01:00
Paul Gofman
f0ad741080 proton: Enable gamedrive compat option for As Dusk Fails.
CW-Bug-Id: #21485
2022-12-19 17:56:22 +01:00
Adam Moss
50cc35479e proton: Set enablenvapi for Red Dead 2 / Online.
Link: https://github.com/ValveSoftware/Proton/pull/6227
2022-12-19 17:56:22 +01:00
Arkadiusz Hiler
e927eb06d6 proton: Disable hidenvgpu if nvapi is enabled.
Link: https://github.com/ValveSoftware/Proton/pull/6227
2022-12-19 17:56:22 +01:00
Adam Moss
ddcb61f21f 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)
2022-12-19 17:55:01 +01:00
Andrew Eikum
076825cc5a Handle steampipe quirks in deploy builds 2022-12-19 17:55:01 +01:00
Andrew Eikum
1862999c82 Don't ship filenames with colons in them 2022-12-19 17:55:01 +01:00
Andrew Eikum
cb87b19a31 Don't ship proton dist files in a tarball anymore 2022-12-19 17:55:01 +01:00
Anna Lasky
c5ad95671c proton: Remove LOST EMBER from MFDXGI hack
CW-Bug-Id: #21097
2022-12-16 20:40:44 +01:00
Paul Gofman
fd7c705a69 proton: Enable gamedrive compat option for As Dusk Fails.
CW-Bug-Id: #21485
2022-12-06 19:21:57 +02:00
Simon McVittie
11336323c1 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
2022-12-06 19:21:57 +02:00
Anna Lasky
0dc2944e43 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.
2022-11-23 11:45:47 -06: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