ValveSoftware / Proton

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

Devil May Cry HD Collection (631510) #4059

Open jymmysmcsubs opened 4 years ago

jymmysmcsubs commented 4 years ago

Compatibility Report

System Information

I confirm:

Symptoms

Reproduction

CygnusTerminal commented 4 years ago

Have you tried with Proton-GE? There is a build made to run games that need media foundation.

jymmysmcsubs commented 4 years ago

Yep, I mentioned 5.9-GE-3-ST as a Proton version tried in the System Information section. I think I tried an older maintained version as well in case there had been a regression.

I've since got the game refunded as I wasn't interested in having paid for something I can't reliably use.

VanGrx commented 4 years ago

For GE releases, I think MF tag is used for Media Foundation. No?

I can confirm that the game is crashing on startup on Proton-5.11-GE-3-MF.

mmoore7 commented 4 years ago

It's also crashing for me at the first cut scene. I've tried the following proton versions:

System Info: OS: Arch Linux KERNEL: 5.7.12-arch1-1 CPU: Intel Core i7-8700K @ 3.70GHz GPU: NVIDIA GeForce RTX 2080 Ti GPU DRIVER: NVIDIA 450.57 RAM: 16 GB

kosmas12 commented 3 years ago

I can also confirm cutscenes don't work, tried with:

I need to hex edit the .exe files to remove playback of video files for it to work, though cutscenes are a big part of the games' story, so I don't really want to have to do that. Would be nice to have a fix.

sal-dev commented 3 years ago

Is it possible that this can be fixed with some version of WMP via Protontricks (e.g. wmp10)? I don't have the game, so I can't check, but the issue with cutscenes reminds me of #1253 (cutscene problems in Resident Evil 5).

kosmas12 commented 3 years ago

@sal-dev I tried with wmp11 a bit ago (Only one that I could install on a 64-bit WINEPREFIX), and it didn't really help, unfortunately.

sal-dev commented 3 years ago

@kosmas12 Ouch, that's disappointing to hear, but thanks for reporting back.

The only other possible fix I can think of is Protontrick's wmv9vcm verb. According to this post from the Wine HQ forums, the cutscenes need libraries for a certain WMV codec which wmv9vcm is a part of. This Wine bug report and this WineDB test claim success fixing similar issues in other games using WMV 9 VCM support.

I realize those may seem a little outdated, so here is a success story in fixing Dead or Alive 5's cutscenes on Proton, which involves wmv9vcm. (DOA5's Github issue can be found at #1834.)

Games that require WMP and/or the WMV 9 VCM often need need quartz as well.

EDIT 1: for additional proof of the codecs used by the cutscenes, you can download the Antialiased Cutscene pack from this post and analyze them in the software of your choice. (These cutscenes should be fully compatible replacements for the files in the game's Video folder.)

EDIT 2: In my research, I came across this issue report from the wine-tkg repo. It highlights some of the idiosyncrasies that DMCHD has with WMV playback, indicating that these cutscene problems may very well be from an upstream wine bug (with winegstreamer), but could also be due to immaturity with Media Foundation support. Either way, we're left playing the waiting game.

kosmas12 commented 3 years ago

@sal-dev Sorry for the delay, not too much time in my hands lately.

I tried with the recommended packages but I can't get it to work with those either. As you said, we're left playing the waiting game.

sal-dev commented 3 years ago

@kosmas12 Thanks for testing again. I feared that was going to be the case, since that winegstreamer bug looks particularly fishy and is probably the main culprit here. Still, it's hard to tell whether it's even a bug in the first place without deeper analysis.

kosmas12 commented 3 years ago

It seems that Proton GE has added partial WMV support with version 5.6 (current latest version is 6.5). Have these changes been merged to this version perhaps? I tried to test again with GE 6.5, however couldn't get this game to work without crashing on cutscenes. Perhaps work could be done on it now that the base is there? The patch notes for 5.6 say RE2 and RE3 should work, so perhaps there isn't too much trouble to fix this now?

KayKay91 commented 2 years ago

It seems that Proton GE has added partial WMV support with version 5.6 (current latest version is 6.5). Have these changes been merged to this version perhaps? I tried to test again with GE 6.5, however couldn't get this game to work without crashing on cutscenes. Perhaps work could be done on it now that the base is there? The patch notes for 5.6 say RE2 and RE3 should work, so perhaps there isn't too much trouble to fix this now?

Ran it with Proton GE 6.21 and Proton Experimental, in former it crashes immediately whereas in latter the launcher works but the games still crash.

Cooky-12 commented 2 years ago

works with Proton Experimental, but blackscreen when play video, only play audio

kosmas12 commented 2 years ago

works with Proton Experimental, but blackscreen when play video, only play audio

Well that's still quite some progress from completely crashing, props to the Proton team!

SpidFightFR commented 2 years ago

Still doesn't work: With either Proton experimental or Proton-GE

Blisto91 commented 2 years ago

@SpidFightFR post a proton log if you can and a steam system information report

SpidFightFR commented 2 years ago

Here are the logs:

-dmc1_d3d11.log ``` info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0 info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0 info: Device properties: info: Device name: : NVIDIA GeForce GTX 1060 6GB info: Driver version : 515.48.7 info: Enabled device extensions: info: VK_EXT_4444_formats info: VK_EXT_conservative_rasterization info: VK_EXT_custom_border_color info: VK_EXT_depth_clip_enable info: VK_EXT_extended_dynamic_state info: VK_EXT_host_query_reset info: VK_EXT_robustness2 info: VK_EXT_shader_demote_to_helper_invocation info: VK_EXT_shader_viewport_index_layer info: VK_EXT_transform_feedback info: VK_EXT_vertex_attribute_divisor info: VK_KHR_create_renderpass2 info: VK_KHR_depth_stencil_resolve info: VK_KHR_draw_indirect_count info: VK_KHR_driver_properties info: VK_KHR_external_memory_win32 info: VK_KHR_image_format_list info: VK_KHR_sampler_mirror_clamp_to_edge info: VK_KHR_shader_float_controls info: VK_KHR_swapchain info: Device features: info: robustBufferAccess : 1 info: fullDrawIndexUint32 : 1 info: imageCubeArray : 1 info: independentBlend : 1 info: geometryShader : 1 info: tessellationShader : 1 info: sampleRateShading : 1 info: dualSrcBlend : 1 info: logicOp : 1 info: multiDrawIndirect : 1 info: drawIndirectFirstInstance : 1 info: depthClamp : 1 info: depthBiasClamp : 1 info: fillModeNonSolid : 1 info: depthBounds : 1 info: multiViewport : 1 info: samplerAnisotropy : 1 info: textureCompressionBC : 1 info: occlusionQueryPrecise : 1 info: pipelineStatisticsQuery : 1 info: vertexPipelineStoresAndAtomics : 0 info: fragmentStoresAndAtomics : 1 info: shaderImageGatherExtended : 1 info: shaderStorageImageExtendedFormats : 0 info: shaderStorageImageReadWithoutFormat : 1 info: shaderStorageImageWriteWithoutFormat : 1 info: shaderClipDistance : 1 info: shaderCullDistance : 1 info: shaderFloat64 : 1 info: shaderInt64 : 1 info: variableMultisampleRate : 1 info: VK_EXT_4444_formats info: formatA4R4G4B4 : 1 info: formatA4B4G4R4 : 1 info: VK_EXT_custom_border_color info: customBorderColors : 1 info: customBorderColorWithoutFormat : 1 info: VK_EXT_depth_clip_enable info: depthClipEnable : 1 info: VK_EXT_extended_dynamic_state info: extendedDynamicState : 1 info: VK_EXT_host_query_reset info: hostQueryReset : 1 info: VK_EXT_memory_priority info: memoryPriority : 0 info: VK_EXT_robustness2 info: robustBufferAccess2 : 1 info: robustImageAccess2 : 1 info: nullDescriptor : 1 info: VK_EXT_shader_demote_to_helper_invocation info: shaderDemoteToHelperInvocation : 1 info: VK_EXT_transform_feedback info: transformFeedback : 1 info: geometryStreams : 1 info: VK_EXT_vertex_attribute_divisor info: vertexAttributeInstanceRateDivisor : 1 info: vertexAttributeInstanceRateZeroDivisor : 1 info: VK_KHR_buffer_device_address info: bufferDeviceAddress : 0 info: Queue families: info: Graphics : 0 info: Transfer : 1 info: DXVK: Read 13 valid state cache entries info: DXVK: Using 7 compiler threads info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_B8G8R8A8_UNORM info: Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR info: Buffer size: 1920x1080 info: Image count: 2 info: Exclusive FS: 2 info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_B8G8R8A8_UNORM info: Present mode: VK_PRESENT_MODE_FIFO_KHR info: Buffer size: 1920x1080 info: Image count: 3 info: Exclusive FS: 2 ```
- dmc1_dxgi.log ``` info: Game: dmc1.exe info: DXVK: v1.10.1-async info: Built-in extension providers: info: Win32 WSI info: OpenVR info: OpenXR warn: OpenXR: Unable to get required Vulkan instance extensions size info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface warn: OpenXR: Unable to get required Vulkan Device extensions size info: NVIDIA GeForce GTX 1060 6GB: info: Driver: 515.48.7 info: Vulkan: 1.3.205 info: Memory Heap[0]: info: Size: 6144 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 11989 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 info: Game: dmc1.exe info: DXVK: v1.10.1-async info: Built-in extension providers: info: Win32 WSI info: OpenVR info: OpenXR info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: NVIDIA GeForce GTX 1060 6GB: info: Driver: 515.48.7 info: Vulkan: 1.3.205 info: Memory Heap[0]: info: Size: 6144 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 11989 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 ```

System info:

OS: Arch (64bit) Kernel: 5.18.1-zen1-1-zen CPU: AMD R5 2600 GPU: GTX 1060 6Gb (Founders edition) GPU Driver: 515.48.07 RAM: 16GB DDR4 Proton: GE-proton V7-20

(Edit: typo)

kisak-valve commented 2 years ago

Hello @SpidFightFR, in the future, please attach logs as a file or use a gist. You can add PROTON_LOG=1 %command% to the game's launch options to tell Proton you want a log, then run the game and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.)

SpidFightFR commented 2 years ago

@kisak-valve Hello, understood. My apologies.

Blisto91 commented 2 years ago

The kisak is a ever watching hawk :grin:

kosmas12 commented 2 years ago

Just wanted to shed some more light here, it would seem whenever I try to play cutscenes I get a black screen for just a little bit and it skips the whole thing directly, no audio (as was stated above at one point). This has been last tested with Proton GE 7.10. Not an issue for me, just a status update. Perhaps it has been fixed with later Proton GE. Or maybe I am missing some package in my WINE prefix? Either way, I am talking about a stock Proton GE 7.10-generated prefix.

SpidFightFR commented 2 years ago

Hello guys. Thank you @kosmas12 for your suggestion, the game indeed works with protonGE 7-10. i don't understand why tho. I'll make a report on protondb.com.

Have a nice day, guys.

kosmas12 commented 2 years ago

@SpidFightFR No problem, you have a nice day too!

TheNamelessWonderer commented 2 years ago

If I use ProtonGE 7-10 do the cutscenes play or do they get skipped? Also it says Proton 7.0-2 that it is playable? Does playable mean without cutscenes?

SpidFightFR commented 2 years ago

If I use ProtonGE 7-10 do the cutscenes play or do they get skipped? Also it says Proton 7.0-2 that it is playable? Does playable mean without cutscenes?

Hey @TheNamelessWonderer , with protonGE 7-10, cutscenes are skipped with a black screen and no sounds for a few seconds, then skips to the next menu.

That is for the Video cutscenes. Concerning cutscenes in the game engine, they play without problem.

TheNamelessWonderer commented 2 years ago

Oh that makes more sense. I loaded it up with Proton-GE 7.20 and a cutscene played after new game but it must be in engine. It's odd that Proton-GE can't play them because it can play WMV files in other games just fine.

SpidFightFR commented 2 years ago

Oh that makes more sense. I loaded it up with Proton-GE 7.20 and a cutscene played after new game but it must be in engine. It's odd that Proton-GE can't play them because it can play WMV files in other games just fine.

@TheNamelessWonderer I believe it's because of the codec or something, cuz in VLC, they are playing very badly (cuz DMC1 is very old)...

VanGrx commented 2 years ago

Can confirm the game and videos work perfectly with GE-Proton7-24 and above!

kosmas12 commented 2 years ago

Can confirm the game and videos work perfectly with GE-Proton7-24 and above!

Oh my God I absolutely need to try this!

jonnyledger commented 2 years ago

Tested GE-Proton7-24 and 7-27 on the steamdeck and FMV cutscenes are still skipped - it's not obvious that you're missing anything as in-engine cutscenes play fine.

VanGrx commented 2 years ago

Tested GE-Proton7-24 and 7-27 on the steamdeck and FMV cutscenes are still skipped - it's not obvious that you're missing anything as in-engine cutscenes play fine.

Yeah. Got excited too early it seems. :disappointed: Sorry for that!

min1up commented 2 years ago

Tested the current Proton Experimental. The cutscenes now render. However, they render upside down. This game is very close to working!

ChaosBlades commented 2 years ago

Can confirm. Subtitles are the correct way around. Seems the audio is layered on the cutscenes. The background music plays fine but when someone talks or there is an effect sound the audio will get scratchy and the video will slightly slow down.

VikingSchism commented 1 year ago

Can also confirm that videos play upside down, and with noisy audio on Proton Experimental. Seeing as the videos are just stored as is in the game files I wanted to try manually flipping the videos to see if that would fix it but couldn't work out a way to achieve that - the videos are stored in WMV format which makes them awkward to work with.

kosmas12 commented 1 year ago

Can also confirm that videos play upside down, and with noisy audio on Proton Experimental. Seeing as the videos are just stored as is in the game files I wanted to try manually flipping the videos to see if that would fix it but couldn't work out a way to achieve that - the videos are stored in WMV format which makes them awkward to work with.

Maybe you could flip it using some program like ffmpeg? That works for a lot of things

coatlessali commented 1 year ago

Maybe you could flip it using some program like ffmpeg? That works for a lot of things

I wrote a script that flips the games videos using ffmpeg. It seems to have issues with DMC1 and works with DMC2/3. Place it into the DMC HD folder. Syntax is ./dmc_flip.sh [game], with [game] being dmc1/dmc2/dmc3. I have no clue how well it works for every cutscene in DMC3, but hopefully Proton gets the necessary fixes at some point.

ChaosBlades commented 1 year ago

As of Proton Experimental Bleeding-Edge 8.0 and Mesa 23.2.0-devel the cut scenes are still upside down and cut scene audio is still slightly distorted.

kisak-valve commented 1 year ago

Sound distortions on Devil May Cry HD Collection

Issue transferred from https://github.com/ValveSoftware/Proton/issues/6837. @ardishco-the-great posted on 2023-06-09T13:33:05:

Compatibility Report

ALSO TESTED WITH A STEAM DECK, BOTH YIELD THE SAME RESULTS

I confirm:

I have attached a video demonstrating the sound distortions on the Steam Deck and a logfile below.

Symptoms

In cutscenes, sound distortions can be observed. Other than that, the game is functionally fine.

Reproduction

  1. Open DMCHD
  2. Boot up DMC3
  3. While the opening cutscene plays, sound distortions will be able to be observed. It is worth noting that the distortions are not random and are at the exact same points both on my desktop and my Steam Deck.

steam-631510.log (from my desktop) Video of sound distortions: https://youtu.be/HpY-N9HyZvU

matthewpetch commented 1 year ago

I'm getting the same issue as @ardishco-the-great on a Steam Deck running latest proton experimental (2023/09/13)

also the cutscene is now no longer flipped (it's still flipped in 8.0-3, so experimental has fixed that)

Danteska commented 11 months ago

For some reason, enabling any kind of compatibility breaks the cutscenes, at least in DMC1.

I tried the ffmpeg workaround shared on ProtonDb (not the same as the one posted above), but it just flips them vertically again, although it does provide a better audio codec. Maybe ffmpeg + Proton 8.0.4 would work, but IIRC last time I tried this with 8.0.3, they were green and got skipped anyway.

matthewpetch commented 9 months ago

Experimental seems to have gone back to the green screen on opening cutscene since I last tested