ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.87k stars 1.04k forks source link

Pickup Basketball VR (appid 1475200) #4969

Open Patola opened 3 years ago

Patola commented 3 years ago

Compatibility Report

System Information

I confirm:

Symptoms

This game suffered a regression. Previously, it would work out of the box with Proton. By running it and reading steam-1475200.log, we saw that it needed api-ms-win-core-console-l1-2-0.dll. @EsdrasTarsis obtained the stubfile offering the functions for this DLL from a wine commit from Piotr Caban and recompiled in a build that I tested, but then another error appeared for library api-ms-win-core-kernel32-legacy-l1-1-5.dll. He also made a second build and the missing library this time would be api-ms-win-core-console-l3-2-0.dll. This one, however, is undocumented, so he had to go through some hoops and jumps to get the functions it provided, but he also made a third stub and a third build, which then worked.

This bug report thus will provide the solution to this problem. @EsdrasTarsis will upload his patch.

Reproduction

Try and start the game with regular Proton 6.3-5 or Proton Experimental. It won't start.

No steam log on this case because the issue already has a solution.

kisak-valve commented 3 years ago

Hello @Patola, can you clarify if you think the regression was introduced by a game update or a Proton update? If it's a Proton update, then what's the most recent known good version of Proton that works with this game?

Patola commented 3 years ago

Hello @Patola, can you clarify if you think the regression was introduced by a game update or a Proton update? If it's a Proton update, then what's the most recent known good version of Proton that works with this game?

It was a game update that added dependency on these DLLs. As I had the game uninstalled for a few weeks, I don't know exactly the timeframe and which specific update did that.

Patola commented 3 years ago

I am uploading the three patches: 0000 -- original Piotr Caban wine patch, taken straight from the link I provided (ms-win-core-console-l1-2-0) 0001 -- Esdras Tarsis' patch 1 for ms-win-core-console-l3-2-0 0002 -- Esdras Tarsis' patch 2 for ms-win-core-kernel32-legacy-l1-1-5

All the patches are explicitly named. For the sake of preserving signatures and credits, they are provided as is, and will need the parameter -F3 on the patch utility (fuzz 3) or even -F4 to be applied to the wine tree (in proton or otherwise).

After I finish compiling I will also provide my own proton build while this fix is not integrated.

pickup-basketball-3-patches.tar.gz

Patola commented 3 years ago

Ok, my proton build is up, I took the care to test it in a clean prefix before uploading: https://github.com/Patola/wine/releases/tag/6.3-pickupbasketball.

@kisak-valve I am not sure how these patches could get to proton, can you guide me? I am not the author; one author is Piotr Caban from the wine mailing list; the other author is @EsdrasTarsis. That's why I did not create the PR myself.

kisak-valve commented 3 years ago

I think the ideal scenario would be to get the patches landed in upstream wine first, then you can make a pull request with the backported commits, a note to what it fixes, and the upstream commit IDs. That said, a Proton dev might read this issue report and handle the rest of the process on their own.

Patola commented 3 years ago

Esdras Tarsis' patches have been submitted to upstream: Patch 1 (api-ms-win-core-console-l3-2-0) Patch 2 (api-ms-win-core-kernel32-legacy-l1-1-5)