ValveSoftware / Proton

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

Ratchet & Clank: Rift Apart (1895880) #6968

Open AQDuck97 opened 1 year ago

AQDuck97 commented 1 year ago

Proton: Proton 8.0-3, Proton Experimental, GE-Proton 8-9

Distro: Arch Linux, 6.4.6-zen

GPU: Geforce RTX 3080, 535.86.05

Platform: X11

Launch options: DXVK_FILTER_DEVICE_NAME="NVIDIA GeForce RTX 3080" PROTON_ENABLE_NVAPI=1 PROTON_HIDE_NVIDIA_GPU=0 VKD3D_CONFIG=dxr11,dxr VKD3D_FEATURE_LEVEL=12_2 mangohud PROTON_LOG=1 %command%

The game completely freezes after the Playstation intro and if I don't kill the process fast enough the entire desktop (Plasma 5.27) hangs as well. Running dmesg I get this error during the crash: NVRM: Xid (PCI:0000:0b:00): 109, pid=30603, name=RiftApart.exe, Ch 00000016, errorString CTX SWITCH TIMEOUT, Info 0x1c00c

And in the Proton log I get this: warn:vkd3d-proton:d3d12_command_list_IASetIndexBuffer: Invalid index format 0. This will map to R16_UINT to match observed driver behavior.

Bleuzen commented 1 year ago

It also doesn't start here with default settings, but setting Texture Quality down to Medium lets me get to the main menu. Anything higher freezes after the intro video.

Proton version: GE-Proton8-9 Launch options: PROTON_SET_GAME_DRIVE=1 PROTON_ENABLE_NVAPI=1 VKD3D_CONFIG=dxr11 mangohud %command%

AQDuck97 commented 1 year ago

I tried setting everything to low but still hangs in the same spot and the same errors.

Bleuzen commented 1 year ago

just added my Proton version and launch options to my last comment, try the exact same

used the "High" graphics preset, only dropped texture quality to prevent the freeze, I could get in-game now: Screenshot_20230726_195554

AQDuck97 commented 1 year ago

Same with your options

Bitwolfies commented 1 year ago

GTX 3080, using PROTON_HIDE_NVIDIA_GPU=0 PROTON_ENABLE_NVAPI=1 VKD3D_CONFIG=dxr11 %command%, it gets past the intro where it shows the Wrench loading icon until I hear a beep, then it freezes.

Bitwolfies commented 1 year ago

Yeah, setting to Med gets me in, so the issue is NV cards on Higher or above textures.

AQDuck97 commented 1 year ago

Can confirm that setting it to MEDIUM got me in! I didn't try MEDIUM because I had already put it on the lowest, but I guess there's something special with medium.

AQDuck97 commented 1 year ago

I've played for about an hour now, most settings (aside from textures which are medium) on high (including RT, with DLSS), runs pretty well up until it crashed during one of the "rifts".

AQDuck97 commented 1 year ago

I thought so too at first, but medium textures seems to be the only option that doesn't crash, so there has to be something else.

Bitwolfies commented 1 year ago

For sure anything related to DS or RTX IO does not work atm, rifts are painfully slow. Sadly the only way i see it working is if VKD3D adds RTX IO support and forwards DS calls to RTX IO. Then its just up to mesa to implement the extensions.

hjpaul7 commented 1 year ago

+1

Setting textures to medium allows getting past game freezing after intro logos, but setting it back to high/very high once in game locks it up again.

archification commented 1 year ago

cpu: amd 5800x gpu: nvidia 3090Ti ram: 64GB nvmeSSD: 1TB > slightly more than 200GB of free space available Proton version: GE 8.9 Arch Linux, i3wm, picom, polybar Driver: nvidia-open 535.86.05-4

Originally encountered two error dialogs, one after the other on launch. The first described not being able to detect the GPU. The second described that although my 3090Ti meets the minimum specs, my nvidia driver was outdated. The number listed for the driver version it thought I had was the 32bit max int. Clicking ok through both errors presented me with the launcher. Clicking play would move through the intro videos and then freeze on the first load screen with the wrench icon. The driver fields in the log file located at "/home/jaster/.local/share/Steam/steamapps/compatdata/1895880/pfx/drive_c/users/steamuser/Documents/Ratchet & Clank - Rift Apart/Ratchet & Clank - Rift Apart.log" appeared to be emtpy which may explain why the driver version was incorrect in the error dialog. The next thing I tried was updating my GPU driver and rebooting. This led to exactly the same result. Then I added these launch options VKD3D_CONFIG=dxr VKD3D_FEATURE_LEVEL=12_1 PROTON_HIDE_NVIDIA_GPU=0 PROTON_ENABLE_NVAPI=1 %command% and the game was finally able to launch. I did notice as I tested things that the game continued to crash when texture quality was set to anything above medium. This configuration allowed me to play up until the cinematic "falling through rifts" sequence during the first boss fight. The game froze just as I was falling into the first rift and I found myself staring at a single frame. The purple background behind the portal was displayed and there appeared to be nothing on the other side. I believe this is the first instance in the main path of the game where direct storage is utilized so the issue is likely related to direct storage not working properly. The log file after this crash going into the rift appeared to contain no errors and just simply ends after normal behavior.

Edit: Set the game to low preset and disabled raytracing completely. Enabled dlss. This allowed me to move past the rift cinematic section.

Edit2: Setting texture quality specifically to low although everything else is on high allows me to move past the rift cinematic section.

coreybruce commented 1 year ago

Game brings up a error on launch and then crashes when using proton 8.0-3 but runs perfectly fine with proton Experimental

Screenshot from 2023-07-27 20-27-53

Log: https://gist.github.com/coreybruce/2fe4947b599ab93ed312df9ec6b8c547

NoXPhasma commented 1 year ago

@coreybruce That's an issue with an older version of vkd3d-proton, when you use Proton Experimental that error will go away.

coreybruce commented 1 year ago

That's an issue with an older version of vkd3d-proton, when you use Proton Experimental that error will go away.

Yeah I know that's why I said "but runs perfectly fine with proton Experimental" :P

Bitwolfies commented 1 year ago

Just as confirmation, the AMD gpu deck has no issues at all with high textures.

AQDuck97 commented 1 year ago

Slightly unrelated to the initial crash, but I get the same dmesg error when I get stuck in this rift https://streamable.com/2zyd65

XDM-Inc commented 1 year ago

im having the same issue too. my specs are as follows fedora linux 3090 TI 60gb ram ryzen 5950x

i can max every setting except textures past medium

AQDuck97 commented 1 year ago

I've played for a bit now and got to the planet "Savali". It's completely unplayable on Nvidia and immediately crashes the game regardless of settings. https://streamable.com/ygsbi5

I tried to get through the cutscene on my RX 570 and made a save once I got on the planet, but just 2 seconds after loading the save on the Nvidia card I got the same error as before in dmesg. The planet was loaded and I could run around for those 2 seconds, but it still crashes. I am now softlocked as this is a "forced" section and the backup file the game creates is on this planet, so I cannot go back and choose the other planet.

cbacary commented 1 year ago

I can get game to run at medium preset (every other preset crashes). However, once I get to the nefarious juggernaut and go through the rift that opens in that boss fight the game immediately crashes. Unfortunately, you have to go through this rift. Ratchet & Clank Log File attached, error appears to be the following:

19:20:24:913 (00000608) > [D3D] device->GetD3D12Device()->CreateGraphicsPipelineState(&desc, __uuidof(**(&pso)), IID_PPV_ARGS_Helper(&pso)) failed with HRESULT 2147942487 (0x80070057)

@justbugs97 What does your log file say? I suspect a similar error. Log file can be found at: ~/.steam/steam/steamapps/compatdata/1895880/pfx/drive_c/users/steamuser/Documents/Ratchet & Clank - Rift Apart

Furthermore, Proton log file showed three important messages: 25917.355:013c:0264:warn:vkd3d-proton:d3d12_pipeline_state_init_graphics_create_info: Ignoring stencilTestEnable due to lack of stencil aspect.

25917.441:013c:0140:warn:vkd3d-proton:d3d12_command_list_IASetIndexBuffer: Invalid index format 0. This will map to R16_UINT to match observed driver behavior.

25920.577:013c:0274:err:vkd3d-proton:d3d12_pipeline_state_validate_blend_state: Enabling blending on RT 0 with format DXGI_FORMAT_R16G16B16A16_UINT, but using integer format is not supported.

Ratchet & Clank and Proton log files: Ratchet & Clank - Rift Apart.log

steam-1895880.log

Relevant info: Proton Experimental Pop Os (22.04 LTS) Kernel 6.2.6 GNOME 42.5 X11 RTX 4080 i9-12900kf 32gb ram

AQDuck97 commented 1 year ago

Yeah, same errors @cbacary.

I managed to play a bit more on the planet by reducing the graphics to very low, disabling DLSS and changing resolution to 1080p, however I then made the mistake of trying to up the graphics and accidentally put textures on High (which froze the game), since then I have not been able to load the save at all and I'm fearing it's corrupt.

DreamingRaven commented 1 year ago

I've played for a bit now and got to the planet "Savali". It's completely unplayable on Nvidia and immediately crashes the game regardless of settings. https://streamable.com/ygsbi5

I tried to get through the cutscene on my RX 570 and made a save once I got on the planet, but just 2 seconds after loading the save on the Nvidia card I got the same error as before in dmesg. The planet was loaded and I could run around for those 2 seconds, but it still crashes. I am now softlocked as this is a "forced" section and the backup file the game creates is on this planet, so I cannot go back and choose the other planet.

I got the same issue, I avoided the juggernaught portal issue by switching to my steam deck then loading a save after the fight. I can do the same for this plannet as it works fine on the deck but yeah ... This plannet is a pain, crashes every time it loads.

I also get the same message in my RCRA log file. I am running with:

Proton Experimental & GE 8.9
Archlinux (kver 6.4.7)
nvidia 535.86.05
X11 i3-gaps

game settings presets high with medium textures and launched with:

PROTON_SET_GAME_DRIVE=1 PROTON_ENABLE_NVAPI=1 VKD3D_CONFIG=dxr11 gamemoderun mangohud %command%

Plannet crashed the game just like juggernaught portal, and not much in the game logs other than:

15:07:15:131 (00001344) > [D3D] device->GetD3D12Device()->CreateGraphicsPipelineState(&desc, __uuidof(**(&pso)), IID_PPV_ARGS_Helper(&pso)) failed with HRESULT 2147942487 (0x80070057)
15:07:24:397 (00000328) > [Save] Request load save type 0, control 128, target -1
15:07:24:397 (00001516) > [Save] Request type 3 failed with code 0x00000002
coreybruce commented 1 year ago

That's odd that you have to turn your graphics to low, I'm playing at high preset with a 6700XT

AQDuck97 commented 1 year ago

As was concluded pretty early in the issue, this bug seems to be entirely contained to Nvidia cards.

SniperJoe commented 1 year ago

Having the same issue as cbacary . At first I used Proton Experimental with all default. The game succeeded to start, but freezed trying to show start menu. I have changed game settings to medium and managed to get to Nefarius. But beating him is not possible because the game freezes trying to render rifts.

steam-1895880.log

The log ends with this: 15973.089:0114:0124:fixme:oleacc:find_class_data unhandled window class: L"#32769" 15973.089:0114:0124:fixme:uiautomation:uia_get_providers_for_hwnd Override provider callback currently unimplemented. 15973.089:0114:0124:fixme:uiautomation:msaa_provider_GetPropertyValue Unimplemented propertyId 30024 15973.091:0114:0124:fixme:uiautomation:uia_element_GetCurrentPropertyValueEx Default property values currently unimplemented 15973.091:0114:0124:fixme:uiautomation:uia_element_GetCurrentPropertyValueEx Default property values currently unimplemented 15973.091:0114:0124:fixme:uiautomation:msaa_provider_GetPatternProvider Unimplemented patternId 10002 15973.091:0114:0124:fixme:uiautomation:nc_provider_GetPatternProvider 00000000008F2CE0, 10002, 0000000001B2EC90: stub 15973.091:0114:0124:fixme:uiautomation:base_hwnd_provider_GetPatternProvider 00000000008F2C50, 10002, 0000000001B2EC90: stub

covers1624 commented 1 year ago

I am also experiencing these issues. The game needs to be run with Medium textures, everything else functions as expected when maxed out, even RayTracing. I was able to work around the first juggernaut by playing that section on SteamDeck. However, now I am getting stuck trying to get to Savali.

Logs: Game Log, Proton log

I have done some digging and have found the following:

From the game log, the failed CreateGraphicsPipelineState calls: [D3D] device->GetD3D12Device()->CreateGraphicsPipelineState(&desc, __uuidof(**(&pso)), IID_PPV_ARGS_Helper(&pso)) failed with HRESULT 2147942487 (0x80070057) Appear to be caused by: err:vkd3d-proton:d3d12_pipeline_state_validate_blend_state: Enabling blending on RT 0 with format DXGI_FORMAT_R16G16B16A16_UINT, but using integer format is not supported. The offending code in VKD3D is here. Disabling this return and just letting it disable blend prevents the E_INVALIDARG HRESULT. However, the game still hangs for me trying to enter Savali.

The other wine warnings about stubbed methods appear to happen when alt-tabbing and seem unrelated:

148236.250:0110:0124:fixme:oleacc:find_class_data unhandled window class: L"#32769"
148236.250:0110:0124:fixme:uiautomation:uia_get_providers_for_hwnd Override provider callback currently unimplemented.
148236.250:0110:0124:fixme:uiautomation:msaa_provider_GetPropertyValue Unimplemented propertyId 30024
148236.251:0110:0124:fixme:uiautomation:uia_element_GetCurrentPropertyValueEx Default property values currently unimplemented
148236.251:0110:0124:fixme:uiautomation:uia_element_GetCurrentPropertyValueEx Default property values currently unimplemented
148236.251:0110:0124:fixme:uiautomation:msaa_provider_GetPatternProvider Unimplemented patternId 10002
148236.251:0110:0124:fixme:uiautomation:nc_provider_GetPatternProvider 00000000004B5DB0, 10002, 0000000001B2EC90: stub
148236.251:0110:0124:fixme:uiautomation:base_hwnd_provider_GetPatternProvider 00000000004B5D20, 10002, 0000000001B2EC90: stub
coreybruce commented 1 year ago

As was concluded pretty early in the issue, this bug seems to be entirely contained to Nvidia cards.

Ahh I see, that sucks

hjpaul7 commented 1 year ago

Latest Proton Experimental actually let me get to main menu and select a save file with texture settings set to "very high". After selecting save -> then it locked up lol. Some progress.

AQDuck97 commented 1 year ago

Same errors I assume? @hustin-paul

DRIVANnega commented 1 year ago

i can verfily the game runs great on my setup 3070ti and 7900xt only issue be rtx io is not working yet and proton-ge devs are very aware on the issue that they are waiting for linux dev start updating vulkan stack so nvidia can update their drivers for linux, they are depending on linux vulkan stack updates that have new 2 features codes for gdeflate to work on linux platform with VK_NV_memory_decompression= handles decompressing assets on GPU, and VK_NV_copy_memory_indirect handles copying decompressed data to Vulkan buffers/images....

right now for amd users ...there is no support as this time so they gonna get lot of lags between portals and loading constant than proton experiment dxvk_async would alleviated somewhat but it will freeze often during portals that requires Microsoft direct storage library on windows 11

Bitwolfies commented 1 year ago

Deleting the dstorage.dll and dstoragecore.dll fixed the high graphics crash! Game runs way better now! Directstorage not being implemented is whats screwing with the game. Since it only fires off on NV cards we can assume its related to RTX io.

DRIVANnega commented 1 year ago

for now deleting it would run best until vulkan gets updated for proton-ge devs to get implemented soon, it looking promising for the tech on my 3070ti, but sadly it run very poorly on 7900xt in full rt mode, with FSR2 is just don't help much, so i have to turn it off and cause it run like dog shit than ps5 RT performance mode, i wonder why amd not able use what sony use for their pc counterpart users ...it would run better than nothing even though ps5 rt detail kind it awkward with shadows is similar to nvidia RT on low

Bitwolfies commented 1 year ago

You mention GE a lot, is it not the VKD3D-proton devs adding it?

DRIVANnega commented 1 year ago

they are matching their version closely to experiment version that i don't normally use it directly on steam platform than running outside by desktop shortcuts with commands i put in place while make sure i don't use built in lsteamclient.dll on both i386 and x64 libraries for playing non-steam games and run better without steam interface loaded but i do keep separated copy for steam that normally ge folks added patches and fixes while steam own experiment might be updated day later or 2 before proton-GE implemented it on following days or weeks ..think of this when ubuntu gets latest stuff vs pop_os is behind in little bit for entire year of updates for their OS...stability is what GE folks focus on than bleeding edge folks

AQDuck97 commented 1 year ago

So after today's update I'm completely unable to get past the menu, once I've loaded a save (auto save, manual save, brand new save, etc.) I'm stuck on a black screen with the menu music playing in the background. (00000324) > [Render] SL set d3d device failed. Error:Result::eErrorNotInitialized is the error I get in the Ratchet log

ofcaah commented 1 year ago

Deleting the dstorage.dll and dstoragecore.dll fixed the high graphics crash! Game runs way better now! Directstorage not being implemented is whats screwing with the game. Since it only fires off on NV cards we can assume its related to RTX io.

I can confirm that deleting dstorage.dll and dstoragecore.dll allows game startup with very high texture quality and progression past rift during boss fight on RTX 3090. Thanks for the tip.

GloriousEggroll commented 1 year ago

rather than deleting dstorage.dll and dstoragecore.dll can you instead try launching the game with:

WINEDLLOVERRIDES="dstorage=d,dstoragecore=d" %command%

GloriousEggroll commented 1 year ago

they are matching their version closely to experiment version that i don't normally use it directly on steam platform than running outside by desktop shortcuts with commands i put in place while make sure i don't use built in lsteamclient.dll on both i386 and x64 libraries for playing non-steam games and run better without steam interface loaded but i do keep separated copy for steam that normally ge folks added patches and fixes while steam own experiment might be updated day later or 2 before proton-GE implemented it on following days or weeks ..think of this when ubuntu gets latest stuff vs pop_os is behind in little bit for entire year of updates for their OS...stability is what GE folks focus on than bleeding edge folks

this reads as a giant run on sentence..

it's proton-experimental and vkd3d-proton devs that are doing all the work here. Just want to clarify that. Proton-GE builds on top of proton-experimental wine and vkd3d-proton changes that have already been upstreamed. Basically if it works in proton-experimental, then it should work in proton-ge, and usually it's bleeding edge that receives game fixes before any other forks such as my own.

ofcaah commented 1 year ago

rather than deleting dstorage.dll and dstoragecore.dll can you instead try launching the game with:

WINEDLLOVERRIDES="dstorage=d,dstoragecore=d" %command%

Same result, game starts correctly even with very high quality textures.

DRIVANnega commented 1 year ago

sure gloriouseggroll, and i watching how my little program been doing all those years as this late after calling quits way back then when creator just vanish from this planet , since i did started the idea of manipulating windows dlls from wine itself since its free from them, and i been getting tired of it for them not gonna anywhere with wine dlls by installing dx9 redist files over it. so i thought it would be neat hack the code from wine creators since i am not a coder in my experience just tweaking and tinker what is established and by then the team grew fast in that approach then i quit when someone took over it from github, the reason i quit is valve , i don't like valve business

Bitwolfies commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6968#issuecomment-1659263274

Thats why I was confused, didn't make any sense that you somehow we're getting DS to run when that's not your field. Though I wonder where he got his info from about the work being done on it. I had assumed those RTX IO extensions would be the key but Ive heard zero work on them being added to mesa or VKD3D-Proton.

GloriousEggroll commented 1 year ago

rather than deleting dstorage.dll and dstoragecore.dll can you instead try launching the game with: WINEDLLOVERRIDES="dstorage=d,dstoragecore=d" %command%

Same result, game starts correctly even with very high quality textures.

then this is very likely a much better workaround than deleting game files. I can add a proton-ge protonfix for it but valve will also likely want to do something similar

Blisto91 commented 1 year ago

The newly released Proton Experimental includes some vkd3d-proton work which should help the Nvidia direct storage issues. Do tell if any problems occur.

KingKrouch commented 1 year ago

Looks like with the new game update, there's no way to enable raytracing on AMD cards on Linux. On Windows, you need a specific recent driver version that doesn't seem to even appear in Radeon Software's updates section in order for the game to let you enable raytracing.

Has anyone had any luck getting it working with RT on Linux with an AMD GPU?

Walaryne commented 1 year ago

Looks like with the new game update, there's no way to enable raytracing on AMD cards on Linux. On Windows, you need a specific recent driver version that doesn't seem to even appear in Radeon Software's updates section in order for the game to let you enable raytracing.

Has anyone had any luck getting it working with RT on Linux with an AMD GPU?

Confirming the same issue, was attempting to find a solution by faking the reported driver version, but I have no understanding of any ability of Proton to do this. My mesa driver is the latest pull from around 2~ hours ago, so I definitely have the "latest".

tuxtergames commented 1 year ago

after update from 08/09 break the game here with nvidia driver.

tuxtergames commented 1 year ago

after update from 08/09 break the game here with nvidia driver.

rollback to previous update game start again

image

AJuujarvi commented 1 year ago

after update from 08/09 break the game here with nvidia driver.

@tuxtergames Can you try on Proton Experimental again without being on the Ratchet & Clank beta? We just pushed out an update that should fix it.

ntippie commented 1 year ago

@AJuujarvi I can load into game now on Nvidia 3090 on Very High settings with latest Proton Experimental, with no custom command args.

tuxtergames commented 1 year ago

after update from 08/09 break the game here with nvidia driver.

@tuxtergames Can you try on Proton Experimental again without being on the Ratchet & Clank beta? We just pushed out an update that should fix it.

Testing here, its working again with experimental bleeding edge, but without RT and DLSS, if you leaving this options on launcher game won't launch, I using here just gamemode and mangohud with a 3060ti on a desktop in high settings, tks for this fix guys, you rock!!!!!