Try / OpenGothic

Reimplementation of Gothic 2 Notr
MIT License
1.15k stars 81 forks source link

Crash after intro video #485

Closed Tate39 closed 1 year ago

Tate39 commented 1 year ago

Hello, the game starts and I can see the starting menu. When I start a new save, the game plays the intro video but crashes after that.

Crash log:

---crashlog(SIGABRT)--- GPU: AMD Radeon Graphics 0x00007ff6fd899776: dbg::call_stack<64u>::collect(unsigned int) in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6fd74480c: CrashLog::dumpStack(char const*) in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6fd744ee9: signalHandler(int) in C:\OpenGothic\Gothic2Notr.exe 0x00007fff6213e0ac: raise in C:\Windows\System32\msvcrt.dll 0x00007fff6214255b: abort in C:\Windows\System32\msvcrt.dll 0x00007fff484927d5: Unwind_Resume_or_Rethrow in C:\OpenGothic\libgcc_s_seh-1.dll 0x00007fff00a7b33b: _cxa_rethrow in C:\OpenGothic\libstdc++-6.dll 0x00007ffee471a54a: ZN7Tempest6Detail9VPipeline8instanceERK29VkPipelineRenderingCreateInfoyy in C:\OpenGothic\libTempest.dll 0x00007ffee470d26f: ZN7Tempest6Detail14VCommandBuffer11setPipelineERNS_19AbstractGraphicsApi8PipelineE in C:\OpenGothic\libTempest.dll 0x00007ffee4724c66: ZN7Tempest7EncoderINS_13CommandBufferEE11setUniformsERKNS_14RenderPipelineE in C:\OpenGothic\libTempest.dll 0x00007ffee4724d65: ZN7Tempest7EncoderINS_13CommandBufferEE11setUniformsERKNS_14RenderPipelineERKNS_13DescriptorSetE in C:\OpenGothic\libTempest.dll 0x00007ff6fd6eb848: ObjectsBucketDyn::drawHiZ(Tempest::Encoder&, unsigned char) in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6fd6f80eb: Renderer::drawHiZ(Tempest::Encoder&, unsigned char, WorldView&) [clone .part.0] in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6fd6f9c17: Renderer::draw(Tempest::Attachment&, Tempest::Encoder&, unsigned char) in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6fd6fa142: Renderer::draw(Tempest::Encoder&, unsigned char, unsigned long long, Tempest::VectorImage::Mesh&, Tempest::VectorImage::Mesh&, InventoryMenu&, VideoWidget&) in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6fd716aa9: MainWindow::render() in C:\OpenGothic\Gothic2Notr.exe 0x00007ffee472e570: ZN7Tempest10WindowsApi19implSetAsFullscreenEPNS_9SystemApi6WindowEb in C:\OpenGothic\libTempest.dll 0x00007ffee472e8ae: ZN7Tempest10WindowsApi8implExecERNS_9SystemApi11AppCallBackE in C:\OpenGothic\libTempest.dll 0x00007ff6fd9505a4: main in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6fd6412ee: __tmainCRTStartup in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6fd6413e6: WinMainCRTStartup in C:\OpenGothic\Gothic2Notr.exe 0x00007fff614f26ad: BaseThreadInitThunk in C:\Windows\System32\KERNEL32.DLL 0x00007fff62cea9f8: RtlUserThreadStart in C:\Windows\SYSTEM32\ntdll.dll

Game: Gothic II Gold Edition (Steam) Device: Asus Rog Ally APU: Ryzen Z1 Extreme I've tried -rt 0, -window and changed the game to g2_classic (NotR was tried first and it crashed, too) Drivers are up to date with what Asus provides for the device. If you want a version of something specific, I'll gladly add that as a comment.

Thank you for your help in advance.

P.S.: Awesome project! :)

Try commented 1 year ago

Hi, @Tate39 and thanks for report!

I think we already have had similar issue: https://github.com/Try/OpenGothic/issues/451. Basically, AMD commercial driver fails to compile mesh-shaders. Can you please try to run vertex-based path: -ms 0 ?

Tate39 commented 1 year ago

Hi, thank you for the fast response! With -ms 0 I get the following crash log:

---crashlog(SIGSEGV)--- GPU: AMD Radeon Graphics 0x00007ff6bbd29776: dbg::call_stack<64u>::collect(unsigned int) in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6bbbd480c: CrashLog::dumpStack(char const*) in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6bbbd4ee9: signalHandler(int) in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6bbcfd572: _gnu_exception_handler in C:\OpenGothic\Gothic2Notr.exe 0x00007fff62d1efa7: _C_specific_handler in C:\Windows\SYSTEM32\ntdll.dll 0x00007fff62d33cff: _chkstk in C:\Windows\SYSTEM32\ntdll.dll 0x00007fff62cae456: RtlFindCharInUnicodeString in C:\Windows\SYSTEM32\ntdll.dll 0x00007fff62d32cee: KiUserExceptionDispatcher in C:\Windows\SYSTEM32\ntdll.dll 0x00007ffedc2ed50c: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc2ebac0: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc27554d: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc276fd9: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc2772ef: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc2770f6: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc26d2c2: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc23660c: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc236926: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc24c2c2: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc15f39b: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedc157d40: boost::serialization::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> >::singleton<boost::serialization::extended_type_info_typeid<_SC_SI_DESCRIPTOR_VALUES> > in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedbe909f2: DllMain in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedbdc3dca: [unknown function] in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedbe2c6d0: vk_icdNegotiateLoaderICDInterfaceVersion in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedbe2d4d2: vk_icdNegotiateLoaderICDInterfaceVersion in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007ffedbe0e2e4: [unknown function] in C:\Windows\System32\DriverStore\FileRepository\u0392738.inf_amd64_8b11da631d1568d0\B392686\amdvlk64.dll 0x00007fff20434cd7: vkDestroyDescriptorPool in C:\Windows\SYSTEM32\vulkan-1.dll 0x00007ffefd9c9567: ZN7Tempest6Detail9VPipeline20initGraphicsPipelineEP10VkDevice_TyPKNS0_15VFramebufferMap10RenderPassEPK29VkPipelineRenderingCreateInfoRKNS_11RenderStateEPKNS_4Decl13ComponentTypeEyyNS_8TopologyEPKNS0_10DSharedPtrIPKNS0_7VShaderEEE in C:\OpenGothic\libTempest.dll 0x00007ffefd9ca461: ZN7Tempest6Detail9VPipeline8instanceERK29VkPipelineRenderingCreateInfoyy in C:\OpenGothic\libTempest.dll 0x00007ffefd9bd26f: ZN7Tempest6Detail14VCommandBuffer11setPipelineERNS_19AbstractGraphicsApi8PipelineE in C:\OpenGothic\libTempest.dll 0x00007ffefd9d4c66: ZN7Tempest7EncoderINS_13CommandBufferEE11setUniformsERKNS_14RenderPipelineE in C:\OpenGothic\libTempest.dll 0x00007ffefd9d4d65: ZN7Tempest7EncoderINS_13CommandBufferEE11setUniformsERKNS_14RenderPipelineERKNS_13DescriptorSetE in C:\OpenGothic\libTempest.dll 0x00007ff6bbb89db2: Renderer::draw(Tempest::Attachment&, Tempest::Encoder&, unsigned char) in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6bbb8a142: Renderer::draw(Tempest::Encoder&, unsigned char, unsigned long long, Tempest::VectorImage::Mesh&, Tempest::VectorImage::Mesh&, InventoryMenu&, VideoWidget&) in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6bbba6aa9: MainWindow::render() in C:\OpenGothic\Gothic2Notr.exe 0x00007ffefd9de570: ZN7Tempest10WindowsApi19implSetAsFullscreenEPNS_9SystemApi6WindowEb in C:\OpenGothic\libTempest.dll 0x00007ffefd9de8ae: ZN7Tempest10WindowsApi8implExecERNS_9SystemApi11AppCallBackE in C:\OpenGothic\libTempest.dll 0x00007ff6bbde05a4: main in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6bbad12ee: __tmainCRTStartup in C:\OpenGothic\Gothic2Notr.exe 0x00007ff6bbad13e6: WinMainCRTStartup in C:\OpenGothic\Gothic2Notr.exe 0x00007fff614f26ad: BaseThreadInitThunk in C:\Windows\System32\KERNEL32.DLL 0x00007fff62cea9f8: RtlUserThreadStart in C:\Windows\SYSTEM32\ntdll.dll

I tried adding -rt 0 and now it's working. I guess the AMD APU also can't do rey queries.

Nindaleth commented 1 year ago

I suppose the AMD driver for Ally is bugged, because Steam Deck/Van Gogh RDNA2 GPU architecture is already capable of ray tracing, let alone RDNA3 in ROG Ally/Z1 that should be equal or better in all areas.

With the workaround(s) in place, are there any Ally-specific issues that don't happen on desktop/laptop (as an example, for Steam Deck there's #281)?

Tate39 commented 1 year ago

I loaded OpenGothic as non-steam game via steam in order to use the same gamepad mapping that I've used with Gothic II. Camera turns like it's supposed to.

~~The only issue I have are left mouse button clicks. I've mapped that onto the A button. In the original Gothic 2, it works like a charm. OpenGothic, on the other hand, doesn't register every click. I sometimes need to press the button twice. I've read that multiple people have that issue in various games, hence I'd assume it's something wonky about the Ally. It's weird tho that it works flawlessly in Gothic 2.~~

But I guess that this is a separate issue. Edit: The left-click issue is an Asus Rog Ally issue. When I first tried out OpenGothic with the .bat file, it created a profile and used that one even if I started OpenGothic via Steam. I deleted the profile and now it's indeed using the Steam mapping and left-click works as intended.

Try commented 1 year ago

Closing, since it's driver bug