Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minecraft Legends (1928870) #6696

Open
2 tasks done
LiamDawe opened this issue Apr 18, 2023 · 68 comments
Open
2 tasks done

Minecraft Legends (1928870) #6696

LiamDawe opened this issue Apr 18, 2023 · 68 comments
Labels
Game compatibility - Unofficial Games not expected to work without issues

Comments

@LiamDawe
Copy link

LiamDawe commented Apr 18, 2023

Compatibility Report

  • Name of the game with compatibility issues: Minecraft Legends
  • Steam AppID of the game: 1928870

System Information

  • GPU: Steam Deck
  • Driver/LLVM version: Steam Deck Stable
  • Kernel version: Steam Deck Stable
  • Proton version: 7.0-6, 8.0, Experimental, Hotfix, GE-7-55 (tried them all, same issue)

I confirm:

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

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.

@LiamDawe LiamDawe changed the title Minecraft Legends Minecraft Legends (1928870) Apr 18, 2023
@Thibugs
Copy link

Thibugs commented Apr 18, 2023

I can confirm, I have the same issue. Tried multiple version of the game.

System Information

Proton logs :
steam-1928870.log

@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Apr 18, 2023
@AMDBartek
Copy link

Also experiencing this issue.

Below is my system Info

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

@kisak-valve
Copy link
Member

Minecraft Legends: unimplemented function

Issue transferred from #6697.
@Pavocracy posted on 2023-04-18T16:41:55:

Compatibility Report

  • Name of the game with compatibility issues: Minecraft Legends
  • Steam AppID of the game: 1928870

System Information

I confirm:

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

Symptoms

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).

Reproduction

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.

@kisak-valve
Copy link
Member

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.

@ghost
Copy link

ghost commented Apr 18, 2023

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?

@skerit
Copy link

skerit commented Apr 18, 2023

I used winetricks to install vcrun2015 and dotnetcore3. It now finds the DLL, but it's missing some things so yeah.
steam-1928870.log

@mohamadaljaf
Copy link

Does this patch help? minecraft_legends.txt

@Thibugs
Copy link

Thibugs commented Apr 18, 2023

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

@YannouuY
Copy link

YannouuY commented Apr 18, 2023

Replying to #6696 (comment)

so ? also how did u do to dothe thing with the patch ?

@Thibugs
Copy link

Thibugs commented Apr 18, 2023

Replying to #6696 (comment)

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

@YannouuY
Copy link

YannouuY commented Apr 18, 2023

Replying to #6696 (comment)

where do i put the .txt ?

@Thibugs
Copy link

Thibugs commented Apr 18, 2023

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)

@YannouuY
Copy link

can't you just send the patched proton version urself ?

@Thibugs
Copy link

Thibugs commented Apr 18, 2023

Does this patch help? minecraft_legends.txt

Sadly it didn't work, still the same issue, see the attached logs

steam-1928870.log

@mohamadaljaf
Copy link

mohamadaljaf commented Apr 18, 2023 via email

@cdf1008
Copy link

cdf1008 commented Apr 18, 2023

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

@mohamadaljaf
Copy link

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.

@OpenBagTwo
Copy link

OpenBagTwo commented Apr 18, 2023

@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

@rahulc07
Copy link

rahulc07 commented Apr 19, 2023

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
Copy link

mohamadaljaf commented Apr 19, 2023

@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

@drunderscore
Copy link

@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?

@mohamadaljaf
Copy link

mohamadaljaf commented Apr 19, 2023

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.

@drunderscore
Copy link

@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:

./files/share/default_pfx/drive_c/windows/system32/api-ms-win-core-psm-appnotify-l1-1-0.dll:     file format pei-x86-64

SYMBOL TABLE:
[  0](sec  1)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000000 .text
AUX scnlen 0x0 nreloc 0 nlnno 0
[  2](sec  5)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000000 .edata
AUX scnlen 0x105 nreloc 8 nlnno 0
[  4](sec  1)(fl 0x00)(ty   20)(scl   2) (nx 1) 0x0000000000000000 DllMainCRTStartup
AUX tagndx 0 ttlsiz 0x0 lnnos 0 next 0
[  6](sec  1)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000000 .text
AUX scnlen 0xe nreloc 1 nlnno 0
[  8](sec  4)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000000 .xdata
AUX scnlen 0x8 nreloc 0 nlnno 0
[ 10](sec  3)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000000 .pdata
AUX scnlen 0xc nreloc 3 nlnno 0
[ 12](sec  2)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000000 .rdata$zzz
AUX scnlen 0x12 nreloc 0 nlnno 0
[ 14](sec  1)(fl 0x00)(ty   20)(scl   2) (nx 1) 0x0000000000000010 DllMain
AUX tagndx 0 ttlsiz 0x0 lnnos 0 next 0
[ 16](sec  1)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000010 .text
AUX scnlen 0x28 nreloc 1 nlnno 0
[ 18](sec  4)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000008 .xdata
AUX scnlen 0x8 nreloc 0 nlnno 0
[ 20](sec  3)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x000000000000000c .pdata
AUX scnlen 0xc nreloc 3 nlnno 0
[ 22](sec  2)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000020 .rdata$zzz
AUX scnlen 0x12 nreloc 0 nlnno 0
[ 24](sec  1)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000040 .text
[ 25](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000064 .idata$7
[ 26](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000038 .idata$5
[ 27](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000028 .idata$4
[ 28](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000048 .idata$6
[ 29](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000028 hname
[ 30](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000038 fthunk
[ 31](sec  1)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000050 .text
AUX scnlen 0x0 nreloc 0 nlnno 0
[ 33](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000000 .idata$2
AUX scnlen 0x14 nreloc 3 nlnno 0
[ 35](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000028 .idata$4
[ 36](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000038 .idata$5
[ 37](sec  1)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000050 .text
AUX scnlen 0x0 nreloc 0 nlnno 0
[ 39](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000030 .idata$4
AUX scnlen 0x8 nreloc 0 nlnno 0
[ 41](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000040 .idata$5
AUX scnlen 0x8 nreloc 0 nlnno 0
[ 43](sec  6)(fl 0x00)(ty    0)(scl   3) (nx 1) 0x0000000000000068 .idata$7
AUX scnlen 0xd nreloc 0 nlnno 0
[ 45](sec  2)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000040 ___RUNTIME_PSEUDO_RELOC_LIST__
[ 46](sec  2)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __data_start__
[ 47](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000060 ___DTOR_LIST__
[ 48](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___tls_start__
[ 49](sec  2)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000040 __rt_psrelocs_start
[ 50](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000160 __dll_characteristics__
[ 51](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000001000 __size_of_stack_commit__
[ 52](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000200000 __size_of_stack_reserve__
[ 53](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000005 __major_subsystem_version__
[ 54](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___crt_xl_start__
[ 55](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___crt_xi_start__
[ 56](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___crt_xi_end__
[ 57](sec  5)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __bss_start__
[ 58](sec  2)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000040 ___RUNTIME_PSEUDO_RELOC_LIST_END__
[ 59](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000001000 __size_of_heap_commit__
[ 60](sec  6)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000038 __imp_DisableThreadLibraryCalls
[ 61](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___crt_xp_start__
[ 62](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___crt_xp_end__
[ 63](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __dll__
[ 64](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __minor_os_version__
[ 65](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000001000 __section_alignment__
[ 66](sec  6)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000048 __IAT_end__
[ 67](sec  2)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000040 __RUNTIME_PSEUDO_RELOC_LIST__
[ 68](sec  2)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __data_end__
[ 69](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000050 __CTOR_LIST__
[ 70](sec  5)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __bss_end__
[ 71](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___crt_xc_end__
[ 72](sec  6)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 _head_dlls_kernel32_libkernel32_cross_a
[ 73](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___crt_xc_start__
[ 74](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000050 ___CTOR_LIST__
[ 75](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __rt_psrelocs_size
[ 76](sec  6)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000068 __dlls_kernel32_libkernel32_cross_a_iname
[ 77](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000001000 __file_alignment__
[ 78](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000004 __major_os_version__
[ 79](sec  6)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000038 __IAT_start__
[ 80](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __end__
[ 81](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000040 DisableThreadLibraryCalls
[ 82](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000060 __DTOR_LIST__
[ 83](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000100000 __size_of_heap_reserve__
[ 84](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___crt_xt_start__
[ 85](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000003 __subsystem__
[ 86](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___tls_end__
[ 87](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __major_image_version__
[ 88](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __loader_flags__
[ 89](sec  2)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000040 __rt_psrelocs_end
[ 90](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000002 __minor_subsystem_version__
[ 91](sec -1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __minor_image_version__
[ 92](sec  2)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000040 __RUNTIME_PSEUDO_RELOC_LIST_END__
[ 93](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 ___crt_xt_end__
[ 94](sec  0)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000000 .data
[ 95](sec  0)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x0000000000000000 .bss


DYNAMIC SYMBOL TABLE:
no symbols

@Thibugs
Copy link

Thibugs commented Apr 19, 2023

Got the same issue as above full logs for V2 :

steam-1928870.log

And V3 :

steam-1928870.log

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...

@puregamert
Copy link

im a bit stupid but is there a vid or step by step guide

@bomeers
Copy link

bomeers commented Apr 19, 2023

@puregamert

take a look at this comment for build instructions #6696 (comment)

@puregamert
Copy link

how do i set up potman and rootless

@LiamDawe
Copy link
Author

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.

@YannouuY

This comment was marked as off-topic.

@MisterSheeple

This comment was marked as off-topic.

@YannouuY

This comment was marked as off-topic.

@LiamDawe

This comment was marked as resolved.

@sussyboy123
Copy link

You should probably just patch it yourself..

I Don't Know How Do I Patch V:

@OpenBagTwo
Copy link

Detailed instructions on how to apply the patch. I'm assuming you're all on Linux.

  1. Install 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).
  2. Clone this repo following the instructions in the README:

    git clone --recurse-submodules https://github.com/ValveSoftware/Proton.git proton

  3. cd your way into the repo, and check out the experimental-7.0 branch:
    git checkout experimental_7.0
    git submodule update --init --recursive
  4. Download both patches from @drunderscore
  5. Apply the WINE patch: cd to the wine submodule and run:
    patch -Np1 < ~/Downloads/0001-Crude-patch-to-forward-stub-Un-RegisterAppStateChang.patch.txt
  6. Apply the vkd3d patch:
    cd ../vkd3d-proton
    patch -Np1 < ~/Downloads/0001-Add-ID3D12DeviceRemovedExtendedDataSettings-in-D3D12.patch.txt
  7. Make build directory (outside of the proton directory) and configure:
    mkdir ../../build && cd ../../build
    ../proton/configure.sh --enable-ccache --build-name=proton-7.0-legends-thanks-drunderscore --container-engine=podman
  8. Build
     make
  9. Go outside and touch some grass. Build's gonna take a minute.
  10. Build a portable proton that you can just plop it into the steam folder on the machine of your choice. As per the docs:

    make redist - create a redistribute build (redist/) that can be copied to ~/.steam/root/compatibilitytools.d/.

  11. The copying thing quoted above. Yeah, do that. Explicitly, take the 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.
  12. Restart Steam.
  13. Go into Minecraft Legends, go to Properties > Compatibility, check Force the use of specific blah blah, and select your build from the dropdown
  14. Cross your fingers, sacrifice a blue sheep and stick your axolotl-in-a-bucket in the furnace. Then click play.
  15. Once the game loads, track down @drunderscore IRL, drive to his place of work, school, home or worship, confirm that he's cool with physical affection, and give him a big ole hug

@drunderscore
Copy link

drunderscore commented Apr 19, 2023

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.

@OpenBagTwo
Copy link

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.

@sussyboy123
Copy link

sussyboy123 commented Apr 19, 2023

Replying to #6696 (comment)

Why The Download Link Is Broken? It's Saying Not Found

@AlbertoEberhardt
Copy link

Many, many thanks!! Too all of you!! (But looks like the download links isn't working)

@drunderscore
Copy link

I've resolved the download link in an edit, here it is for posterity/email users: download

@sussyboy123
Copy link

sussyboy123 commented Apr 19, 2023

I've resolved the download link in an edit, here it is for posterity/email users: download

Thank You

@mandruis7
Copy link

mandruis7 commented Apr 19, 2023

I've created as well a Proton GE version with the patches if someone can give me some feedback if it works would be appreciated, because I don't own the game
https://github.com/mandruis7/proton-ge-custom/releases/tag/GE-Proton7-55-build-85

@andruhon
Copy link

I tried the custom build with patches from @drunderscore described by @OpenBagTwo, unfortunately it does not go beyond the loading screen, indicator goes somewhere to 3/4 and window disappears.

Other than that I noticed that new hotfix 1681926162 hotfix-mcl just became available, tried that as well, but it crashes with very similar logs.

Log for custom build:
steam-custom-build.log

Log for hotfix:
steam-hotfix.log

@IndolentKheper
Copy link

IndolentKheper commented Apr 20, 2023

Hm. I put the @drunderscore compat files in the proper directory but couldn't tell which one it's supposed to be, wasn't showing up in the compatibility list. Maybe because I have MCL installed to the microSD card and not internal?

So I tried "Proton Hotfix" at the bottom of the list and the game loaded. I removed the compat files from the directory and the game still loads, so... did Valve stealth fix or something? Edit: It appears they did? That explains the mysterious hotfix file that appeared when I installed Legends.

@LiamDawe
Copy link
Author

LiamDawe commented Apr 20, 2023

Valve announced the update on Twitter.

Proton Hotfix allows it to run, but the game will still randomly crash on you.

Same details as in my OP, here's a log where it crashes back to the library after playing:
steam-1928870.log

@MisterSheeple
Copy link

MisterSheeple commented Apr 20, 2023 via email

@James76931
Copy link

@Santeeag0
Copy link

I've resolved the download link in an edit, here it is for posterity/email users: download

This build has worked wonderfully on deck for me, Crashed one time in desktop mode after microsoft sign in but have played for two hours straight after and havent crashed yet.

@kisak-valve
Copy link
Member

Hello @andruhon, fixme:vkd3d-proton:d3d12_command_signature_create: VK_NV_device_generated_commands is not supported by implementation. in your Proton log points towards https://gitlab.freedesktop.org/mesa/mesa/-/issues/6883.

@iio7
Copy link

iio7 commented Apr 20, 2023

Why does it complain about api-ms-win-core-psm-appnotify-l1-1-0.dll is missing? Even if you download this dll and put it in system32, it still complains.

@drunderscore
Copy link

Can confirm that Proton Hotfix contains the required changes to run this game now. I would recommend everyone use it in place of my changes.

@andruhon
Copy link

andruhon commented Apr 21, 2023

Hello @andruhon, fixme:vkd3d-proton:d3d12_command_signature_create: VK_NV_device_generated_commands is not supported by implementation. in your Proton log points towards https://gitlab.freedesktop.org/mesa/mesa/-/issues/6883.

So you think the game isn't going to work on Intel GPU until https://gitlab.freedesktop.org/mesa/mesa/-/issues/6883 is addressed?

Upd:
I tried VKD3D_DISABLE_EXTENSIONS=VK_KHR_present_id,VK_KHR_present_wait but I think these are irrelevant, as it didn't quite help.

@PedroCraft50
Copy link

Can confirm that Proton Hotfix contains the required changes to run this game now. I would recommend everyone use it in place of my changes.

Proton hotfix doesn't work for me. Any suggestions?

@kisak-valve
Copy link
Member

Hello @PedroCraft50, please add PROTON_LOG=1 %command% to the game's launch options and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.) Also, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

@kisak-valve
Copy link
Member

Thanks, a header only Proton log tells us something went wrong before the actual game had a chance to run. If you completely close Steam, then run steam from a terminal, there's a good chance you'll find a better hint in the terminal spew when you tell Steam to start the game.

Blind guess that you've put the game on a secondary Steam library folder, and that is on an NTFS formatted partition. Proton interacting with NTFS is known to be temperamental and the general recommendation is to use a linux native filesystem.

@al12gamer
Copy link

Running fine on Proton Experimental

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game compatibility - Unofficial Games not expected to work without issues
Projects
None yet
Development

No branches or pull requests