ValveSoftware / Proton

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

The Good Life Demo (1741410) #5195

Open popsUlfr opened 3 years ago

popsUlfr commented 3 years ago

Compatibility Report

System Information

I confirm:

Symptoms

Ahead of its release, I was checking out the demo for The Good Life, but starting a new game results in a black screen related to its intro video. I'm assuming at this point that problem will persist with the full release.

Looking into the Unity Player.log we have something peculiar happening here :

WindowsVideoMedia error 0x80004001 while reading http://localhost:16700/seQ7ZUZ0kT6R4_FZ3hZ_HSybUCpHCZ4v
Context: Creating DXGI DeviceManager
Error details: Not implemented.
WindowsVideoMedia error 0x80070003 while reading http://localhost:16700/seQ7ZUZ0kT6R4_FZ3hZ_HSybUCpHCZ4v
Context: MFCreateSourceReaderFromURL
Error details: Path not found.

The game is serving the video file over http for some reason (??), so during the black screen I can go to the url and watch the video in the browser. Looking into the mfplat wine code and debugging the process a bit, I'm not sure if the http: scheme is actually implemented and it is falling back to the file: protocol instead ? Trying to access file://localhost:16700/seQ7ZUZ0kT6R4_FZ3hZ_HSybUCpHCZ4v maybe and failing ? The video files are located at ~/.local/share/Steam/steamapps/common/The Good Life Demo/StandaloneWindows64_Data/StreamingAssets and are encoded using vp8 so I'm pretty sure they'd have played fine if loaded directly by the game.

I attached a save file (SAV0.sav) that's right after the intro cutscene to test the game after that. Beyond the video issue the game seems to play fine until the next video cutscene that is which results in a black screen block.

Glorious Eggroll Proton has the same issue.

Reproduction

  1. Install The Good Life Demo: https://store.steampowered.com/app/1452500/The_Good_Life/
  2. Launch the game with Proton Experimental
  3. Start A New Game
  4. Get stuck on a black screen
popsUlfr commented 3 years ago

I improved the code for the pull request. So here's latest version:

Raptor85 commented 3 years ago

I would add to your patch notes and the top of this thread the information about Steam Runtime 2 (soldier), the beta branch of it is absolutely required for this patch to work, I merged your patch into my personal copy of portage and tested it against the retail release and it works great.

popsUlfr commented 3 years ago

I would add to your patch notes and the top of this thread the information about Steam Runtime 2 (soldier), the beta branch of it is absolutely required for this patch to work, I merged your patch into my personal copy of portage and tested it against the retail release and it works great.

I can't confirm that. It worked for me with a fresh stock steam without needing to opt into the beta branches.

Raptor85 commented 3 years ago

Interesting, I've flipped back and forth and can confirm on my system it only works with the beta steam runtime. Are you possibly running steam with the flag on to use native libraries instead of the runtime by default?

popsUlfr commented 3 years ago

Interesting, I've flipped back and forth and can confirm on my system it only works with the beta steam runtime. Are you possibly running steam with the flag on to use native libraries instead of the runtime by default?

Running Steam on arch rolling 64-bit
STEAM_RUNTIME is enabled automatically
Steam runtime environment up-to-date!
Steam client's requirements are satisfied

No, simply installed steam with pacman pacman -S steam, extracted Proton-6.19-GE-2 into compatibilitytools.d, replaced the mfplat.dll and it works. My laptop barely runs the game at 720p but the videos show just fine.

Thomee commented 2 years ago

I backed the game on Kickstarter, and finally had a chance to try it out.

I ran into the opening cut scene problem, and the discussion on ProtonDB led me to GloriousEggroll. I installed 6.20-GE-1, which was reported to work, but the game would still hang for me when loading the initial cutscene.

Further reading led me to this thread, where I saw the discussion about external drives. I have dual internal drives in my system, and /home resides on one, while /opt resides on another (and is much larger). I normally install games to a Steam Library folder on /opt. After uninstalling from /opt, and installing to /home, the game worked great (at least for the hour or so that I had available to try it).

I'm also not running the beta Steam runtime. Ubuntu, installed steam with apt install steam-installer

Swizzler121 commented 2 years ago

Further reading led me to this thread, where I saw the discussion about external drives. I have dual internal drives in my system, and /home resides on one, while /opt resides on another (and is much larger). I normally install games to a Steam Library folder on /opt. After uninstalling from /opt, and installing to /home, the game worked great (at least for the hour or so that I had available to try it).

Interesting, I was wondering if the external drive issue was fixed. It'd probably be a good idea to investigate further, as this issue (games loading files with http:// instead of file://) is likely to crop up again in other games.

GloriousEggroll commented 2 years ago

The workaround patch needs a rebase. Wine 7.2 broke it with commits that were made on Feb 10th

yshui commented 2 years ago

Hi, I am trying to get the video player in VRChat to work, which does the same play videos from a URL thing. My patches doesn't work there but seem to fix the intro video problem for this game. I know you already have a workaround for this, but I will be really interested to see if this works here, if you are willing to give it a try: https://gist.github.com/yshui/6625f4537dd9a7d0b28a59a9a3a79967