protonscr

Pirates VR: Jolly Roger

protonopen appid 1443620Game compatibility - Unofficial
ValveSoftware/Proton#8457 · opened 2025-02-15 by Patola · updated 2025-11-03 · 11 comments · github · game page · search this game
PPatola 2025-02-15 github

Compatibility Report

  • Name of the game with compatibility issues: Pirates VR: Jolly Roger
  • Steam AppID of the game: 1443620

System Information

I confirm:

  • [X] that I haven't found an existing compatibility report for this game.
  • [X] that I have checked whether there are updates for my system available.

Symptoms

Launching the game gives just an unreal engine crash screen as follows:

Image

Reproduction

  1. Start your streaming server for Quest 3, e.g. ALVR or WiVRn (for this run I've used ALVR).
  2. Start steamvr, see if it's working ok, you can run other VR games and see the steamovr overlay
  3. Launch the game.
  4. Instead of anything appearing on the VR headset, you have an unreal error dialog shown on the flatscreen. The VR headset doesn't even "fade out", meaning no VR initialization took place.
    (Happens the same on proton 8 and 9)

Two separate proton logs are attached, one for 8.0-5, the other for 9.0-4, clearly indicated on the filename. The game prefix on compatdata was purged between each attempt. Proton 8.0-5 was attempted because Proton 9 has the VR code rewritten and some games fails due to that.

steam-1443620-8.0-5.log
steam-1443620-9.0-4.log

PPatola 2025-02-15 github

96237.422:013c:0140:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Graphics.Holographic.HolographicSpace" might be the same issue as https://github.com/ValveSoftware/Proton/issues/6533

Mmohamadaljaf 2025-02-16 github

It looks like it's loading the library but failing around holographicspace_interop_CreateForWindow. That function needs an implementation most likely. Would you be able to test a patch?

From your Proton 9 log:

96120.111:0134:0138:fixme:combase:RoGetActivationFactory (L"Windows.Graphics.Holographic.HolographicSpace", {5c4ee536-6a98-4b86-a170-587013d6fd4b}, 0000000000B9E4E0): semi-stub
96120.120:0134:0138:trace:seh:register_module_exception_directory count 101, max_count 512.
96120.120:0134:0138:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\windows.perception.stub.dll" at 00006FFFF7C00000: builtin
96120.120:0134:0138:fixme:perception:holographicspace_interop_CreateForWindow iface 00006FFFF7C040F8, window 00000000000600AC, iid {4380dba6-5e78-434f-807c-3433d1efe8b7}, holographic_space 0000000000B9E4E8.
96120.120:0134:0138:fixme:perception:holographicspace_interop_CreateForWindow HACK: Setting WS_EX_NOACTIVATE for 00000000000600AC.
96120.120:0134:0138:warn:seh:dispatch_exception backtrace: --- Exception 0xc0000005.
96120.120:0134:0138:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00006FFFF8D01019 ip=6ffff8d01019
96120.120:0134:0138:trace:seh:dispatch_exception  info[0]=0000000000000000
96120.120:0134:0138:trace:seh:dispatch_exception  info[1]=0000000000000000
96120.120:0134:0138:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised
PPatola 2025-02-16 github

I already refunded the game but I would be able to test a patch using the other title, Desperate: Vladivostok. Would that be ok?

PPoorPocketsMcNewHold 2025-07-11 github

A bit late there, but I'm willing to test things and give logs about it.
I'm a Monado+OpenComposite user however, no ALVR one, as I have a Valve Index.
Shouldn't change anything about this specific Proton issue however.

PPatola 2025-10-07 github

@mohamadaljaf Hi, I found a key for Pirates VR: Jolly Roger very cheap and I bought it, so I have the game again. Tried with Proton 9.0-4 and GE-Proton10-17 and it crashed with the unreal engine dialog and the same issues. Is there any proton build / version that do you want me to test it with? I'm kinda free this week so I can perform whatever tests you need.

Mmohamadaljaf 2025-11-01 github

0001-windows.perception.stub-Implement-IHolographicSpaceI.patch

Hi, I had time to work on this patch. Let me know if it helps. Please post the log when you test it.

Proton_10.0 branch.

PPatola 2025-11-02 github

Hey, @mohamadaljaf -- compiled the proton_10.0 branch with your patch (it applied cleanly) but still no good, it presents the unreal engine error dialog:

Image

Note: running on SteamVR via Steam Link on my Meta Quest 3.

Here is the proton log for that run:

steam-1443620.log

Mmohamadaljaf 2025-11-02 github

0002-windows.perception.stub-Implement-IHolographicSpace-.patch
0003-windows.perception.stub-Stub-some-functions.patch

Thanks, it looks like it's going to the next step and then failing on another function. I was going to send another patch earlier about that exact function but wasn't sure if it would call it.

From the log:

94989.416:0170:0174:fixme:perception:holographic_space_interop_CreateForWindow HACK: Setting WS_EX_NOACTIVATE for 00000000000500EC.
94989.416:0170:0174:fixme:perception:holographic_space_get_PrimaryAdapterId iface 000000010402B620, value 0000000000B9E4F0 stub!
94989.416:0170:0174:fixme:combase:RoOriginateLanguageException 0x80004001, L"", 0000000000000000: stub
94989.416:0170:0174:trace:seh:dispatch_exception code=e06d7363 (EXCEPTION_WINE_CXX_EXCEPTION) flags=1 addr=00006FFFFFC0D0C7

I attached a patch that returns a NULL adapter for holographic_space_get_PrimaryAdapterId. Also attached another patch that then fakes success for the rest of the functions in the interface, but it's unlikely they'll be called with a NULL adapter. Hopefully the first patch will be enough.

I don't know why UE4 games think Mixed Reality is present. AFAIK these games are not exclusive to Mixed Reality, right? Please attach a log with +perception after testing.

Lastly, if it still doesn't work with the patches then you could try a workaround by deleting the Mixed Reality DLLs in the game's directory. I don't know how deeply integrated they are, but depending on that you can also try making empty files of those DLLs in case the game checks for their existence.

Some of the them from your log, first one is likely most important:

Z:\\games\\SteamLibrary\\steamapps\\common\\Pirates VR Jolly Roger\\Engine\\Binaries\\ThirdParty\\Windows\\x64\\MixedRealityInterop.dll

Z:\\games\\SteamLibrary\\steamapps\\common\\Pirates VR Jolly Roger\\Engine\\Binaries\\Win64\\Microsoft.Perception.Simulation.dll
Z:\\games\\SteamLibrary\\steamapps\\common\\Pirates VR Jolly Roger\\Engine\\Binaries\\Win64\\HolographicStreamerDesktop.dll
Z:\\games\\SteamLibrary\\steamapps\\common\\Pirates VR Jolly Roger\\Engine\\Binaries\\ThirdParty\\Windows\\x64\\Microsoft.Azure.SpatialAnchors.dll
Z:\\games\\SteamLibrary\\steamapps\\common\\Pirates VR Jolly Roger\\Engine\\Binaries\\ThirdParty\\Windows\\x64\\Microsoft.MixedReality.SceneUnderstanding.dll
Z:\\games\\SteamLibrary\\steamapps\\common\\Pirates VR Jolly Roger\\Engine\\Binaries\\ThirdParty\\Windows\\x64\\Microsoft.MixedReality.QR.dll
PPatola 2025-11-02 github

@mohamadaljaf you're amazing! Your new patches MADE IT! Pirates VR: Jolly Roger is working now, but also Desperate: Vladivostok! I'll prepare my proton build to be used by everyone, with glowing credits to you, thanks! Are you going to submit these patches to be included in wine/wine-proton?

PPatola 2025-11-02 github

I published my build for Pirates VR and Desperate: Vladivostok here: https://github.com/Patola/wine/releases/tag/protola-10.0

Mmohamadaljaf 2025-11-03 github

@Patola Awesome, glad it worked. Thanks for the kind words. :)

Yes, I'll make a merge request for upstream Wine after I add some tests.

Proton versions

Upstream links

DLLs

Error codes