Popular Post vladislavbelov Posted January 11, 2023 Popular Post Report Share Posted January 11, 2023 I was doing different refactorings of our engine for last 1.5 years. It's allowed me to add a new backend (graphics API) - Vulkan. It's relatively new API (as D3D12) which allows us to have a more predictable and stable performance. And in some cases even better performance. But not always as we use it in a single thread yet. Vulkan drivers from different vendors are usually much lighter than GL ones. That's the way to have less driver bugs and crashes. But we still need testing how it works on different hardware. So everyone who has a Vulkan compatible device please try to enable it in options (along with feedback). If you're able to run SVN then you already can test it. Else wait for the next RC. Note: to run the game you'd need to download and install a separate mod with precompiled shaders (it'll be bundled in RCs and the Release): https://releases.wildfiregames.com/rc/0ad-spirv.zip. Vulkan can't run pure GLSL shaders (which we use for GL), it uses a special binary format for shaders: SPIR-V. Vulkan allows us to use different interesting features. For example it allows to select the most appropriate GPU to use. It means no more crashes because of wrong GPU, I hope Also Vulkan supports multithreading. If you still have some time you could run the game with validation enabled. It makes the game slower but validates a lot more different internal things. It should help to make Vulkan stable for the release. To enable validation you need to add the following lines to your usef.cfg: renderer.backend.debugcontext = "true" renderer.backend.debuglabels = "true" renderer.backend.debugmessages = "true" renderer.backend.debugscopedlabels = "true" Known issues: Screenshots aren't implemented yet, but going to be during Feature Freeze rP27552 Some precompiled shaders are missing, please report if the game says so macOS isn't supported yet, but we have plans to do so via MoltenVk rP27488 Missing silhouettes rP27418 Unsupported depth formats cause an assertion rP27421 Stretching on window resize after fullscreen switch rP27422 9 16 Quote Link to comment Share on other sites More sharing options...
hyperion Posted January 11, 2023 Report Share Posted January 11, 2023 Thank you! 2 Quote Link to comment Share on other sites More sharing options...
asterix Posted January 11, 2023 Report Share Posted January 11, 2023 @vladislavbelov you very much deserve our aplause, it must have been lot of work 2 Quote Link to comment Share on other sites More sharing options...
hyperion Posted January 11, 2023 Report Share Posted January 11, 2023 Gpu: amd vega 11 ERROR: Format 129 doesn't support sampling for optimal tiling. Thread 1 "main" received signal SIGSEGV, Segmentation fault. Renderer::Backend::Vulkan::CFramebuffer::Create (device=0x55555681b310, name=0x555555cbdedb "PostprocCaptureFramebuffer", colorAttachment=0x7fffffffc040, depthStencilAttachment=0x7fffffffc030) at ../../../source/renderer/backend/vulkan/Texture.h:50 50 uint32_t GetWidth() const override { return m_Width; } (gdb) bt #0 Renderer::Backend::Vulkan::CFramebuffer::Create (device=0x55555681b310, name=0x555555cbdedb "PostprocCaptureFramebuffer", colorAttachment=0x7fffffffc040, depthStencilAttachment=0x7fffffffc030) at ../../../source/renderer/backend/vulkan/Texture.h:50 #1 0x00005555559d9a05 in Renderer::Backend::Vulkan::CDevice::CreateFramebuffer (this=<optimized out>, name=<optimized out>, colorAttachment=<optimized out>, depthStencilAttachment=<optimized out>) at ../../../source/renderer/backend/vulkan/Device.cpp:711 #2 0x0000555555978822 in CPostprocManager::RecreateBuffers (this=0x555556cb8758) at ../../../source/renderer/PostprocManager.cpp:244 #3 0x0000555555978d12 in CPostprocManager::Initialize (this=0x555556cb8758) at ../../../source/renderer/PostprocManager.cpp:155 #4 0x000055555597f03c in CRenderer::Open (height=<optimized out>, width=<optimized out>, this=0x555556d13480) at /usr/lib/gcc/x86_64-pc-linux-gnu/11/include/g++-v11/bits/unique_ptr.h:173 #5 CRenderer::CRenderer (this=this@entry=0x555556d13480) at ../../../source/renderer/Renderer.cpp:325 #6 0x00005555558333e8 in InitGraphics (args=..., flags=flags@entry=0, installedMods=std::vector of length 0, capacity 0) at ../../../source/ps/GameSetup/GameSetup.cpp:680 #7 0x000055555560f1fc in RunGameOrAtlas (argv=...) at ../../../source/main.cpp:682 #8 0x00005555555fa6d8 in main (argc=1, argv=0x7fffffffd688) at ../../../source/main.cpp:740 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted January 11, 2023 Author Report Share Posted January 11, 2023 30 minutes ago, hyperion said: Gpu: amd vega 11 Thanks for testing! Could you disable postproc in your user.cfg and upload userreport_hwdetect.txt here? Quote Link to comment Share on other sites More sharing options...
hyperion Posted January 11, 2023 Report Share Posted January 11, 2023 with user.cfg: sharpening = "disabled" antialiasing = "disabled" same result vulkaninfo.txt userreport_hwdetect.txt Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted January 11, 2023 Author Report Share Posted January 11, 2023 4 minutes ago, hyperion said: with user.cfg: sharpening = "disabled" antialiasing = "disabled" same result vulkaninfo.txt 64 kB · 0 downloads userreport_hwdetect.txt 13 kB · 0 downloads I got the reason, will make a patch tonight. Thank you! 2 Quote Link to comment Share on other sites More sharing options...
nwtour Posted January 11, 2023 Report Share Posted January 11, 2023 (edited) Hello. Good news!But after changing render: Assertion failed: "IsFramebufferFormatSupported(format)" Location: Device.cpp:850 (GetPreferredDepthStencilFormat) Call stack: (0x555555bc97c1) /binaries/system/pyrogenesis(+0x6757c1) [0x555555bc97c1] (0x555555b79ec1) /binaries/system/pyrogenesis(+0x625ec1) [0x555555b79ec1] (0x555555b7b973) /binaries/system/pyrogenesis(+0x627973) [0x555555b7b973] (0x555555b7be07) /binaries/system/pyrogenesis(+0x627e07) [0x555555b7be07] (0x5555559c986e) /binaries/system/pyrogenesis(+0x47586e) [0x5555559c986e] (0x55555599dc17) /binaries/system/pyrogenesis(+0x449c17) [0x55555599dc17] (0x55555588f8e1) /binaries/system/pyrogenesis(+0x33b8e1) [0x55555588f8e1] (0x555555892b1e) /binaries/system/pyrogenesis(+0x33eb1e) [0x555555892b1e] (0x5555558205e5) /binaries/system/pyrogenesis(+0x2cc5e5) [0x5555558205e5] (0x555555b7b989) /binaries/system/pyrogenesis(+0x627989) [0x555555b7b989] (0x555555b7be07) /binaries/system/pyrogenesis(+0x627e07) [0x555555b7be07] (0x555555937c8a) /binaries/system/pyrogenesis(+0x3e3c8a) [0x555555937c8a] (0x55555593a467) /binaries/system/pyrogenesis(+0x3e6467) [0x55555593a467] (0x555555a725a7) /binaries/system/pyrogenesis(+0x51e5a7) [0x555555a725a7] (0x555555a734f4) /binaries/system/pyrogenesis(+0x51f4f4) [0x555555a734f4] (0x55555596d412) /binaries/system/pyrogenesis(+0x419412) [0x55555596d412] errno = 0 (No error reported here) OS error = ? [Detaching after fork from child process 65031] Warning: Cannot convert string "vlines2" to type Pixmap Redirecting call to abort() to mozalloc_abort Thread 1 "main" received signal SIGSEGV, Segmentation fault. mozalloc_abort (msg=msg@entry=0x7ffff7b49580 "Redirecting call to abort() to mozalloc_abort\n") at /home/nwtour/ff/new0ad/libraries/source/spidermonkey/mozjs-91.13.1/memory/mozalloc/mozalloc_abort.cpp:33 33 MOZ_CRASH(); (gdb) bt #0 mozalloc_abort (msg=msg@entry=0x7ffff7b49580 "Redirecting call to abort() to mozalloc_abort\n") at /home/nwtour/ff/new0ad/libraries/source/spidermonkey/mozjs-91.13.1/memory/mozalloc/mozalloc_abort.cpp:33 #1 0x00007ffff70fbd58 in abort () at /home/nwtour/ff/new0ad/libraries/source/spidermonkey/mozjs-91.13.1/memory/mozalloc/mozalloc_abort.cpp:86 #2 0x00005555555ed6cb in try_gui_display_error (no_continue=<optimized out>, allow_suppress=<optimized out>, manual_break=<optimized out>, text=<optimized out>) at ../../../source/lib/sysdep/os/unix/unix.cpp:197 #3 sys_display_error ( text=text@entry=0x555555df4720 <(anonymous namespace)::g_MessageBuffer> L"Assertion failed: \"IsFramebufferFormatSupported(format)\"\r\nLocation: Device.cpp:850 (GetPreferredDepthStencilFormat)\r\n\r\nCall stack:\r\n\r\n(0x555555bc97c1) /home/nwtour/ff/new0ad/binaries/system/pyrogenesi"..., flags=flags@entry=6) at ../../../source/lib/sysdep/os/unix/unix.cpp:216 #4 0x0000555555b7bd0b in CallDisplayError (flags=6, text=0x555555df4720 <(anonymous namespace)::g_MessageBuffer> L"Assertion failed: \"IsFramebufferFormatSupported(format)\"\r\nLocation: Device.cpp:850 (GetPreferredDepthStencilFormat)\r\n\r\nCall stack:\r\n\r\n(0x555555bc97c1) /home/nwtour/ff/new0ad/binaries/system/pyrogenesi"...) at ../../../source/lib/debug.cpp:374 #5 debug_DisplayError (description=0x7fffffffa540 L"Assertion failed: \"IsFramebufferFormatSupported(format)\"", flags=6, context=<optimized out>, lastFuncToSkip=<optimized out>, pathname=<optimized out>, line=850, func=0x555555cad660 "GetPreferredDepthStencilFormat", suppress=0x555555df2570 <Renderer::Backend::Vulkan::CDevice::GetPreferredDepthStencilFormat(unsigned int, bool, bool) const::suppress__>) at ../../../source/lib/debug.cpp:460 #6 0x0000555555b7be07 in debug_OnAssertionFailure (expr=expr@entry=0x555555cc0620 L"IsFramebufferFormatSupported(format)", suppress=suppress@entry=0x555555df2570 <Renderer::Backend::Vulkan::CDevice::GetPreferredDepthStencilFormat(unsigned int, bool, bool) const::suppress__>, file=file@entry=0x555555cb3b00 L"../../../source/renderer/backend/vulkan/Device.cpp", line=line@entry=850, func=func@entry=0x555555cad660 "GetPreferredDepthStencilFormat") at ../../../source/lib/debug.cpp:547 #7 0x00005555559c986e in Renderer::Backend::Vulkan::CDevice::GetPreferredDepthStencilFormat (this=0x5555569584d0, depth=<optimized out>, stencil=<optimized out>) at ../../../source/renderer/backend/vulkan/Device.cpp:850 #8 Renderer::Backend::Vulkan::CDevice::GetPreferredDepthStencilFormat (this=0x5555569584d0, depth=<optimized out>, stencil=<optimized out>) at ../../../source/renderer/backend/vulkan/Device.cpp:831 #9 0x000055555599dc17 in WaterManager::RecreateOrLoadTexturesIfNeeded (this=0x555556c1ed40) at ../../../source/renderer/WaterManager.cpp:236 #10 0x00005555559741b6 in CSceneRenderer::Resize (this=<optimized out>) at ../../../source/renderer/SceneRenderer.cpp:282 #11 0x00005555559689b3 in CRenderer::Resize (this=<optimized out>, width=width@entry=1024, height=height@entry=768) at ../../../source/renderer/Renderer.cpp:383 #12 0x000055555588f8e1 in CVideoMode::UpdateRenderer (w=w@entry=1024, h=h@entry=768) at ../../../source/ps/VideoMode.cpp:773 #13 0x0000555555892b1e in CVideoMode::SetFullscreen (this=0x555555df10c0 <g_VideoMode>, fullscreen=fullscreen@entry=false) at ../../../source/ps/VideoMode.cpp:734 #14 0x00005555558205e5 in psDisplayError () at ../../../source/ps/GameSetup/GameSetup.cpp:125 #15 psDisplayError () at ../../../source/ps/GameSetup/GameSetup.cpp:113 #16 0x0000555555b7b989 in CallDisplayError (flags=6, text=0x555555df4720 <(anonymous namespace)::g_MessageBuffer> L"Assertion failed: \"IsFramebufferFormatSupported(format)\"\r\nLocation: Device.cpp:850 (GetPreferredDepthStencilFormat)\r\n\r\nCall stack:\r\n\r\n(0x555555bc97c1) /home/nwtour/ff/new0ad/binaries/system/pyrogenesi"...) at ../../../source/lib/debug.cpp:371 #17 debug_DisplayError (description=0x7fffffffb780 L"Assertion failed: \"0 && (L\"Can't find a usable technique\")\"", flags=6, context=0x7fffffffbdc0, lastFuncToSkip=<optimized out>, pathname=<optimized out>, line=269, func=0x555555ca6692 "LoadTechnique", suppress=0x555555df1ac0 <CShaderManager::LoadTechnique(std::shared_ptr<CShaderTechnique>&)::suppress__>) at ../../../source/lib/debug.cpp:460 #18 0x0000555555b7be07 in debug_OnAssertionFailure (expr=expr@entry=0x555555ca67c0 L"0 && (L\"Can't find a usable technique\")", suppress=suppress@entry=0x555555df1ac0 <CShaderManager::LoadTechnique(std::shared_ptr<CShaderTechnique>&)::suppress__>, file=file@entry=0x555555ca6710 L"../../../source/graphics/ShaderManager.cpp", line=line@entry=269, func=func@entry=0x555555ca6692 "LoadTechnique") at ../../../source/lib/debug.cpp:547 #19 0x0000555555937c8a in CShaderManager::LoadTechnique (this=0x5555575476c8, tech=std::shared_ptr<CShaderTechnique> (use count 1, weak count 1) = {...}) at ../../../source/graphics/ShaderManager.cpp:269 #20 0x000055555593a467 in CShaderManager::LoadEffect(CStrIntern, CShaderDefines const&, std::function<void (Renderer::Backend::SGraphicsPipelineStateDesc&)> const&) (this=0x5555575476c8, name=name@entry=..., defines=..., callback=...) at ../../../source/graphics/ShaderManager.cpp:138 #21 0x0000555555a725a7 in (anonymous namespace)::CreateShader (name=..., defines=..., depthTestEnabled=<optimized out>) at ../../../source/renderer/OverlayRenderer.cpp:83 #22 0x0000555555a734f4 in OverlayRendererInternals::Initialize (this=0x55555696bf80) at ../../../source/renderer/OverlayRenderer.cpp:266 #23 0x0000555555a74c8f in OverlayRenderer::Initialize (this=<optimized out>) at ../../../source/renderer/OverlayRenderer.cpp:322 #24 0x0000555555974168 in CSceneRenderer::Initialize (this=<optimized out>) at ../../../source/renderer/SceneRenderer.cpp:273 #25 0x000055555596d412 in CRenderer::Open (height=<optimized out>, width=<optimized out>, this=0x5555571279b0) at /usr/include/c++/10/bits/unique_ptr.h:173 #26 CRenderer::CRenderer (this=0x5555571279b0) at ../../../source/renderer/Renderer.cpp:325 #27 0x000055555582d0d8 in InitGraphics (args=..., flags=flags@entry=0, installedMods=std::vector of length 0, capacity 0) at ../../../source/ps/GameSetup/GameSetup.cpp:680 #28 0x000055555560ce14 in RunGameOrAtlas (argv=...) at ../../../source/main.cpp:682 #29 0x00005555555f84c8 in main (argc=1, argv=0x7fffffffe5e8) at ../../../source/main.cpp:740 Linux 6.0.9/AMD Radeon RX 6400 (navi24, LLVM 11.0.1, DRM 3.48) vulkaninfo.txt Edited January 11, 2023 by nwtour Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted January 11, 2023 Author Report Share Posted January 11, 2023 16 minutes ago, nwtour said: Hello. Good news!But after changing render: Seems the same reason. The problem is that D24_S8 isn't enough and we need to use D32_SFLOAT_S8_UINT following rP27379. 1 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted January 11, 2023 Author Report Share Posted January 11, 2023 @hyperion @nwtour Made a patch: D4878. Quote Link to comment Share on other sites More sharing options...
hyperion Posted January 11, 2023 Report Share Posted January 11, 2023 19 minutes ago, vladislavbelov said: @hyperion @nwtour Made a patch: D4878. Fixes the segfault for me. So next one ERROR: Program 'spirv/water_high' with required defines not found. ERROR: "RENDER_DEBUG_MODE": "RENDER_DEBUG_MODE_NONE" ERROR: "SHADOWS_CASCADE_COUNT": "1" ERROR: "USE_DESCRIPTOR_INDEXING": "1" ERROR: "USE_REAL_DEPTH": "1" ERROR: "USE_REFLECTION": "1" ERROR: "USE_REFRACTION": "1" ERROR: "USE_SHADOW": "1" ERROR: "USE_SHADOW_PCF": "1" ERROR: "USE_SHADOW_SAMPLER": "1" ERROR: "USE_FOG": "1" ERROR: Failed to load shader 'spirv/water_high' 1 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted January 11, 2023 Author Report Share Posted January 11, 2023 2 minutes ago, hyperion said: Fixes the segfault for me. Nice! 2 minutes ago, hyperion said: So next one Missed shader, thanks! Does the game work for you except the missing shader? 1 Quote Link to comment Share on other sites More sharing options...
hyperion Posted January 11, 2023 Report Share Posted January 11, 2023 1 minute ago, vladislavbelov said: Missed shader, thanks! Does the game work for you except the missing shader? Crashed due to missing shader when starting the game, no issues up and including gamesetup. Will do more testing later. Quote Link to comment Share on other sites More sharing options...
hyperion Posted January 11, 2023 Report Share Posted January 11, 2023 ERROR: Program 'spirv/terrain_blend' with required defines not found. ERROR: "BLEND": "1" ERROR: "PASS_REFLECTIONS": "1" ERROR: "RENDER_DEBUG_MODE": "RENDER_DEBUG_MODE_NONE" ERROR: "SHADOWS_CASCADE_COUNT": "1" ERROR: "USE_DESCRIPTOR_INDEXING": "1" ERROR: "USE_SHADOW": "1" ERROR: "USE_SHADOW_PCF": "1" ERROR: "USE_SHADOW_SAMPLER": "1" ERROR: "USE_FOG": "1" ERROR: Failed to load shader 'spirv/terrain_blend' Quote Link to comment Share on other sites More sharing options...
hyperion Posted January 11, 2023 Report Share Posted January 11, 2023 Combat demo huge runs much better than using gl. So except for missing shaders probably ok. 1 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted January 11, 2023 Author Report Share Posted January 11, 2023 2 minutes ago, hyperion said: Combat demo huge runs much better than using gl. What's the difference? 2 minutes ago, hyperion said: So except for missing shaders probably ok. Working on that. 1 Quote Link to comment Share on other sites More sharing options...
hyperion Posted January 11, 2023 Report Share Posted January 11, 2023 (edited) 10 minutes ago, vladislavbelov said: What's the difference? Slightly increase framerate and almost no simulation stalls. Edit: ergo playable vs unplayable Edited January 11, 2023 by hyperion 1 1 Quote Link to comment Share on other sites More sharing options...
real_tabasco_sauce Posted January 11, 2023 Report Share Posted January 11, 2023 (edited) Nice work @vladislavbelov, thank you! Will MacOS support be ready in time for the first release candidate? Or will this take longer? Edited January 11, 2023 by real_tabasco_sauce Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted January 11, 2023 Author Report Share Posted January 11, 2023 5 minutes ago, real_tabasco_sauce said: Will MacOS support be ready in time for the first release candidate? Or will this take longer? Can't say yet, it requires MoltenVk integration. It shouldn't be hard but might take a while. 1 Quote Link to comment Share on other sites More sharing options...
hyperion Posted January 11, 2023 Report Share Posted January 11, 2023 (edited) ERROR: Program 'spirv/model_water' with required defines not found. ERROR: "RENDER_DEBUG_MODE": "RENDER_DEBUG_MODE_NONE" ERROR: "SHADOWS_CASCADE_COUNT": "1" ERROR: "USE_DESCRIPTOR_INDEXING": "1" ERROR: "USE_INSTANCING": "1" ERROR: "USE_SHADOW": "1" ERROR: "USE_SHADOW_PCF": "1" ERROR: "USE_SHADOW_SAMPLER": "1" ERROR: "USE_FOG": "1" ERROR: "USE_SPECULAR": "1" ERROR: "USE_NORMAL_MAP": "1" ERROR: "REQUIRE_ALPHA_GEQUAL": "0.05" ERROR: "USE_TRANSPARENT": "1" ERROR: Failed to load shader 'spirv/model_water' ERROR: Program 'spirv/model_solid_player' with required defines not found. ERROR: "MODE_SILHOUETTEDISPLAY": "1" ERROR: "RENDER_DEBUG_MODE": "RENDER_DEBUG_MODE_NONE" ERROR: "SHADOWS_CASCADE_COUNT": "1" ERROR: "USE_DESCRIPTOR_INDEXING": "1" ERROR: "USE_INSTANCING": "1" ERROR: "USE_SHADOW": "1" ERROR: "USE_SHADOW_PCF": "1" ERROR: "USE_SHADOW_SAMPLER": "1" ERROR: "USE_FOG": "1" ERROR: "USE_AO": "1" ERROR: "USE_NORMAL_MAP": "1" ERROR: "USE_SPECULAR_MAP": "1" ERROR: "USE_PARALLAX": "1" ERROR: "USE_PLAYERCOLOR": "1" ERROR: Failed to load shader 'spirv/model_solid_player' ERROR: Program 'spirv/model_solid' with required defines not found. ERROR: "MODE_SILHOUETTEOCCLUDER": "1" ERROR: "RENDER_DEBUG_MODE": "RENDER_DEBUG_MODE_NONE" ERROR: "SHADOWS_CASCADE_COUNT": "1" ERROR: "USE_DESCRIPTOR_INDEXING": "1" ERROR: "USE_SHADOW": "1" ERROR: "USE_SHADOW_PCF": "1" ERROR: "USE_SHADOW_SAMPLER": "1" ERROR: "USE_FOG": "1" ERROR: "USE_NORMAL_MAP": "1" ERROR: "USE_SPECULAR_MAP": "1" ERROR: "USE_PLAYERCOLOR": "1" ERROR: Failed to load shader 'spirv/model_solid' Switching from fullscreen to windowed stretches the view horizontally possibly by gui.scale Edit: add missing horizontally in above sentence. Edited January 11, 2023 by hyperion Quote Link to comment Share on other sites More sharing options...
nwtour Posted January 11, 2023 Report Share Posted January 11, 2023 (edited) 1 hour ago, vladislavbelov said: @hyperion @nwtour Made a patch: D4878. Thanks. Patch https://code.wildfiregames.com/D4878 fixes segfault. Game starts successfully with Vulkan renderer Edited January 11, 2023 by nwtour 1 Quote Link to comment Share on other sites More sharing options...
asterix Posted January 11, 2023 Report Share Posted January 11, 2023 @vladislavbelov there is also new ticket https://trac.wildfiregames.com/ticket/6681 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted January 11, 2023 Author Report Share Posted January 11, 2023 50 minutes ago, hyperion said: Switching from fullscreen to windowed stretches the view horizontally possibly by gui.scale Only view or window as well? 41 minutes ago, nwtour said: Game starts successfully with Vulkan renderer Did you experience any performance difference? 4 minutes ago, asterix said: @vladislavbelov there is also new ticket https://trac.wildfiregames.com/ticket/6681 Yeah, I'm aware of it. It needs some investigation as we can't distinguish that SDL error from a regular one. Quote Link to comment Share on other sites More sharing options...
hyperion Posted January 11, 2023 Report Share Posted January 11, 2023 8 minutes ago, vladislavbelov said: Only view or window as well? 1 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted January 11, 2023 Author Report Share Posted January 11, 2023 25 minutes ago, hyperion said: If you'd try to resize the window by a mouse would fix the stretching? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.