Open LiamDawe opened 1 year ago
I can confirm, I have the same issue. Tried multiple version of the game.
Proton logs : steam-1928870.log
Also experiencing this issue.
CPU: AMD Ryzen 5 5600H GPU: Nvidia RTX 3060 Mobile RAM: 16GB GPU Driver: Nvidia Proprietary 525.105.17 Kernel: 6.2.0-20-generic Proton: Experimental, Proton7-GE-55
Minecraft Legends: unimplemented function
Issue transferred from https://github.com/ValveSoftware/Proton/issues/6697. @Pavocracy posted on 2023-04-18T16:41:55:
Game won't launch. Logs show the error: Unhandled exception: unimplemented function api-ms-win-core-psm-appnotify-l1-1-0.dll.RegisterAppStateChangeNotification called in 64-bit code (0x000000007b01260e).
Install minecraft legends through steam on ubuntu 22.04, enable proton for experimental or version 8, 7 or 6, try to launch game.
@Pavocracy commented on 2023-04-18T16:46:24:
whoops, looks like between searching for an existing issue and then taking the time to fill out this issue, another issue was posted for the same game but for the steam deck.
Hello @LiamDawe, err:module:import_dll Library api-ms-win-core-psm-appnotify-l1-1-0.dll (which is needed by L"Z:\\home\\deck\\.local\\share\\Steam\\steamapps\\common\\MinecraftLegends\\MinecraftLegends.Windows.exe") not found
looks like the line of interest from your log.
Is this as simple as downloading the DLL and putting it in the proton directory? Is there a safe way to download the missing DLL? plenty of google results but they all seem sketchy?
I used winetricks to install vcrun2015
and dotnetcore3
. It now finds the DLL, but it's missing some things so yeah.
steam-1928870.log
Does this patch help? minecraft_legends.txt
I'm sorry but I don't understand how to use this patch ? Do I need to compile proton from a specific commit ?
Sorry if it's a dumb question
Edit : Found the documentation on how to compile and apply patches to GE-Proton, I'm gonna give it a try and give you feedback on the patch ASAP
Replying to https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1513616989
so ? also how did u do to dothe thing with the patch ?
Replying to https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1513738451
You can have a look there : https://github.com/GloriousEggroll/proton-ge-custom#building
You will need to setup podman rootless for the building process
Replying to https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1513742044
where do i put the .txt ?
where do i put the .txt ?
Just follow the building guide, patches are explained at step 2. If you are not comfortable with building things, it might not be a better idea to wait for the patches to get implemented in GE or Proton itself. It also take some time to compile (Around 20 minutes)
can't you just send the patched proton version urself ?
Does this patch help? minecraft_legends.txt
Sadly it didn't work, still the same issue, see the attached logs
Check the configure file. It might not have been updated. You need to run the command autoreconf and maybe autoupdate after applying the patch but before running ./configure
On Tue, Apr 18, 2023, 17:35 Thibaud Galloy @.***> wrote:
Does this patch help? minecraft_legends.txt https://github.com/ValveSoftware/Proton/files/11265020/minecraft_legends.txt
Sadly it didn't work, still the same issue, see the attached logs
steam-1928870.log https://github.com/ValveSoftware/Proton/files/11266537/steam-1928870.log
— Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1513821197, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRAPDGK5VM4PNSAEY2RCODXB4CJNANCNFSM6AAAAAAXC4JHTA . You are receiving this because you commented.Message ID: @.***>
Does this patch help? minecraft_legends.txt
I tried the patch and it crashes identically to prior. If I am understanding the log it seems it loads the build_module so I am unsure why it cannot find the function. steam-1928870.log
Does this patch help? minecraft_legends.txt
I tried the patch and it crashes identically to prior. If I am understanding the log it seems it loads the build_module so I am unsure why it cannot find the function. steam-1928870.log
Did you run the command autoreconf and autoupdate after applying the patch prior to ./configure? This is needed to enable the dll in the configure file, not configure.ac.
If there's no entry in configure for twinapi.appcore.dll then it was not enabled. You can also check the prefix to see if twinapi.appcore.dll exists. Running winecfg in the prefix and checking if twinapi.appcore.dll is listed in the libraries tab in the combo box "New override for library" is likely the best way to confirm it's been enabled.
@mohamadaljaf I'm having difficulty even applying your patch in the first place. Following the GE building instructions, when I run:
$ ./patches/protonprep-valve-staging.sh
I get stopped at: can't find file to patch at input line 309
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--
|2.40.0
|
|
|From 18a124951282d0209cabcb77317ab03bda1acf32 Mon Sep 17 00:00:00 2001
|From: Mohamad Al-Jaf <mohamadaljaf@gmail.com>
|Date: Tue, 18 Apr 2023 14:16:51 -0400
|Subject: [PATCH 3/3] apisetschema: Add api-ms-win-core-psm-appnotify-l1-1-0.
|
|---
| dlls/apisetschema/apisetschema.spec | 1 +
| 1 file changed, 1 insertion(+)
|
|diff --git a/dlls/apisetschema/apisetschema.spec b/dlls/apisetschema/apisetschema.spec
|index 981b80c6976..122cd1209ba 100644
|--- a/dlls/apisetschema/apisetschema.spec
|+++ b/dlls/apisetschema/apisetschema.spec
I don't have the game yet but you might have to install vcrun2105 via winetricks to make it work. (Seems like it crashed because of a dll file missing pertaining to that)
No harm running it in lutris either with the updated version of proton.
@mohamadaljaf I'm having difficulty even applying your patch in the first place. Following the GE building instructions, when I run:
$ ./patches/protonprep-valve-staging.sh
I get stopped at:
can't find file to patch at input line 309
I see, here's a patch that should work with Proton-GE, it should also work with Proton 7.0. No need to run autoreconf nor autoupdate either. proton-ge-minecraft-legends.txt
@mohamadaljaf Using your patch on experimental_7.0
at c9d56d1 results in this:
0118:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\api-ms-win-core-psm-appnotify-l1-1-0.dll" at 000000022C2B0000: builtin
0118:err:module:find_forwarded_export module not found for forward 'twinapi.appcore.UnregisterAppStateChangeNotification' used by L"C:\\windows\\system32\\api-ms-win-core-psm-appnotify-l1-1-0.dll"
0118:err:module:find_forwarded_export module not found for forward 'twinapi.appcore.RegisterAppStateChangeNotification' used by L"C:\\windows\\system32\\api-ms-win-core-psm-appnotify-l1-1-0.dll"
...
wine: Call from 0000000170032138 to unimplemented function api-ms-win-core-psm-appnotify-l1-1-0.dll.RegisterAppStateChangeNotification, aborting
Built with build_name=proton-7-minecraft-legends-appnotify-patch make install
Launched through Steam with WINEDEBUG=loaddll PROTON_LOG=1 %command%
Full log at steam-1928870.log
Am I required to touch autoconf at all if I'm using the top-level Makefile
?
Sorry, I only had an hour of sleep. I hope this one works. I'm not really familiar with forwarding for dlls that have more than 1 dot in their name.
proton-ge-minecraft-legends-v2.txt
If that one doesn't work try this:
proton-ge-minecraft-legends-v3.txt
I'll submit an MR to Wine so it can get upstreamed.
@mohamadaljaf Unfortunately neither of those seemed to properly forward it:
v2:
016c:err:module:find_forwarded_export module not found for forward 'twinapi.UnregisterAppStateChangeNotification' used by L"C:\\windows\\system32\\api-ms-win-core-psm-appnotify-l1-1-0.dll"
016c:err:module:find_forwarded_export module not found for forward 'twinapi.RegisterAppStateChangeNotification' used by L"C:\\windows\\system32\\api-ms-win-core-psm-appnotify-l1-1-0.dll"
v3:
016c:err:module:find_forwarded_export module not found for forward 'twinapi.appcore.UnregisterAppStateChangeNotification' used by L"C:\\windows\\system32\\api-ms-win-core-psm-appnotify-l1-1-0.dll"
016c:err:module:find_forwarded_export module not found for forward 'twinapi.appcore.RegisterAppStateChangeNotification' used by L"C:\\windows\\system32\\api-ms-win-core-psm-appnotify-l1-1-0.dll"
Running objdump -Tt ./files/share/default_pfx/drive_c/windows/system32/api-ms-win-core-psm-appnotify-l1-1-0.dll
reports:
Got the same issue as above full logs for V2 :
And V3 :
Seems those are the important lines :
0118:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\api-ms-win-core-psm-appnotify-l1-1-0.dll" at 000000022C2B0000: builtin
0118:err:module:find_forwarded_export module not found for forward 'twinapi.UnregisterAppStateChangeNotification' used by L"C:\\windows\\system32\\api-ms-win-core-psm-appnotify-l1-1-0.dll"
0118:err:module:find_forwarded_export module not found for forward 'twinapi.RegisterAppStateChangeNotification' used by L"C:\\windows\\system32\\api-ms-win-core-psm-appnotify-l1-1-0.dll"
...
wine: Call from 0000000170032278 to unimplemented function api-ms-win-core-psm-appnotify-l1-1-0.dll.RegisterAppStateChangeNotification, aborting
wine: Unimplemented function api-ms-win-core-psm-appnotify-l1-1-0.dll.RegisterAppStateChangeNotification called at address 0000000170032278 (thread 0118), starting debugger...
im a bit stupid but is there a vid or step by step guide
@puregamert
take a look at this comment for build instructions https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1513742044
how do i set up potman and rootless
how do i set up potman and rootless
@puregamert take a look at their documentation https://podman.io/getting-started/
keep me honest but it looks like podman runs rootless by default until you assign an IP
Alright, finally had a moment to sit down and actually take a look at stubbing this.
Apply this patch, tested and works with Proton experimental_7.0
at c9d56d1: 0001-Crude-patch-to-forward-stub-Un-RegisterAppStateChang.patch.txt
This gets us a bit farther -- I now crash with the following log: steam-1928870.log
Looks like implementing a more thorough D3D12GetDebugInterface
will be required -- the game seems to completely disregard the error and attempts to call some virtual functions from the interface, which causes the crash after trying to dereference the vtable pointer/execute from a vtable entry.
Alright, the game is now launching and running very well! I have not tested online play nor gone past the main menu/settings, but I don't foresee many issues with that.
This is the patch needed to implement ID3D12DeviceRemovedExtendedDataSettings
in D3D12GetDebugInterface
, apply to vkd3d-proton
, tested on the same Proton branch as above: 0001-Add-ID3D12DeviceRemovedExtendedDataSettings-in-D3D12.patch.txt
It is a total hack, but is likely inconsequential to the game entirely.
In terms of upstreaming, if someone else is able to do it, go right ahead! Especially the vk3d3-proton patch, that needs a lot of TLC :^)
Other discovered issues whilst attempting to begin play:
Both issues were resolved after a few restarts, I assume the resolution and fullscreen changes I had been making caused them in some way.
Replying to https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1515228599
Can you send the patched proton version pls ?
You should probably just patch it yourself..
You should probably just patch it yourself..
I don't think i can
I don't think i can
Why not?
How to do this manually on Steam Deck? I mean how do I patch it?
I don't think i can
Why not?
cause im too lazy to do it lmaoo
Guys, this is not a chat room, this is the official bug tracker. For general help and support on patching go to a suitable place. All you’re doing is spamming notifications.
Guys, this is not a chat room, this is the official bug tracker. For general help and support on patching go to a suitable place. All you’re doing is spamming notifications.
just asking if someone can send the patched version while waiting for proton to be updated
Guys, this is not a chat room, this is the official bug tracker. For general help and support on patching go to a suitable place. All you’re doing is spamming notifications.
just asking if someone can send the patched version while waiting for proton to be updated
Then ask somewhere else, there's dozens of communities out there who can help you with this
Guys, this is not a chat room, this is the official bug tracker. For general help and support on patching go to a suitable place. All you’re doing is spamming notifications.
just asking if someone can send the patched version while waiting for proton to be updated
Then ask somewhere else, there's dozens of communities out there who can help you with this
Or just asking the guy who sent the screenshot ?
@kisak-valve can we get a cleanup here please?
You should probably just patch it yourself..
I Don't Know How Do I Patch V:
Detailed instructions on how to apply the patch. I'm assuming you're all on Linux.
git
and (preferably rootless) podman
(though I guess Docker works too). Instructions to do this will vary based on your distribution, and GabeN Help You if you're trying to do this on the Steam Deck (like, it should be doable, but it's not going to be fun, and I have zero interest in coaching you through it).
git clone --recurse-submodules https://github.com/ValveSoftware/Proton.git proton
cd
your way into the repo, and check out the experimental-7.0 branch:
git checkout experimental_7.0
git submodule update --init --recursive
cd
to the wine
submodule and run:
patch -Np1 < ~/Downloads/0001-Crude-patch-to-forward-stub-Un-RegisterAppStateChang.patch.txt
cd ../vkd3d-proton
patch -Np1 < ~/Downloads/0001-Add-ID3D12DeviceRemovedExtendedDataSettings-in-D3D12.patch.txt
mkdir ../../build && cd ../../build
../proton/configure.sh --enable-ccache --build-name=proton-7.0-legends-thanks-drunderscore --container-engine=podman
make
make redist
- create a redistribute build (redist/
) that can be copied to~/.steam/root/compatibilitytools.d/.
redis
directory, rename it something like proton-drunderscore-is-a-goat
and copy it to ~/.steam/root/compatibilitytools.d/
. You may need to first create that compatibilitytools.d
folder. I played for about an hour in the campaign, and I've seen zero problems thus far, and performance is stellar (though I cannot attest to how "native" the performance it is).
I have not tested this on a Steam Deck. I have not tested controller input.
The following download is redist build of Proton experimental_7.0
at c9d56d1, with this wine patch and this vkd3d-proton patch applied: download
It is ONLY intended to be used with Minecraft Legends. Use with any other game would be rather silly.
Place this in the compatibilitytools.d
folder within your steam directory, likely found at .local/share/Steam
.
Steam Deck users: I'd advise launching the game first in desktop mode if you're wanting to link your Microsoft account (for online play I guess?). I was able to authenticate, but Wayland and pop-ups still don't mix too well.
Replying to https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1515459267
Why The Download Link Is Broken? It's Saying Not Found
Many, many thanks!! Too all of you!! (But looks like the download links isn't working)
Compatibility Report
System Information
I confirm:
Proton Log File: steam-1928870.log
Symptoms
It won't load at all, straight back to the Steam library, not even a window comes up. Same issue on Fedora desktop too.
UPDATE 20/04/2023
Proton Hotfix makes it run but not stable. See my comment.