Skip to content

Commit

Permalink
vulkan-1: Prefer builtin
Browse files Browse the repository at this point in the history
Games that ship their own vulkan-1 will be broken with your VR wrappers.
  • Loading branch information
aeikum committed Jan 25, 2021
1 parent f68a504 commit bd8c672
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions dlls/vulkan-1/vulkan.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, void *reserved)
switch (reason)
{
case DLL_WINE_PREATTACH:
/* Prefer native as it provides more functionality. */
return FALSE;
/* Prefer builtin, as the loader must not wrap Vk objects and then
* pass those to OpenVR or OpenXR */
return TRUE;

case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hinst);
Expand Down

7 comments on commit bd8c672

@kakra
Copy link
Contributor

@kakra kakra commented on bd8c672 Jan 26, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As reported here this seems to introduce regressions with multiple games.

@aeikum
Copy link
Collaborator Author

@aeikum aeikum commented on bd8c672 Jan 26, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kakra Yes. What games other than RDR2 are showing issues?

@kakra
Copy link
Contributor

@kakra kakra commented on bd8c672 Jan 26, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried a handful of games, I'm not sure if this may be related to this commit:

  • Borderlands 3 does not show any graphics at all after the initial loading animation (the walking robot, or rather the MF test video): The game window is invisible (frozen content of the desktop inside), sound seems to play but music doesn't start
  • Elite Dangerous: Black screen but I can hear the intro video and menu sounds (makes me sad)

Other games simply don't work at all which is probably unrelated to this commit but worked with an older Proton version:

  • Uplay auto-updater is stuck at connecting to servers (AC:Unity, AC:Black Flag, AC:Origins, Far Cry 3), however AC:Odyssey works (probably by luck because it didn't want to auto-update Uplay), probably networking code
  • Rockstar Launcher doesn't connect to servers for me (RDR2, so I couldn't actually test the outcome of this commit), probably networking code
  • Control (870780) freezes at seemingly random actions (e.g., when turning in mission rewards), maybe futex2? I'm using that kernel patch
  • Mass Effect Andromeda sometimes doesn't start (seems to be a hanging/slow download in Origins, other times it works), probably networking code
  • Mirrors Edge Catalyst freezes in Origin launcher during downloading updates, also this launcher somehow breaks out of the bwrap and Steam doesn't notice it is still running (launch button turns green again), also I need to keep the mouse moving on the Origin downloader for it to continue playing its animations - very strange!

I hope it's okay to mention this list of problems here despite out of scope of this particular commit.

Other games I've tried see vastly improved performance with much more consistent frame times. \o/ yay

@kakra
Copy link
Contributor

@kakra kakra commented on bd8c672 Jan 26, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aeikum I've seen there's an update. I will retry with that version after reboot and report back. :-)

@kakra
Copy link
Contributor

@kakra kakra commented on bd8c672 Jan 26, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aeikum okay, Rockstart launcher still cannot connect, and Elite Dangerous still starts with a black screen. So reverting this commit didn't fix it. I'll report issues on the game-specific trackers then. Thanks.

@aeikum
Copy link
Collaborator Author

@aeikum aeikum commented on bd8c672 Jan 27, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kakra Thanks for your testing. The most useful thing for us, if you have the time and interest, would be if you can nail down exactly where the games fail: e.g. does it work in 5.13-5, but broken in Experimental? Or, does turning off futex2 (WINEFSYNC_FUTEX2=0) help? That can show where the problem most likely is, so I can direct the right person to the issue.

@kakra
Copy link
Contributor

@kakra kakra commented on bd8c672 Jan 27, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's one report I opened: ValveSoftware/Proton#4571

And here's a comment I added: ValveSoftware/Proton#4568 (comment)

I tried to cover games that use different engines (UE4, Unity, Ubisoft's engines, Frostbite Engine), so we should get a good coverage.

Please sign in to comment.