ValveSoftware / Proton

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

Warhammer 40,000: Boltgun (2005010) #6795

Open josef256 opened 1 year ago

josef256 commented 1 year ago

Compatibility Report

System Information

I confirm:

steam-2005010.log

Symptoms

game cinematic are replace with SMPTE color bars

Reproduction

open the game

josef256 commented 1 year ago

same thing on proton GE

alosarjos commented 1 year ago

Can confirm. Tested with Proton GE and Experimental on both, Arch Linux Desktop and Steam Deck and same happens on both systems.

amherag commented 1 year ago

Linux Mint, Proton 8.0-2. Game opens, and then I just get a dark screen.

EDIT: Works with Proton 6.3-8. No cut scenes.

betoldster commented 1 year ago

I think it's not only the intro, also cut scenes in between missions are missing in steam deck and linux. Need to confirm with windows PC. edit: confirmed with Windows, the cut szene when starting the first map is not played, not sure if there are more cut szenes in between the missions.

Tea23 commented 1 year ago

Seems to not be a Proton bug as the same issue occurs in Windows. The cutscenes play if you move the *cutscenes*.mp4 files from either the 720p or 1080p directory to the Movies directory and renaming them to remove the resolution (so BoltguncutscenesC1intro_1080.mp4 becomes BoltguncutscenesC1intro.mp4).

So:

cd steamapps/common/Boltgun/Boltgun/Content/Movies/1080p
perl-rename 's/_1080//' *
mv * ../

The splash screens at the start of the game still show the test pattern, however.

josef256 commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6795#issuecomment-1562096720

wow, we have a workaround at lease, gonna try this. thanks :D

edit: still don't work on the deck after renaming and replacing the files what proton are you using ?

alosarjos commented 1 year ago

AFAIK if it was a problem of wrong file location, game would skip those videos instead of trying to play them, so I'm not sure that changes anything :S

Tea23 commented 1 year ago

AFAIK if it was a problem of wrong file location, game would skip those videos instead of trying to play them, so I'm not sure that changes anything :S

In Windows, it appears to keep trying to play the cutscene as the subtitles still display and you still have to "skip" them.

The only thing this doesn't fix is the splash screens when starting the game, I'm not sure what the problem there is.

HadetTheUndying commented 1 year ago

Can confirm the Cutscene issue on Void using any version of Proton that it'll launch on

zrooda commented 1 year ago

Confirming no cinematics on either Proton version.

alosarjos commented 1 year ago

How to fix the cinematics: Reencode the videos

Here's a little howto for newbies:

  1. Open a terminal wherever your game installation directory movies folder steamapps/common/Boltgun/Boltgun/Content/Movies

  2. Reencode the video with the next script:

2.1 Reencode video using your GPU which will take less time (This is for AMD/Intel)

Change /dev/dri/renderD128if necessary for the one showing on your system

for FILE in $(find ./ -name '*.mp4'); do 
    ffmpeg -vaapi_device /dev/dri/renderD128 -i $FILE -vf 'format=nv12,hwupload' -c:v h264_vaapi output.mp4
    mv output.mp4 $FILE
    chmod 755 $FILE
done

2.2 Reencode using CPU, which takes a bit more time but is valid for anyone

for FILE in $(find ./ -name '*.mp4'); do
    ffmpeg -i $FILE -vcodec libx264 -crf 18 output.mp4
    mv output.mp4 $FILE
    chmod 755 $FILE
done
  1. Serve the Emperor
matas-valuzis commented 1 year ago

I can confirm that @alosarjos solution has fixed the issue for me (using proton experimental on arch linux). I'm just wondering why does re-encoding to h264 work since the original files are also using h264 codec?

philipl commented 1 year ago

Strange. Even the original files were created with Handbrake and libx264 (you can run mediainfo on them to see) so they should be very standard.

I guess whatever is breaking playback here is also what's preventing the Valve transcoder from working - I'd have expected the videos to be in the shader cache by now, but they are not.

HadetTheUndying commented 1 year ago

It's possible there's something weird about how the videos were encoded, I have a friend that had the same issue on his Windows PC. But several others who haven't.

PootisSpencer commented 1 year ago

Thanks, it worked on Steam stable. I get black screen with sound on Steam beta if someone is interested. Nvidia and AMD laptop running with both GPUs.

HadetTheUndying commented 1 year ago

Thanks, it worked on Steam stable. I get black screen with sound on Steam beta if someone is interested. Nvidia and AMD laptop running with both GPUs.

Can you post your system info and which versions of Proton you've tried?

PootisSpencer commented 1 year ago

For whatever reason reverting to stable and back to beta fixed the black screen issue. Videos are re-encoded as per @alosarjos's post.

It's Legion 5 with AMD R7 4800H with RTX 2060 running Arch KDE X11, 64 GB of RAM. I use proton-experimental unless any game forces me to use older version.

abc-mikey commented 1 year ago

FYI, also seeing this and here are how the videos are all encoded by default:

ffmpeg -i Boltgun/Content/Movies/BoltgunCutscenes_C1Intro.mp4
ffmpeg version 5.1.3 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 13 (SUSE Linux)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -ffat-lto-objects -g' --optflags='-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -ffat-lto-objects -g' --disable-htmlpages --enable-pic --disable-stripping --enable-shared --disable-static --enable-gpl --enable-version3 --disable-openssl --enable-gnutls --enable-ladspa --enable-libshaderc --enable-vulkan --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libdc1394 --enable-libdrm --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libjack --enable-libjxl --enable-librist --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopenh264-dlopen --enable-libopus --enable-libpulse --enable-librav1e --enable-librubberband --enable-libsvtav1 --enable-libsoxr --enable-libspeex --enable-libssh --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lto --enable-lv2 --enable-libmfx --enable-vaapi --enable-vdpau --enable-version3 --enable-libfdk-aac-dlopen --enable-nonfree --enable-libvo-amrwbenc --enable-libx264 --enable-libx265 --enable-libxvid
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Boltgun/Content/Movies/BoltgunCutscenes_C1Intro.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 512
    compatible_brands: mp42dby1iso2avc1mp41
    creation_time   : 2023-03-16T08:12:13.000000Z
    encoder         : HandBrake 1.6.1 2023012300
  Duration: 00:02:36.29, start: 0.000000, bitrate: 3304 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], 2495 kb/s, 24 fps, 24 tbr, 90k tbn (default)
    Metadata:
      creation_time   : 2023-03-16T08:12:13.000000Z
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 162 kb/s (default)
    Metadata:
      creation_time   : 2023-03-16T08:12:13.000000Z
      handler_name    : Stereo
      vendor_id       : [0][0][0][0]
  Stream #0:2[0x3](eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, stereo, fltp, 640 kb/s
    Metadata:
      creation_time   : 2023-03-16T08:12:13.000000Z
      handler_name    : Stereo
      vendor_id       : [0][0][0][0]
    Side data:
      audio service type: main
abc-mikey commented 1 year ago

Some more testing, this time just copying the audio and video streams with ffmpeg appeared to work:

ffmpeg -i BoltgunCutscenes_C1Intro.mp4.old -c:v copy -c:a copy BoltgunCutscenes_C1Intro.mp4

but I noticed that there were 2 audio streams in the original, so making sure to copy both audio streams:

ffmpeg -i BoltgunCutscenes_C1Intro.mp4.old -c:v copy -c:a copy -map 0:0 -map 0:1 -map 0:2 BoltgunCutscenes_C1Intro.mp4

and it no longer works again!

So... something to do with multiple audio streams?

abc-mikey commented 1 year ago

here is a version of @alosarjos' workaround that just copies the video and first audio track:

cd /home/steam/.local/share/Steam/steamapps/common/Boltgun # or wherever it's installed
[[ -e Boltgun/Content/Movies.old ]] || mv Boltgun/Content/Movies{,.old}
for F in $(find Boltgun/Content/Movies.old -name \*.mp4); do
    t="Boltgun/Content/Movies/$(echo "$F" | cut -d'/' -f4-)"
    mkdir -p "$(dirname "$t")"
    ffmpeg -i "$F" -c:v copy -c:a copy "$t"
    chmod +x "$t"
done

originals can be found under Boltgun/Content/Movies.old

FeralSmurf commented 1 year ago

Did not work for me. Arch (EndeavourOS), Steam stable.

abc-mikey commented 1 year ago

@FeralSmurf if you tried my snippet could you check and see what your install directory looks like? You should have a Boltgun/Content/Movies and a Boltgun/Content/Movies.old folder both with the same set of mp4 files in there.

And if you compare the output of ffmpeg -i Boltgun/Content/Movies/BoltgunCutscenes_C1Intro.mp4 to the one I posted above then you should see that there are 2 streams (1 video h264, 1 audio aac) instead of the 3 from the original.

If you want to undo it you can delete Boltgun/Content/Movies and rename Boltgun/Content/Movies.old back to Boltgun/Content/Movies.

kisak-valve commented 1 year ago

Warhammer 40,000: Boltgun - Framerate drop when Controller Rumble is active

Issue transferred from https://github.com/ValveSoftware/Proton/issues/6813. @abc-mikey posted on 2023-05-30T07:19:53:

Compatibility Report

System Information

I confirm:

steam-2005010.log

Symptoms

Whenever controller rumble is active (presumably) in the game the FPS drops from the normal steady framerate (120 FPS) to a steady (20 FPS). The framerate will stay at 20 FPS as long as the melee button is held. This also happens when landing from a jump or sprinting.

Reproduction

  1. Plug in a controller (you don't need to actually be using it).
  2. Start Boltgun with MANGOHUD=1
  3. Hold Melee button (default RMB).
  4. Watch FPS drop to 20 FPS
  5. Disable Controller Rumble under Accessibility options in game
  6. Hold Melee button
  7. Watch FPS remain steady at normal frame rate

    @ivyl commented on 2023-05-30T10:12:17:

Hi. The game doesn't pick up DualShock 4 or DualSense for me. Do you happen to have Steam Input enabled?

With XBox One / Series controllers and DS4 over Steam Input I don't see the behavior you've described on my system (5950X + 7900 XT). The game stays at the frame cap without any problem.

Can you try disabling all the customizations, including proton logging (including removing user_setting.py if you ever set that up), gamemode and mangohud and instead use DXVK_HUD=fps,devinfo,frametimes,version for FPS info?

If the problem still occurs PROTON_LOG=+dinput,+xinput,+hid,+rawinput may shed some more light.

FeralSmurf commented 1 year ago

""" @FeralSmurf if you tried my snippet could you check and see what your install directory looks like? You should have a Boltgun/Content/Movies and a Boltgun/Content/Movies.old folder both with the same set of mp4 files in there. """

Yup, the script is working as intented, but...

still the same outcome. The test screen still shows up.

Anyway, thanks for your kind help.

HadetTheUndying commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6795#issuecomment-1568351156

This is an odd bug because it does not happen on my Steam Deck but if I have ANY controller plugged in on my PC the game will start dropping frames regardless of whether rumble is supported or not. I'm glad I saw this because when I had my fight stick plugged in I experienced major slowdowns, and immediately decided to unplug it and see what happened.

abc-mikey commented 1 year ago

@ivyl I have had a proton update and can't seem to reproduce the framedrops any more.

@HadetTheUndying yeh, I also wasn't actually using my controller I just had it plugged in charging.

kolemcrae commented 1 year ago

Compatibility Report

Warhammer 40,000: Boltgun
2005010

System Information

CPU: i7-11370H
RAM: 16 gigs
GPU: Integrated Iris. Using Mesa Intel XE Graphics
Kernel version: 6.2.6-76060206-generic

Proton version: experimental

I confirm:

that I haven't found an existing compatibility report for this game.

that I have checked whether there are updates for my system available.

With default commands: UE4 fatal error, no error info With this command: %command% -d3d12

Cinimatics don't load (not the point of this report). Black screen after, never goes to menu.

The first time I tried the black screen was accompanied with intro music, but now no music either. Just blackness.

Notes: in the past I had issues with Doom Eternal and it turned out to be a mesa driver issues, but not sure if this would be a similar issue. Using built in intel graphics seems to create similar issues to ARC GPUs.

Tried Proton GE and tons of various proton versions, all with the same issues. Test video screen, then blackness and nothing ever loads.

Reproduction

Try to open game.

Alyxx88 commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/6795#issuecomment-1564928621

Will give this a shot! Honestly was waiting for the developer to provide a fix but I doubt they would bother.

abc-mikey commented 1 year ago

The frame rate is tanking again when controller rumble is enabled (I checked because another unreal engine game has very similar behaviour). Disabling rumble in game or disconnecting controller (DS4) keeps steady high frame rate.

See screenshot for stable high framerate before holding down melee and sable 20 FPS while holding and controller is rumbling:

Screenshot from 2023-07-01 10-20-50

DXVK
2.2.0/1.3.246
Proton experimental-bleeding-edge-8.0-48508-2023...
Steam Version:  1687386907
Steam Client Build Date:  Wed, Jun 21 11:18 PM UTC -08:00
Steam Web Build Date:  Thu, Jun 22 12:26 AM UTC -08:00
Steam API Version:  SteamClient020
Repository     : Packman
Name           : Mesa
Version        : 23.1.2-1699.353.pm.1
Arch           : x86_64
Vendor         : http://packman.links2linux.de
ivyl commented 1 year ago

@abc-mikey I still cannot repro. I've tried DS4 wired and over bluetooth. I've used fullscreen, windowed and windowed fullscreen as well as various FPS caps. I get constant $CAP or 350+ FPS when holding melee and the controller rumbles.

Tested with experimental-bleeding-edge-8.0-48582-20230701. AMD Ryzen 9 5950X + Radeon RX 7900 XT. Arch, Sway, Linux 6.4.1 and Mesa 23.1.3. I'm using DXVK_HUD=fps,devinfo,frametimes,version.

waspennator commented 1 year ago

https://steamcommunity.com/games/2005010/announcements/detail/3655282771736075122

Devs apparently pushed out a patch to fix up the cutscenes on deck.

abc-mikey commented 1 year ago

@abc-mikey I still cannot repro. I've tried DS4 wired and over bluetooth. I've used fullscreen, windowed and windowed fullscreen as well as various FPS caps. I get constant $CAP or 350+ FPS when holding melee and the controller rumbles.

Tested with experimental-bleeding-edge-8.0-48582-20230701. AMD Ryzen 9 5950X + Radeon RX 7900 XT. Arch, Sway, Linux 6.4.1 and Mesa 23.1.3. I'm using DXVK_HUD=fps,devinfo,frametimes,version.

Strange. The only other factors I can think off are that I'm running my monitor at 120Hz with VRR.

If I find time I'll see if I can run a test on a second Linux distro.

cynidecia commented 1 year ago

Can confirm on linux mint this issue is still unresolved. No matter what settings i change the game menu is a black screen I can't interact with.

razzeee commented 1 year ago

This game freezes for me, as it spontaniously explodes in memory usage.

image

Blisto91 commented 1 year ago

@razzeee If you are using a AMD GPU with mesa 23.1.6 then there is a memory leak regression in that driver version that affects a bunch of games. It have already been fixed but isn't included in a current stable release yet.

razzeee commented 1 year ago

Thanks, it's an AMD GPU, not sure which mesa - whatever fedora ships right now. Not on that device right now.

NoXPhasma commented 2 months ago

The game does not show the HDR option functionality, works fine with other HDR games. Launch option: DXVK_HDR=1 gamescope -f -w 2560 -h 1440 -W 2560 -H 1440 -r 240 --hdr-enabled --mangoapp -- %command%

Logfile: steam-2005010.log Sysinfo: https://gist.github.com/NoXPhasma/b8596ea576a20d55d687f3bd0de79e17