ValveSoftware / Proton

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

Call of Duty: Black Ops III (311210) #864

Open SteveHeist opened 6 years ago

SteveHeist commented 6 years ago

Like other Black Ops titles (42700 & 202970) Black Ops III is unlaunchable. Unlike those however, Black Ops III's log is over 4 million lines long. Here's a Google download link.

https://drive.google.com/open?id=1CD_zX2n3XRMoWNCqMytWbxtnTH0q4X06

Gist: https://gist.github.com/SteveHeist/1f51e113d17ac6bb8224c70a926d6508

tr37ion commented 5 years ago

Compatibility Report

System Information

I confirm:

Symptoms / Reproduction

Starting steam-native it crashes right from the start. Nothing to special to see.

Log Files

Additionally installed Distro Packages

Waelwindows commented 5 years ago

Compatibility Report

System Information

I confirm:

Logs:

nutta-git commented 4 years ago

Anyone tired test this game with Proton 5.0.4. What seems to be the issue that's preventing this game from running?

Looking into this, On WineHQ the problem seems to related to Microsoft Media Foundation (mfplat)

https://bugs.winehq.org/show_bug.cgi?id=45876

But there seems to be a problem in figuring out if mfplat is even the problem.

https://bugs.winehq.org/show_bug.cgi?id=47084

Hopefully, advancements in non-microsoft mfplat can solve this issue.

https://www.reddit.com/r/linux_gaming/comments/fhixs0/media_foundation_mfplat_in_wine_without_microsoft/

caseif commented 4 years ago

To my knowledge, the two major blockers to this are in gdi32 and mfplat.

First, the game requires PE gdi32 because it loads gdi32.dll from disk and directly calls GdiDllInitialize as part of an anti-tamper measure. @rbernon was working on a patchset for this at one point, but suspended his work because julliard intends to convert gdi32 at some point in the future (hopefully the near future, given his current pace converting other libraries).

Second, the game requires H.264 decoding from mfplat. There's a patchset by @Guy1524 currently being upstreamed from wine-staging, but BO3 apparently uses a lower-level method of decoding media than most other programs, so it is unclear whether the patchset will allow it to work properly in its given state.

AlexanderDotH commented 3 years ago

The crash issue is at line 1899358 at column 74, the following hex code

caseif commented 3 years ago

As of Wine 5.21, gdi32 is PE and has the stub BO3 needs to start. However, mfplat is still not complete enough for it to play back videos (Guy1524 said he'd look into the current error it's throwing at some point).

That being said, per this thread deleting or renaming the video folder in the game directory seems to allow it to launch, albeit with a black screen in place of the videos. I can confirm that this is working, but it seems prone to pretty bad stuttering, and on my environment (LM 20 Cinnamon) I experienced erratic input glitches to the point of making the game unplayable.

cidkidnix commented 3 years ago

With Proton-GE-5.21 and moving the video folder my game launches and after playing for awhile I have no stutters at all on a RX580, you probably need to wait for shaders to compile. On the input issues I have no game-breaking input issues on Sway 1.5.

nutta-git commented 3 years ago

@cidkidnix have you tested multiplayer?

cidkidnix commented 3 years ago

Multiplayer from my limited testing works 100% fine for me. @nutta-git

nutta-git commented 3 years ago

Just tested the game out, using proton-tkg and multiplayer works.

NikoBellicRU commented 3 years ago

I tried with wine 6.0 rc1-tkg and it did worked mp/zm but it has a lot of performance issues and also like ~10m the controller disconnects and can't connect again without restart, and for some reason the 3.5 audio doesn't work and i can only hear the people talking ingame nothing else but works fine with my bluetooth / usb headsets.

At least now it works :)

xDShot commented 3 years ago

Confirming working with latest tkg release. Several years worth to wait. Had to rename videos folder as suggested so it doesn't freeze (and getting black ingame screens and missing story context ofc :) ). Slowdowns due to recompiling shaders as expected.

D3SOX commented 3 years ago

Doesn't even start for me with proton-tkg 6.0rc1 Arch Linux, AMD Radeon RX480, Ryzen 9 3900X, I renamed the videos folder Log: steam-311210.log

NikoBellicRU commented 3 years ago

Doesn't even start for me with proton-tkg 6.0rc1

Try with GE 5.21 it also worked for me.

D3SOX commented 3 years ago

Try with GE 5.21 it also worked for me.

I got into the main menu, then it crashed and now it doesn't start any more. steam-311210.log

nutta-git commented 3 years ago

Env: Archlinux 5.9.12-zen1-1-zen 5700x and 3700x mesa-tkg-git 21.0.0_devel.132129.bc3225272ae-1 proton_tkg_6.0rc1.r3.gfce121fc

Anyone else experiencing this issue after the first or second round of TDM? https://streamable.com/iuzzac

xDShot commented 3 years ago

Controller disconnects when play in split screen

xDShot commented 3 years ago

Fully works with latest proton-tkg

massatt212 commented 3 years ago

whats the best way to compile all shaders for dxvk games?

nutta-git commented 3 years ago

@massatt212 As far as I know, steam does this automatically with the use of "Shader Pre-Caching". If you don't use this feature, then DXVK should build/compile it as you play the game.

kisak-valve commented 2 years ago

Call of Duty: Black ops III (311210)

Issue transferred from https://github.com/ValveSoftware/Proton/issues/5209. @deadmeme5 posted on 2021-10-09T14:35:37:

Compatibility Report

System Information

I confirm:

[steam-311210.log](https://github.com/ValveSoftware/Proton/files/7315828/steam-311210.log) ## Reproduction 1. Download BO3 from steam 2. That's it, the rest i suspect is a wine bug! ## My notes: Most important logs This is the most likely killer log: ``` 26902.328:010c:0188:trace:loaddll:build_module Loaded L"C:\\\windows\\\\system32\\\\winealsa.drv" at 00007F959C080000: builtin 26902.328:010c:0188:trace:loaddll:free_modref Unloaded module L"C:\\\windows\\\\system32\\\\winealsa.drv" : builtin ``` Also pulse audio initiates as fixme: `26902.381:010c:0188:fixme:pulse:AudioSessionControl_RegisterAudioSessionNotification (0x322c06b0)->(0x1591b33e8) - stub` Pls help.
mathew2214 commented 2 years ago

Proton 6.3-7, AMD Navi10 Mesa 21.2.5, Linux 5.14. game does not launch. same result with Proton 6.21-GE-2. the presence of the "video" folder has no impact on either version of Proton.

cangurellobello commented 2 years ago

Game not launching with latest Proton Experimental build

mathew2214 commented 2 years ago

proton experimental is still unable to launch the game.

serebit commented 2 years ago

Proton 7.0-1 can launch the game on my system, IF the contents of the video folder are removed. On closer inspection, the video files are MKVs containing one h.264 video stream and no audio stream. ffprobe output for one of them:

Input #0, matroska,webm, from 'zm_island_loadingmovie.mkv':
  Metadata:
    COMPATIBLE_BRANDS: M4V mp42isom
    MAJOR_BRAND     : M4V 
    MINOR_VERSION   : 1
    ENCODER         : Lavf56.11.100
  Duration: 00:01:55.73, start: 0.067000, bitrate: 4919 kb/s
  Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn (default)
    Metadata:
      CREATION_TIME   : 2016-03-31 21:00:19
      LANGUAGE        : eng
      HANDLER_NAME    : Mainconcept MP4 Video Media Handler
      ENCODER         : Lavc56.10.100 libx264

To my knowledge, h.264 videos should be playable by Proton, so I'm not sure what's going on here. I'm going to try re-encoding as a different format to see if anything changes.

Edit: Attempted re-encode of the intro video to AV1, to see if the game would play it. No dice.

serebit commented 2 years ago

Did some more digging, got a proton log of the game, and here it is:

Crash on intro: steam-311210.log Crash on loading mod (past intro): steam-311210.log

When loading a cinematic from the video folder, if the file is not found, it just doesn't play anything and continues as if no video was there in the first place. This prevents the game from crashing, for the reasons below.

If the file is found, it seems to attempt to call two functions in MFPLAT.dll: h264_decoder_GetAttributes and h264_decoder_ProcessMessage. This is indicated by the following lines being produced in the log when a video file is found, and the game attempts to load it:

36561.390:0134:01b4:fixme:mfplat:h264_decoder_GetAttributes iface 0000000000434B50, attributes 0000000026E9FAB0 stub!
36561.390:0134:01b4:fixme:mfplat:h264_decoder_ProcessMessage iface 0000000000434B50, message 0x10000000, param 0000000000000000 stub!

If I'm reading this right, this indicates that these two functions are stubs, which would obviously be a problem if the game is expecting actual data to be produced.

serebit commented 2 years ago

I should also note that the game functions almost perfectly once you get past the initial hurdle of needing to move/delete the video folder. I have seen the following issues:

Other than that? Game runs great and functions identically to Windows. Multiplayer works fine too.

jph168 commented 2 years ago

Compatibility Report

System Information

I confirm:

Symptoms

Will play Treyarch Intro then sit on a Black Screen

Reproduction

Launch with Proton 7.0-2

steam-311210.log

mathew2214 commented 2 years ago

game launches and plays perfectly, but thw workshop integration does not. no mods ever show up. i can confirm steam is downloading the mods, and their files are in the correct directory. its just the game doesnt see them.

mathew2214 commented 2 years ago

has anybody been able to get Steam Workshop mods working in this game?

SteveHeist commented 2 years ago

has anybody been able to get Steam Workshop mods working in this game?

I had workshop mods working, on Ubuntu 20.04 and 22.04. There was an issue with steam-for-linux due to a package dropping support for a thing that Steam needed to run, and in the troubleshooting process they stopped working. I haven't an opportunity at time of writing, but try some of the older versions of Proton and see if the workshop comes back (6.X, where X is whichever version number is still there, might be promising).

atlrvrse commented 2 years ago

has anybody been able to get Steam Workshop mods working in this game?

I had workshop mods working, on Ubuntu 20.04 and 22.04. There was an issue with steam-for-linux due to a package dropping support for a thing that Steam needed to run, and in the troubleshooting process they stopped working. I haven't an opportunity at time of writing, but try some of the older versions of Proton and see if the workshop comes back (6.X, where X is whichever version number is still there, might be promising).

If you have the game installed on your main drive this doesn't happen but you can trick steam into thinking the game is installed on your main drive by using symlinks and editing files but some mods rely on VCRedist to load DLLs, and for some reason those DLLs refuse to load if you do that

atlrvrse commented 2 years ago

The two most popular mods that rely on VCRedist are PEGASUS, which adds a ranking system to custom zombies and Discord RPC among other things, and Zombies Experience which also adds Discord RPC among other things.

mason1920 commented 2 years ago

Debian Sid RADEON RX 6600 XT (Display) GTX 1050 (Unused) PACKAGES.TXT

I get a black screen on launch, but audio works fine. I did not have any issues prior to swapping my RX 580 with the 6600.

mathew2214 commented 2 years ago

single player works fine. multiplayer zombies is unusable. only ever get "lobby is not joinable"

kisak-valve commented 2 years ago

Black ops 3 crashes, generaly during cutscenes.

Issue transferred from https://github.com/ValveSoftware/Proton/issues/6048. @Tremmer2003 posted on 2022-07-31T19:18:19:

During cut scenes or seemingly at random the game will crash to desktop or frees forcing me to hit the steam stop button. This can happen in other modes like zombies and is least prevalent in multiplayer but can happen. Hypocenter, one of the campaign levels, will crash every time the recon drone projects what it is seeing to the top left corner of the screen, this issue was only tested in coop. the previews level, I forgot the name, crashes at the half way point after the hand cutting scene and will continue to crash after trying to rejoin the host, who was playing on windows, though this is inconsistent. https://steamcommunity.com/id/Tremmer <- my steam account has over 100hours in the game all of witch were played using proton experimental and on the custom GE fork, the crashing issue happens on both versions. Although I tried to make the previous examples as specific as possible there are many more instances that make the game crash along with other issues like textures and bipeds not loading in on occasion making the mode unplayable. on a personal note the random zombies crash is most annoying. I am playing on ryzen 9 5000 RTX 3080 ti 64gb ram, latest Ubuntu version. feel free to contact me with questions or clarifications.

Edit, the most annoying issue is the random controller disconnects.

mitsuruu commented 2 years ago

For me when running the game on my Steam Deck the UI is incredibly low resolution and blurry, despite the game being set to run at 1280x800 resolution with 100% resolution scale. The game itself does not appear blurry, only the user interface, and this issue is not present on my Fedora 36 desktop running the same version of Proton. I believe it's due to the Deck's Half Rate Shading option, as when the option is turned off, the UI usually (but not always) corrects itself near-instantly. steamuserimages-a akamaihd steamuserimages-a akamaihd steamuserimages-a akamaihd

hakzsam commented 2 years ago

@Cameron-Stuart If you disable Half Rate Shading before starting the game, does it look correct?

SeongGino commented 2 years ago

has anybody been able to get Steam Workshop mods working in this game?

I had workshop mods working, on Ubuntu 20.04 and 22.04. There was an issue with steam-for-linux due to a package dropping support for a thing that Steam needed to run, and in the troubleshooting process they stopped working. I haven't an opportunity at time of writing, but try some of the older versions of Proton and see if the workshop comes back (6.X, where X is whichever version number is still there, might be promising).

If you have the game installed on your main drive this doesn't happen but you can trick steam into thinking the game is installed on your main drive by using symlinks and editing files but some mods rely on VCRedist to load DLLs, and for some reason those DLLs refuse to load if you do that

So at least I know I'm not crazy; I also had Workshop mods working at least up until ~July 6th, but only when I come back to it now is it refusing to recognize the mods.

I don't know what counts as "main drive" here: my hard disk, which is separate from my booting SSD, is marked as the main drive in Steam but it's not seeing anything there. What does "using symlinks" to trick it into working imply? I simply don't have the space to have it on my SSD to check, and the rest of my setup relies on Steam games and files being on filesystems separate from the bootable one, so installing it to the system drive is not an option here.

I have tried to close Steam, move the .acf from the HDD's SteamLibrary to ~/.steam/steam/steamapps/, symlink Black Ops 3 into that common subdir, and Black Ops 3's workshop id subdirs from HDD's workshop folder to the latter's equivalent, along with associated appworkshop_311210.acf file - still nothing.

If not, is there at least some way to downgrade the Steam client/relevant component so I can use workshop in the meantime?

(Aside from all this, game itself seems to be fine? But I've only played ZM content, so no SP/MP. Never had it crash. Only perceptible issue is that the first frame of a previous video persists into a subsequent video playback, and so on? Still, works great otherwise. That's why I'd like to see this fixed.)

mathew2214 commented 2 years ago

ive got workshop mods working now. but now multiplayer doesnt work. everybody only gets lobby not joinable. even after forwarding the ports, no change in the games behavior.

SeongGino commented 2 years ago

ive got workshop mods working now. but now multiplayer doesnt work. everybody only gets lobby not joinable. even after forwarding the ports, no change in the games behavior.

No change here. How did you get workshop mods working, exactly?

mathew2214 commented 2 years ago

ive got workshop mods working now. but now multiplayer doesnt work. everybody only gets lobby not joinable. even after forwarding the ports, no change in the games behavior.

No change here. How did you get workshop mods working, exactly?

i got workshop mods to work by reinstalling BO3 into the same filesystem as the steam client.

SeongGino commented 2 years ago

i got workshop mods to work by reinstalling BO3 into the same filesystem as the steam client.

Cannot reproduce with symlinks, so not very helpful.

SteveHeist commented 2 years ago

I have mods and maps working. It requires some manual adjustment of where (and how named) files are in your directory structure, if you do not have Black Ops III installed in the default directory.

Mods need to go into a folder @ Black Ops III's home directory (go into Steam > Properties > Local Files > Browse Local Files) titled "mods" and maps need to go into a folder in the same directory labeled "usermaps".

image

A layer into the folder structure for a given mod, you'll find a workshop.json file, with a flag FolderName; rename the containing folder for the entire mod to "zone" and place the newly-renamed "zone" folder into a folder matching the name identified in FolderName in either Black Ops III/mods or Black Ops III/usermaps. The mods load at this point.

image

For the record, mods, by default, install to steamapps/workshop/content/311210/[garbled mess of numbers], so that's where you'll find the mod files to begin this process. Something to note, display names do not work with this fix - the mod will show with the name of the contained folder, not the Title flag as it's supposed to.


Also, unrelatedly, whatever fix got the in-game videos working again didn't quite work completely properly. There's about a half-second desync between the video and the audio. This might be due to the method the engine is injecting audio into the video with, but I wouldn't know.

SeongGino commented 2 years ago

Unfortunately, the method above does not seem to work here either - at least for something like All Around Enhancement, the mod is 'loaded' with corner text, but nothing's actually changed as it should.


Incidentally, that a/v desync is something that's been observed in the GE fork for some time now. I guess now there's some parity.

SteveHeist commented 2 years ago

The first time I tried to load a mod (in my case the Zombies (Plus) Mod) I had to load it offline, as it did the same thing your All Around Enhancement mod did when I first tried to load it online. I have since completely restarted my computer from that first time and now the mod works online. Try loading your mod offline, my apologies, I forgot that step.


I have the GE fork installed and available to use with games, but I've currently got the "Force a use of a particular Compatibility Tool" option in Steam set to "Proton Experimental" - I doubt that's the cause, but it might be.

SteveHeist commented 2 years ago

image

I got your All Around Enhancements mod working... oddly it required not renaming the root directory of the mod (ie Black Ops III/mods/[don't rename this]/zone/[mod data went here]) from the garbled mess of numbers. I'm not sure why.

SeongGino commented 2 years ago

Seems to work that way - but also I was using a symlink to the workshop directory instead of copying the files wholesale. So for now I just copied the files and unsubscribed to the workshop mods, and it pulls up fine.

Geh. Would still like to see this fixed though...

kisak-valve commented 2 years ago

Hello @SeongGino, please give the discussion on https://github.com/ValveSoftware/steam-runtime/issues/523 a read.

SeongGino commented 2 years ago

TL;DR: Use Soldier Runtime's beta branch, it seems to be fixed for most conventional drive mount points. At least using Workshop mods and usermaps normally functions properly now on my setup (using /mnt/ for secondary/tertiary drives).