ValveSoftware / Proton

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

Minecraft Legends (1928870) #6696

Open LiamDawe opened 1 year ago

LiamDawe commented 1 year ago

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.

Thibugs commented 1 year ago

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

System Information

Proton logs : steam-1928870.log

AMDBartek commented 1 year ago

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 commented 1 year ago

Minecraft Legends: unimplemented function

Issue transferred from https://github.com/ValveSoftware/Proton/issues/6697. @Pavocracy posted on 2023-04-18T16:41:55:

Compatibility Report

System Information

I confirm:

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

Does this patch help? minecraft_legends.txt

Thibugs commented 1 year ago

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 commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1513616989

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

Thibugs commented 1 year ago

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

YannouuY commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1513742044

where do i put the .txt ?

Thibugs commented 1 year ago

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 commented 1 year ago

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

Thibugs commented 1 year ago

Does this patch help? minecraft_legends.txt

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

steam-1928870.log

mohamadaljaf commented 1 year ago

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

cdf1008 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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

bomeers commented 1 year ago

@puregamert

take a look at this comment for build instructions https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1513742044

puregamert commented 1 year ago

how do i set up potman and rootless

bomeers commented 1 year ago

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

drunderscore commented 1 year ago

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

drunderscore commented 1 year ago

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.

drunderscore commented 1 year ago

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.

image

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 :^)

drunderscore commented 1 year ago

Other discovered issues whilst attempting to begin play:

drunderscore commented 1 year ago

Both issues were resolved after a few restarts, I assume the resolution and fullscreen changes I had been making caused them in some way.

YannouuY commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1515228599

Can you send the patched proton version pls ?

orvitpng commented 1 year ago

You should probably just patch it yourself..

YannouuY commented 1 year ago

You should probably just patch it yourself..

I don't think i can

orvitpng commented 1 year ago

I don't think i can

Why not?

MrYoso commented 1 year ago

How to do this manually on Steam Deck? I mean how do I patch it?

YannouuY commented 1 year ago

I don't think i can

Why not?

cause im too lazy to do it lmaoo

LiamDawe commented 1 year ago

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 commented 1 year ago

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

MisterSheeple commented 1 year ago

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

YannouuY commented 1 year ago

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 ?

LiamDawe commented 1 year ago

@kisak-valve can we get a cleanup here please?

sussyboy123 commented 1 year ago

You should probably just patch it yourself..

I Don't Know How Do I Patch V:

OpenBagTwo commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6696#issuecomment-1515459267

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

AlbertoEberhardt commented 1 year ago

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