ValveSoftware / Proton

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

Spyro Reignited Trilogy (996580) #3035

Open flibitijibibo opened 5 years ago

flibitijibibo commented 5 years ago

Compatibility Report

System Information

I confirm:

This log is from a GTX770 box...

steam-996580.log

Symptoms

Prerendered cutscenes do not run, as they appear to use a codec that's not yet supported. The game thankfully skips them, so the game should not crash or render anything incorrectly.

Reproduction

  1. Boot the game
  2. Endure the shader compile times...
  3. Start Spyro 1
  4. Note a single frame between two separate loading times during the intro
  5. Game otherwise runs!
dribbleondo commented 5 years ago

The game skips all pre-rendered cutscenes. (Edit as it happens regardless of if you're using DXVK or not)

ryao commented 5 years ago

Game works entirely as expected, at least at a first glance...

@flibitijibibo Why open the report? Is the xaudio2 label to track games using xaudio2 rather than games with xaudio2 issues?

FurbyonSteroid commented 5 years ago

The game skips all pre-rendered cutscenes when run with DXVK.

It skips them no matter what. Even if you run it via PROTON_USE_WINED3D=1.

ryao commented 5 years ago

That might be related to #1464.

kherchel commented 5 years ago

Confirming the same bug happening to me.

Possibly valuable info: the game uses H264 - MPEG-4 AVC (part 10) (avc1) video with fourteen 48000Hz MPEG AAC Audio (mp4a) channels - one of them is 32 bps, the rest 16 bps.

flibitijibibo commented 5 years ago

Updated the OP with an example of a missing pre-render. Somehow I missed this in my initial test. Aside from the pre-renders, everything else appears to work, including 5.1 support when setting SDL_AUDIO_CHANNELS=6.

bobberb commented 5 years ago

How are other pre-renders handled?

dribbleondo commented 5 years ago

From different games, well they use different file formats. Hitman 2 and 2016 use WebM if I recall.

bobberb commented 5 years ago

Is shipping ffmpeg the solution here?

On Mon, Sep 9, 2019, 10:46 AM dribbleondo notifications@github.com wrote:

From different games, well they use different file formats. Hitman 2 and 2016 use WebM if I recall.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/Proton/issues/3035?email_source=notifications&email_token=AAON37C3Y3TNHOXHYRFLUO3QIZOSVA5CNFSM4ITJCL2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6H3B3I#issuecomment-529510637, or mute the thread https://github.com/notifications/unsubscribe-auth/AAON37G2FI4HIT7HNHTCNIDQIZOSVANCNFSM4ITJCL2A .

dribbleondo commented 5 years ago

Perhaps.

dribbleondo commented 4 years ago

Ok, so I came across a guide on getting the cutscenes to work, compiled by Na Moogle on a spyro modding discord I'm a part of. Here's a pastebin of the instructions

FrogTheFrog commented 4 years ago

@dribbleondo You forgot to include mfplay.dll in your copy and override lists (at least it is required for me :/).

kisak-valve commented 4 years ago

Hello @Waistless, your comment was removed because we can not condone the distribution of copyrighted libraries.

ryao commented 4 years ago

Ok, so I came across a guide on getting the cutscenes to work, compiled by Na Moogle on a spyro modding discord I'm a part of. Here's a pastebin of the instructions

You should attach that as a file here or use a gist. Pastebins delete content after a certain period of time.

ryao commented 4 years ago

It might be a good idea to submit this information to winetricks:

https://github.com/Winetricks/winetricks

If Dan can find a way to get the files from official downloads, then it would become possible to use winetricks via protontricks to do this workaround without much hassle.

dribbleondo commented 4 years ago

I'll submit the workaround to winetricks.

FrogTheFrog commented 4 years ago

@ryao @dribbleondo Unfortunately, winetricks can't do anything, because of the legal issues (https://github.com/Winetricks/winetricks/issues/1132) we need to find a public source from Microsoft for these dlls.

dribbleondo commented 4 years ago

Literally just about to link that. Yeah, it is a bit of an unfortunate situation it seems.

dribbleondo commented 4 years ago

Would this be of any help? From what i've read, it's used for installing media-related applications (including wmf seemingly) on Windows 10N systems.

FrogTheFrog commented 4 years ago

Nope, it's a MSU file. I contains files compressed with Microsoft's "Intra-Package Delta" technology, which is yet to be reverse-engineered (as far as I know).

ryao commented 4 years ago

I posted it in the linked issue, but I will say it here too. The necessary files likely could be extracted from a Windows 10 development VM:

https://developer.microsoft.com/en-us/windows/downloads/virtual-machines

FrogTheFrog commented 4 years ago

You can just extract it from Windows 7 or Windows 10 install disk directly, no need for virtual machines. Also, we need Win7 dlls (https://github.com/Winetricks/winetricks/issues/1132#issuecomment-438015780).

ryao commented 4 years ago

You can just extract it from Windows 7 or Windows 10 install disk directly, no need for virtual machines. Also, we need Win7 dlls (Winetricks/winetricks#1132 (comment)).

Have you confirmed that the relevant DLLs can be found on the ISOs? I ask because I recall there being issues finding certain DLLs that are part of a Windows installation on the ISOs in the past. In particular, efforts to find certain cryptographic libraries failed during the recent WoW classic issues. Those issues were later found to be TTL timeout related. They could not be found both as plain files and in various cab archives. Microsoft might be putting some DLLs on their ISOs in an odd way.

Also, does Microsoft provide a Windows 7 install disk ISO that people can download from a script?

FrogTheFrog commented 4 years ago

DLLs can we extracted from ISO's wim file using wimlib. Sadly there's no way to acquire Windows 7 ISO without providing Microsoft with a valid Win7 key :disappointed:

gilbsgilbs commented 4 years ago

Has anyone managed to make this game work on an Optimus laptop? Xorg consistently segfaults on my machine when game starts.

[   208.145] (EE) Backtrace:
[   208.145] (EE) 0: /usr/lib/Xorg (xorg_backtrace+0x4d) [0x562a15c1469d]
[   208.145] (EE) 1: /usr/lib/Xorg (0x562a15b62000+0xa8be8) [0x562a15c0abe8]
[   208.145] (EE) 2: /usr/lib/libc.so.6 (0x7f703e892000+0x3a7e0) [0x7f703e8cc7e0]
[   208.145] (EE) 3: /usr/lib/Xorg (0x562a15b62000+0x4b9bb) [0x562a15bad9bb]
[   208.145] (EE) 4: /usr/lib/Xorg (miPointerUpdateSprite+0x1c6) [0x562a15cf4be6]
[   208.145] (EE) 5: /usr/lib/Xorg (0x562a15b62000+0x196c10) [0x562a15cf8c10]
[   208.145] (EE) 6: /usr/lib/Xorg (0x562a15b62000+0xf264b) [0x562a15c5464b]
[   208.145] (EE) 7: /usr/lib/Xorg (0x562a15b62000+0x12695b) [0x562a15c8895b]
[   208.145] (EE) 8: /usr/lib/Xorg (0x562a15b62000+0xb3a10) [0x562a15c15a10]
[   208.145] (EE) 9: /usr/lib/Xorg (0x562a15b62000+0xb3ab8) [0x562a15c15ab8]
[   208.145] (EE) 10: /usr/lib/Xorg (WaitForSomething+0x277) [0x562a15c168a7]
[   208.145] (EE) 11: /usr/lib/Xorg (0x562a15b62000+0x37966) [0x562a15b99966]
[   208.145] (EE) 12: /usr/lib/libc.so.6 (__libc_start_main+0xf3) [0x7f703e8b8ee3]
[   208.146] (EE) 13: /usr/lib/Xorg (_start+0x2e) [0x562a15b9a3be]
[   208.146] (EE) 
[   208.146] (EE) Segmentation fault at address 0x0
[   208.146] (EE) 
Fatal server error:
[   208.146] (EE) Caught signal 11 (Segmentation fault). Server aborting

steam_config.txt

kherchel commented 4 years ago

@gilbsgilbs I'm playing on an Optimus laptop without issues. But I don't use bumblebee, primusrun, nor the new offloading feature - the iGPU only works for screen output, so that may be the case.

bobberb commented 4 years ago

This DLL extraction linked above works for me. Beautiful.

On Sun, Sep 15, 2019, 7:55 PM Kacper Herchel notifications@github.com wrote:

@gilbsgilbs https://github.com/gilbsgilbs I'm playing on an Optimus laptop without issues. But I don't use bumblebee, primusrun, nor the new offloading feature - the iGPU only works for screen output, so that may be the case.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/Proton/issues/3035?email_source=notifications&email_token=AAON37DPVEZBS77V66E4GNLQJ3DQBA5CNFSM4ITJCL2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6X3W6Q#issuecomment-531610490, or mute the thread https://github.com/notifications/unsubscribe-auth/AAON37G5DBVZ6TERG3PZPCTQJ3DQBANCNFSM4ITJCL2A .

ryao commented 4 years ago

DLLs can we extracted from ISO's wim file using wimlib. Sadly there's no way to acquire Windows 7 ISO without providing Microsoft with a valid Win7 key 😞

Well, if the issue is that RtwqUnlockWorkQueue and related functions need to be implemented to use the Windows 10 versions, then that is doable. Those are publicly documented API functions. I am familiar with the concept of a work queue from both Linux kernel work queues and OpenSolaris kernel task queues. If I knew which functions were required by Windows 10’s mfplat, I imagine that I could give implementing them a try in time for wine 4.18 (probably not 4.17).

Would someone produce a list of the unimplemented functions that the Windows 10 mfplat requires so that I do not need to inspect Microsoft’s binaries? You could probably use dependency walker to get a list of the functions needed:

http://www.dependencywalker.com/

I am new to contributing to wine. If I implement this and send the patch, I imagine that I would need to have a good answer to questions about whether clean room requirements were violated. Not having a good answer would likely prevent the code from being merged, which would make the effort a waste of time. It would be helpful to separate the work of finding out what is needed from implementing it to ensure that we do not end up with a patch that cannot be merged.

Also, be sure to make sure that the functions used are publicly documented before posting them here. For example:

https://docs.microsoft.com/en-us/windows/win32/api/rtworkq/nf-rtworkq-rtwqunlockworkqueue

If there are undocumented symbols required, then we would want to ask one of the main wine developers for advice on how to proceed. We would need to ask to be sure, but I should mention that there is a possibility that the person inspecting the binaries to allow for a clean room implementation of these functions so that we can have a workaround added to winetricks might never be allowed to contribute code to this area of wine due to wine’s clean room requirements. Hopefully, someone who doesn’t plan to ever learn C could volunteer to look. I am not comfortable volunteering to implement the entire RTWorkQ.dll API for this at this time, so I would need to know the subset used if I am going to try.

kisak-valve commented 4 years ago

[996580] Spyro Reignited Trilogy - Problem with pad and keyboard on Spyro 2

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3216. @emmecii posted on 2019-11-12T22:52:56:

Compatibility Report

System Information

I confirm:

steam-996580.log

Symptoms

Gamepad on Spyro 2 doesn't properly recognize the Y button on X360 pad contextually to the hovering action or sight-to-shoot action. The same function seems to be "transferred" pressing the right analog stick (but not for the hovering). Also the keyboard is affected, where spacebar and left mouse button doesn't work at all even if reassigned into the game tl;dr https://www.youtube.com/watch?v=IHerojeRuaM that part can't be done for the Y button bug

I noticed this issue appear only when i load a new world level. At startup, there isn't any issue. Seems also I am the only that have this issue, so this is why i am opening a new issue on this game because is unrelated to a previous issue posting for Spyro

At the moment i haven't found a level where hovering is necessary, but can be problematic

Reproduction

Load a world level passing through a portal, then try to hovering after gliding with Y, or sight in first person perspective or when you aim to an enemy with Y / try to use flame with left button mouse or jump with spacebar

emmecii commented 4 years ago

Thanks @kisak-valve to put the reference to my report, it's my first time reporting issues for Proton and i wasn't sure if a new report was needed or continue the already existent

ghost commented 4 years ago

Gamepad on Spyro 2 doesn't properly recognize the Y button on X360 pad contextually to the hovering action or sight-to-shoot action. The same function seems to be "transferred" pressing the right analog stick (but not for the hovering). Also the keyboard is affected, where spacebar and left mouse button doesn't work at all even if reassigned into the game

@emmecii This is unrelated to Proton, as it can be reproduced on Windows.

See https://www.reddit.com/r/Spyro/comments/dunrxw/pc_help_cant_hover_using_xbox_360_controller_only/f7cvrwj.

bnpfeife commented 4 years ago

Gamepad on Spyro 2 doesn't properly recognize the Y button on X360 pad contextually to the hovering action or sight-to-shoot action. The same function seems to be "transferred" pressing the right analog stick (but not for the hovering). Also the keyboard is affected, where spacebar and left mouse button doesn't work at all even if reassigned into the game

@emmecii This is unrelated to Proton, as it can be reproduced on Windows.

See https://www.reddit.com/r/Spyro/comments/dunrxw/pc_help_cant_hover_using_xbox_360_controller_only/f7cvrwj.

I have had the same issue. I believe that it is tied to how the game handles cut-scenes. When a cut-scene plays, it can be skipped with a button press (Triangle on PS4, Y on Xbox one, etc.). It depends on the device, but that button is disabled if the cut-scene doesn't play. I suspect this is a flaw in how th game handles input events/states. Remapping on the keyboard works, but people who use controllers are out of luck.

This is problematic because wmf is required to play the cut-scenes. I was able to test this with older versions of Proton and installing wmf fixes the problem.

CuriousTommy commented 4 years ago

Has anyone else run into this issue before? Sometimes I get this message. It doesn't always happen though.

Spyro Reignated Trilogy Message

steam-996580.log

CPU Brand:  Intel(R) Core(TM) i5-4670 CPU @ 3.40GHz
Kernel Version:  5.3.16-300.fc31.x86_64
Video Card:
    Driver:  NVIDIA Corporation GeForce GTX 1060 6GB/PCIe/SSE2
    Driver Version:  4.6.0 NVIDIA 440.44

Edit: Since I have logs enabled, I might as well provide some additional logs for any other crashes that I have experienced.

On rare occasions, the game may crash in-between level transitions.

steam-996580_crash_during_loading_screen.log

shoober420 commented 4 years ago

Compatibility Report

System Information

LOG: steam-996580.log

Symptoms

Crash on launch, with "Fatal error!" window pop up.

TiZ-HugLife commented 4 years ago

I can't get this game to detect my gamepad. I've tried Proton 5.0-7, and 5.8-GE-2. I've tried forcing Steam Input on, and also forcing Steam Input off. With Steam Input off, I can get it to at least see my controller and see that I'm pressing inputs--keyboard prompts change to gamepad prompts--but they don't actually do anything at all.

It also asks me to accept the license agreement every time I start it. I don't know if that's related to the fact that I haven't actually started a game yet; I'm not going to without the controller working.

I'm using the Flatpak version of Steam, and MoltenGamepad, but neither of those things stop other games from using controller input. SoulCalibur VI--also on UE4--works just fine.

EDIT: Disabling MoltenGamepad and creating a mapping for my controller in the SDL_CONTROLLERCONFIG env var caused Spyro to be able to read the controller normally. Another game I wanted to play, Super Crush KO, had the same problem and it worked there too.

mAdCraZyaJ commented 4 years ago

Hey There, this is the first time I'm posting on these Compatibility Report issue logs, so do forgive me if I'm missing information or what not, just let me know and I'll supply the additional information 👍️

I hadn't played since Proton 5.0.3 and it was perfect, since then multiple versions of Proton have been released and versions of Mesa. Knowing that I could play it, I attempted to launch it on stream but when I launched the game on default (Proton 5.0.7) I received a black screen after I select a Spyro game to play. "The Adventure Continues..." message pops up and then nothing...

I tried with the latest of GloriousEggrolls releases: Proton-5.9-GE-1-MF however this gives me a black screen upon launch. Doesn't even reach the initial menus.

I have attached the following logs labelled for each version of Proton: proton-5.0.7-steam-996580.log proton-5.9-GE1-steam-996580.log

I can confirm that Proton/Mesa is working fine for other games such as Dirt Rally 2.0 and Crash Bandicoot N. Sane Trilogy.

I really appreciate anyone that takes a look at this :+1:

GloriousEggroll commented 4 years ago

@mAdCraZyaJ looks like your prefix is trying to use native mfplay or some remnants of the 'bad' workaround

342805.280:00d8:00dc:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\mfplay.dll" at 0x7ff31a40000: native

try a clean prefix with proton-ge. also normal proton does not yet support mfplay/media foundation.

mAdCraZyaJ commented 4 years ago

Hi @GloriousEggroll thanks for getting back to me so quick, didn't expect that so quick. The "bad workaround" is probably from my <Removed by moderator> against that prefix. I'm trying to clean that up now and I'll get back to you. Many Thanks!

mAdCraZyaJ commented 4 years ago

Thanks @GloriousEggroll . Simply renaming my PFX directory within the compatdata and letting Steam rebuild it did the trick. There is something interesting that I found though. When I reduce the Fullscreen resolution from native resolution, my second display completely conks out and if I power through it appears the GPU can't handle it and takes out both screens, comes back with artifacts and in one case with green checkerboard artifacts filling both screens.

Steps to reproduce:

  1. Change Display mode in Spyro to Fullscreen
  2. Lower the resolution in my case from 2560x1440 to 1920x1080.
  3. Watch your 2nd monitor go bye-bye.
  4. Play the game and watch your computer go bye-bye.

steam-996580.log

I hope this makes sense to you. In the meantime, I can play the game happily in native, so thank you very much :) Let me know if you want more information on the above and I'll get that to you tomorrow :+1:

Johnnii360 commented 4 years ago

Compatibility Report

System Information

I confirm:

steam-996580.log

Symptoms

Sometimes after start the game sound crackling. The game had issues to recognize my PS4 controller. Attached to USB and PS4 config disabled in steam it works.

Reproduction

-

Johnnii360 commented 4 years ago

I googled a bit more and found out that the sound issue is by the sample rate. In this case you have to set the default sample rate in the pulse audio config (/etc/pulse) from 44k to 48k. After that only the Activision Video does have a crackling sound and some times a couple after a while of gaming. It looks like it's a down sampling issue.

Additionally I changed the default bitrate from 16bit (s16le) to 24bit (s24le) - because my discrete SoundBlaster X-Fi support it.

ruineka commented 2 years ago

Edit: This crash exists on Windows as well. For whatever reason it tries to communicate with Epic Games and crashes. People on Windows edit their hosts alias to prevent this communication or disconnect from the internet.

The game crashes a few minutes after launching the game on Intel Iris Xe. steam-996580.log

ranplayer commented 2 years ago

Game works fine since Proton 6.3. The only issue I've found with both 6.3 and 7.0 is that it doesn't load the localized audio for the cutscenes (only the English one is loaded). The menus are localized normally. I'm going to attach the logs from Proton 7.0.

steam-996580-proton7.tar.gz

I was able to fix this issue by using Proton 5.13 and manually installing the media foundation libraries.

bnpfeife commented 2 years ago

Game works fine since Proton 6.3. The only issue I've found with both 6.3 and 7.0 is that it doesn't load the localized audio for the cutscenes (only the English one is loaded). The menus are localized normally. I'm going to attach the logs from Proton 7.0.

steam-996580-proton7.tar.gz

I was able to fix this issue by using Proton 5.13 and manually installing the media foundation libraries.

I encountered this a few months ago. If my memory is correct, I believe that the wine re-implementation of mfplat doesn't yet implement the functions that return attributes for audio streams. So, it can't determine which stream is English, Spanish, French, etc. Obviously, Microsoft's implementation is complete.

I've made a script that lets you select a language: https://gist.github.com/bnpfeife/323285e11015e04fdb1bcd112af9a86a

Edit: The script is invoked with the language: $ ./spyro-fix ENGLISH

For sake of credit, the script is based off of: https://github.com/dmnct/spyro-fix/blob/main/spyro-fix.sh

gearcoded commented 2 years ago

@bnpfeife, thank you! However, there was an update, so, the other fix I used stopped working. And your script didn't help when I tried to use it. As in my case, I want the English videos, I hardcoded the line 48:

track=0
kisak-valve commented 2 years ago

Spyro™ Reignited Trilogy start prerendered cutscenes are in wrong language

Issue transferred from https://github.com/ValveSoftware/Proton/issues/5704. @coreybruce posted on 2022-03-20T12:56:12:

Compatibility Report

System Information

I confirm:

Symptoms

Start cutscenes of games play in the incorrect language when it's set to English on the Steam game settings.

Reproduction

Play game at the start of the game on any of the 3 games on the trilogy

kisak-valve commented 2 years ago

Spyro™ Reignited Trilogy microstutters at random

Issue transferred from https://github.com/ValveSoftware/Proton/issues/5721. @coreybruce posted on 2022-03-25T10:50:35:

Compatibility Report

System Information

I confirm:

Symptoms

Game will microstutter at times while playing the game

Reproduction

Play game

SolarLune commented 2 years ago

Hello, just wanted to pop in and post some anecdotal data that may be of assistance in resolving the wrong language bug:

1) I am also experiencing this bug, but did not as of, I'd like to say, 3 or 4 months ago? I played a few hours of Spyro and did not run into any cinematics with the wrong language then, but today I booted it up and am experiencing it - I'm running Manjaro Linux (rolling release), fully updated, with Proton Experimental. With Proton 7.0-2, I get the same result. With Proton 6.3-8, the game doesn't load. I verified the files, just in case - no change.

2) I can see in the Spyro Reignited Trilogy/Falcon/Content/Movies folder all of the movie files that are present in the game in .mp4 format. The intro video file here is in normal English - perhaps it's not loading these movies, but rather is loading them from another location? Or perhaps it's overlaying dubbed audio over these movie files?

3) The wrong language issue just affects the cinematics, not any of the in-game dialog.

4) As to the actual content of the bug - it seems that starting a save file actually cycles the audio track being played through one of the available dubs. As far as I can understand the languages, it's never the same language twice. One out of the few times I started up a new file, I actually got the English cinematic, once a French cinematic, and a latin language (Spanish? Portuguese?), alongside other languages I didn't immediately recognize. I feel like each time I tried, I got a different language (so it may or may not be random).

5) I checked the save file and config files - I didn't see any data that might indicate which language or audio track to use for cinematic audio.

Here's my log file and system info, in case it helps~

steam-996580.log ComputerInfo.txt

bnpfeife commented 2 years ago

@bnpfeife, thank you! However, there was an update, so, the other fix I used stopped working. And your script didn't help when I tried to use it. As in my case, I want the English videos, I hardcoded the line 48:

track=0

Thank you for testing out my script! It looks like ffmpeg doesn't use 1-indexed streams like I thought. I've updated the gist so it selects the correct track.

alkaris2 commented 2 years ago

PC game controls appear to be bugged, certain keys just don't work properly in-game even though they are detected on the Control Settings when pressing keybinds.

Left Shift doesn't function on the main menu screen for Delete Save Data, even though it's detected in Keybinds.

Spyro 2 and Spyro 3 keyboard controls are unresponsive to set binds. ie; Space to jump, F to Hover/Headbutt, even though detected in keybinds. Spyro 1 seems to see and use some of these controls just fine when set.

Also I notice the cutscenes in Spyro Reignited Trilogy still has issues with playing pre-rendered cutscene video files. I did try using https://codeberg.org/dmnct/spyro-fix to do prerender cutscene fix, but it still doesn't work, and just makes the game skip over them automatically.

https://github.com/ValveSoftware/Proton/issues/1464