NVIDIAGameWorks / rtx-remix

Combined repo for the RTX-Remix runtime
https://www.nvidia.com/en-us/geforce/rtx-remix/
MIT License
1.36k stars 69 forks source link

[Runtime Bug]: RTX Remix hangs on startup #579

Open Nukem9 opened 1 month ago

Nukem9 commented 1 month ago

Describe the bug

A bug happens where RTX Remix games hang with a black screen on startup.

How do you reproduce the bug?

(For this issue I'm using the latest driver and CI builds for symbols, but it's reproducible on older 560.XX drivers and older Remix runtimes. This is not exclusive to Portal either.)

What is the expected behavior?

RTX Remix games should reach the main menu after a few seconds.

Version

0.5.4+3c9c2ed9

Logs

hl2_d3d9.log d3d9.log NvRemixBridge.log

Crash dumps

NvRemixBridge.dmp stackdump.txt

Note: this isn't a crash. The attached dump was manually initiated through windbg.

Media

No response

anon-apple commented 1 month ago

I can't seem to repro this, trying it myself I can load Portal RTX just fine. Based on the dump you provided though it seems stuck in the Vulkan driver trying to create a render target image view for the first time when requested to clear the screen, at least assuming it's actually stuck here and this isn't just a red herring:

    ntdll.dll!NtWaitForAlertByThreadId()    Unknown
    ntdll.dll!RtlAcquireSRWLockExclusive()  Unknown
    nvoglv64.dll!00007ff9c5409ae7() Unknown
    nvoglv64.dll!00007ff9c5de8410() Unknown
    nvoglv64.dll!00007ff9c5de79ad() Unknown
    d3d9.dll!dxvk::DxvkImageView::createView(VkImageViewType type, unsigned int numLayers) Line 360 C++
    d3d9.dll!dxvk::DxvkImageView::DxvkImageView(const dxvk::Rc<dxvk::vk::DeviceFn> & vkd, const dxvk::Rc<dxvk::DxvkImage> & image, const dxvk::DxvkImageViewCreateInfo & info) Line 297 C++
    d3d9.dll!dxvk::DxvkDevice::createImageView(const dxvk::Rc<dxvk::DxvkImage> & image, const dxvk::DxvkImageViewCreateInfo & createInfo) Line 280  C++
    d3d9.dll!dxvk::D3D9CommonTexture::CreateView(unsigned int Layer, unsigned int Lod, unsigned int UsageFlags, bool Srgb) Line 591 C++
    [Inline Frame] d3d9.dll!dxvk::D3D9Subresource<IDirect3DSurface9>::GetRenderTargetView(bool) Line 93 C++
    d3d9.dll!dxvk::D3D9DeviceEx::Clear::__l2::<lambda>(unsigned int alignment, VkOffset3D offset, VkExtent3D extent) Line 1642  C++
>   d3d9.dll!dxvk::D3D9DeviceEx::Clear(unsigned long Count, const _D3DRECT * pRects, unsigned long Flags, unsigned long Color, float Z, unsigned long Stencil) Line 1664    C++

Are there any other details regarding your environment, like is this Windows 10 or 11 as that might make some difference.

Nukem9 commented 1 month ago

I'll add in advance - I'm always hesitant to open these types of issues because there's a nonzero chance you'll be chasing down ghosts. Hopefully this helps anyway.

If you take a peek at stackdump.txt you'll notice two active critical sections (CS locks): 0000025fb0bf8080 and 00007ff9cd64d750:

Environment:

Other notes:

anon-apple commented 1 month ago

Yeah based on that it feels like it's possibly more of a driver side issue to me since it's getting stuck there (even if we were doing something wrong getting a deadlock in the driver isn't really desired behavior). We'll look into it though and report back if we can figure out what's going on a bit better.

NV-LL commented 1 week ago

REMIX-3534 for tracking