ValveSoftware / Proton

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

Battlefield™ 2042 (1517290) #5305

Open cdgriffith opened 2 years ago

cdgriffith commented 2 years ago

Compatibility Report

System Information

I confirm:

steam-1517290.log

Symptoms

Origional Issue Won't launch, getting an `OSError` in the steam log itself. ``` pressure-vessel-wrap[12646]: W: "/opt/amdgpu/share/libdrm" is unlikely to appear in "/run/host" Traceback (most recent call last): File "/home/james/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1296, in g_session.init_session(sys.argv[1] != "runinprefix") File "/home/james/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1108, in init_session g_compatdata.setup_prefix() File "/home/james/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 659, in setup_prefix os.symlink("../drive_c", self.prefix_dir + "/dosdevices/c:") OSError: [Errno 22] Invalid argument: '../drive_c' -> '/mnt/nvme_d/SteamLibraryLinux/steamapps/compatdata/1517290/pfx//dosdevices/c:' GameAction [AppID 1517290, ActionID 5] : LaunchApp changed task to ProcessingShaderCache with "" Fossilize INFO: Setting autogroup scheduling. Fossilize INFO: Setting autogroup scheduling. Installing breakpad exception handler for appid(steam)/version(1634158817) GameAction [AppID 1517290, ActionID 5] : LaunchApp changed task to SiteLicenseSeatCheckout with "" GameAction [AppID 1517290, ActionID 5] : LaunchApp changed task to CreatingProcess with "" GameAction [AppID 1517290, ActionID 5] : LaunchApp waiting for user response to CreatingProcess "" GameAction [AppID 1517290, ActionID 5] : LaunchApp continues with user response "CreatingProcess" /bin/sh\0-c\0/home/james/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1517290 -- '/home/james/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/james/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun 'link2ea://launchgame/1517290?platform=steam&theme=bf2042'\0 Game process added : AppID 1517290 "/home/james/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=1517290 -- '/home/james/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/james/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun 'link2ea://launchgame/1517290?platform=steam&theme=bf2042'", ProcID 14169, IP 0.0.0.0:0 ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. pid 14174 != 14171, skipping destruction (fork without exec?) GameAction [AppID 1517290, ActionID 5] : LaunchApp changed task to WaitingGameWindow with "" GameAction [AppID 1517290, ActionID 5] : LaunchApp changed task to Completed with "" ``` **Reproduction** 1. Hit play button 2. Watch the play button turn green again

Current issues:

  1. Easy-Anti Cheat not enabled for Linux
    • Until this happens, all else is moot
  2. DirectX failure on startup FindClosestMatchingMode (AMD)
    • Possible workaround to Alt-Enter on startup
  3. DirectX failure randomly "Gpu Hang Detected" (Nvidia)
  4. "Detected Windows version 18363." Requires 19041

Reproduction

  1. Start a round
  2. Get booted by EAC
kisak-valve commented 2 years ago

Hello @cdgriffith, this reads like #5168. Are you using NTFS with /mnt/nvme_d?

cdgriffith commented 2 years ago

Hi @kisak-valve yes was using ntfs-3g with that drive. I have moved it to an ext4 drive and now the game starts up. It gives the same warning we saw with the open beta about windows version:

bf2042 windows version

It does load into the game now, but gets stuck at the loading screen using constant 30% CPU usage. Adding the log:

steam-1517290.tar.gz

It keeps repeating 339.702:08f0:096c:fixme:keyboard:X11DRV_GetKeyboardLayout couldn't return keyboard layout for thread 08f4

Edit: Have tried resetting keyboard layout with sudo dpkg-reconfigure keyboard-configuration and restarting. As well as plugging in another keyboard. Neither have changed those errors looping forever.

Have also tried:

sudo dpkg-reconfigure locales
sudo update-locale LANG=en_US.UTF-8

Edit 2: Also seeing fixme:win:GetAltTabInfoW which doesn't look implemented at all https://github.com/wine-mirror/wine/blob/master/dlls/user32/misc.c#L195 that may be the cause?

ProjectSynchro commented 2 years ago

I seem to be getting a new crash as of today: Screenshot_20211113_204123

Seems to be crashing like this at different times.

Attached the proton log here: steam-1517290.log.gz

Evernow commented 2 years ago

I have moved it to an ext4 drive and now the game starts up

Please clean install the game if you moved it from NTFS to ext4. Also see if it happens without amdgpu-pro

cdgriffith commented 2 years ago

@Evernow I have deleted and redownloaded the game. I am still getting stuck at the same point. However I also discovered I can cause it to error if I hit Alt+Enter or move the window.

dx error

steam-1517290.log

Using latest Proton Experimental

Edit: Have tried both amdgpu-pro drivers and latest mesa from oibaf 22.0~git2111150600.9d9de1~oibaf~f and get the same error as above, except the MESA one shows "6900 XT" instead of unknown card.

elijahsgh commented 2 years ago

I have been playing this for a few days. It was running fine with the exception of online multiplayer booting you after a minute - probably EAC. As of this morning even "solo" mode requires EAC to be functional. The only mode that is playable now is VIP Fiesta for some reason.

cdgriffith commented 2 years ago

Have been able to avoid the "FindClosestMatchingMode" error by fullscreening immeadtly (Alt+Enter) when BF 2042 starts up. (Found that solution in an old EA fourm.)

I updated to bleeding-edge proton and latest mesa drivers. It still got stuck at the main screen, until I started frantically moving the mouse around in frustration and lo and behold...it slowly started turning darker and darker. So for some reason it needs a lot of mouse movement to progress past the splash screen on my system?

I was able to play through the demo conquest without issue on ultra settings. There were a few stutters starting out, but they quickly disappeared (better than BF4 currently is). Also tried doing single player and was instantly booted out after that, so until EAC is enabled for Linux, no point in trying more I guess.

Valve please ask them nicely to turn it on for us :smile:

McMarius11 commented 2 years ago

when i start the game i get this

BF_bug1 after that it will crash BF_crash1 here is my log: https://gist.github.com/McMarius11/32d534f3af69595a92f28f59c1caa1f4

yeah valve is our only hope for EAC activation.

OS: Manjaro Linux KERNEL: 5.10.85-1-MANJARO CPU: Intel Core i5-7600K @ 3.80GHz GPU: NVIDIA NVIDIA GeForce GTX 1070 GPU DRIVER: NVIDIA 495.46 RAM: 24 GB

polluxau commented 1 year ago

Please valve go ask dice nicely to enable this for us. It's becoming a decent game now and I'd rlly want to play it on my Linux machine •́⁠ ⁠ ⁠‿⁠ ⁠,⁠•̀. Same issue happens, launches fine then kicks you out cause of eac

Af0x commented 1 year ago

I tried running Battlefield 2042 with Proton Experimental Bleeding Edge but it gets stuck at the first screen (see image attached) BF2042 I can press Shift+F1 and the EA overlay is displayed. After some time the game closes automatically.

During the installation process, the installation of the EA client got stuck at the very end and I had to cancel it to make progress. I tried verifying the files and there was no error.

Af0x commented 1 year ago

Since my last posting it does not even start up anymore. Please see the log attached. steam-1517290.log

BentHaase commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/5305#issuecomment-1334485653

Same for me, game launches but getting stuck at the loading screen. The debug menu works (SHIFT + ^) and the frame counter shows something.

We are so close to having this game work on Linux with EAC.

BentHaase commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/5305#issuecomment-1383222349

After some time the game crashes with:

wine: Unhandled page fault on read access to 0000000048BF0020 at address 0000000142797D90 (thread 0890), starting debugger...

Using the following settings (GE-Proton7-35):

2023-01-15_21-46

Lobo6780 commented 1 year ago

Same as @Af0x I tried to launch game but after start of Season 1 the game is crashing every time I try to run it, I'm using EA App launcher installed with help of Steam, Proton Experimental bleeding-edge. That's sad because even if DICE would enable Proton support game woudn't even launch.

polluxau commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/5305#issuecomment-1408825161

if they enable support valves devs would fix it 100%

BentHaase commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/5305#issuecomment-1410160843

I would say support is enabled, as EAC is loading. Before they changed something you would not even get past EAC. This seems like some other weird bug.

polluxau commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/5305#issuecomment-1410186843

Does it have the .so file? I haven't rlly looked lol

edit: it does not have the easyanticheat_x64.so file for it to work with proton

i remember when shatterline came out and it was using easyanticheat. it worked with proton but the devs didnt know about it and the version they were using was the wrong one. after a bunch of people asked they changed there version of eac and plopped the easyanticheat_x64.so to make it work with proton :)

SingleInfiniteLoop commented 1 year ago

https://github.com/HansKristian-Work/dxil-spirv/issues/134#issuecomment-1413157141 With this change to dxil-spirv the game appears to be displaying the menu, but it hangs after loading a map and a GPU_HANG message box appears (as described in https://github.com/ValveSoftware/Proton/issues/5305#issuecomment-998338026). Also, a message box with vkCreateComputePipelines assertion in winevulkan.dll is displayed 2 times during the loading process. I dismiss it each time using the Continue button.

SingleInfiniteLoop commented 1 year ago

P. S. You can copy the easyanticheat_x64.so from the Apex Legends installation if you have one.

Lobo6780 commented 1 year ago

When I go back to home I will try this, I didnt really heard about dxil-spirv, even if it loads into menu it's progress but with EAC, with .so file e.g. from Master Chief Collection is it even loading properley? As I know Proton support isn't enabled.

polluxau commented 1 year ago

For me with the .so file from Apex now it gets stuck at the splash screen then chucks a error at me when using ge-proton7-48. hopefully and with more help we could get this working even if bf2042 doesn't support it

SingleInfiniteLoop commented 1 year ago

Proper fix is now available: https://github.com/HansKristian-Work/dxil-spirv/commit/9ef222ad3cb677c3e509cfda40de7ce477cdd78e. I suggest trying the updated version of vkd3d-proton: https://github.com/HansKristian-Work/vkd3d-proton/suites/10742817425/artifacts/538965379.

Af0x commented 1 year ago

Proper fix is now available: HansKristian-Work/dxil-spirv@9ef222a. I suggest trying the updated version of vkd3d-proton: https://github.com/HansKristian-Work/vkd3d-proton/suites/10742817425/artifacts/538965379.

So is this game now working?

Lobo6780 commented 1 year ago

HansKristian-Work/dxil-spirv#134 (comment) With this change to dxil-spirv the game appears to be displaying the menu, but it hangs after loading a map and a GPU_HANG message box appears (as described in #5305 (comment)). Also, a message box with vkCreateComputePipelines assertion in winevulkan.dll is displayed 2 times during the loading process. I dismiss it each time using the Continue button.

.

SingleInfiniteLoop commented 1 year ago

I have a subjective feeling that render thread(s) blocks on something, because sometimes I experience short hangs that don't result in the GPU_HANG message box, but once it appears, the image is not updated anymore at all and a crash dump is generated in %userprofile%\Documents\Battlefield 2042\CrashDumps. P. S. I'm using proprietary nVidia Linux driver package version 515.57, I hope that's recent enough version to handle the latest vkd3d-proton.

Lobo6780 commented 1 year ago

I have far newer version of Nvidia driver on Arch I will return to home at Monday so I will write did it work.

polluxau commented 1 year ago

it seems using the latest vkd3d-proton master it still gives a error on my amd card. ill post the crash logs when i can

polluxau commented 1 year ago

backtrace.txt heres the error i got using the latest proton experimental and latest vkd3d-proton master-9377ee1613267fdec0cf05e1b26347d0d50cad4c idk if this will help but this was the error it gave me while sitting at the splash screen for a couple of minutes This was on bottles using the ea app with a rx 6700

SingleInfiniteLoop commented 1 year ago

I get this crash if the game loading process gets stuck somehow (I assume). This happens sometimes for my setup, too. I just terminate BF2042.exe process if I see that the memory pool size doesn't grow during the loading. There are 2 kinds of this issue I experienced: when memory pool size is around 660 MB and around 2500 MB.

SingleInfiniteLoop commented 1 year ago

Also, it might be a good idea to remove the stored shader cache (stored in the %userprofile%\Documents\Battlefield 2042\cache directory) and vkd3d-proton.cache/vkd3d-proton.cache.write files in the game directory just to re-trigger shader compilation.

Lobo6780 commented 1 year ago

Oh! That's a new error. Using vkd3d-proton 2.7 image

Lobo6780 commented 1 year ago

Now changed just to Proton Experimental bleeding-edge and game starts, persists on splash screen like one minute with RAM usage at 2,7GB and then crashes. Tried like 15 times. Same RAM usage and same crash.

Specs: CPU: Ryzen 5 3600 GPU: GTX 1660 Ti Kernel: 6.1.9 linux Drives: NVIDIA Proprietary 525.85.05 Proton: Proton Exp. bleeding-edge

master-sushi commented 1 year ago

I have exact problem. Only show splash screen and after some seconds crash.

Huge Game Crash Log: https://drive.google.com/file/d/1SnIYvnx12n4XIy83TRU5_RmaD7p-KQzN/view?usp=sharing

Specs:

CPU: I7-12700kf GPU: AMD 6800XT Driver: (Compatibility Profile) Mesa 22.3.4 Proton: Proton Exp

Lobo6780 commented 1 year ago

Guys next new error with latest NVIDIA driver 525.89.02 image

SingleInfiniteLoop commented 1 year ago

Right, apparently the nVidia driver is bugged at this point. It fails here: https://github.com/HansKristian-Work/vkd3d-proton/blob/08909d98565065994612e529feb0cad04e498a8e/libs/vkd3d/state.c#L4682 so that return value of vkCreateGraphicsPipelines is completely random one that doesn't match any of those described in VK_RESULT enum.

master-sushi commented 1 year ago

Any update about this issue?

Ezyrath commented 1 year ago

with the update of the game today, i can go more than the splash screen

Screenshot from 2023-02-28 15-22-00 Screenshot from 2023-02-28 15-10-26 Screenshot from 2023-02-28 15-10-51

after the last screenshoot, I have a blackscreen and crash

CPU : AMD Ryzen 9 5950X GPU : RTX 3090ti Driver : Nvidia 525.89.02 Proton : GE-Proton7-49

I tested with proton-experimental. I stay on the splash scree, like before the update

polluxau commented 1 year ago

on the amd side i get a new error backtrace.txt

Lobo6780 commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/5305#issuecomment-1448289868

Same as you with same Linux drivers, it's progress, that's good to see.

SingleInfiniteLoop commented 1 year ago

I don't think it's a progress. The game either hangs or crashes. IMHO the progress would look like game letting you to start a co-op/AI session at least.

polluxau commented 1 year ago

Screenshot from 2023-04-25 21-40-13 trying the newest update with proton 8.0 i get a bunch of winevulkan errors then the same error where the game just halts on the splash screen before crashing :/

JoaoVitoRoludo22 commented 1 year ago

mine has the same problem download

JoaoVitoRoludo22 commented 1 year ago

mine has the same problem how to solve it? download

polluxau commented 1 year ago

Replying to https://github.com/ValveSoftware/Proton/issues/5305#issuecomment-1583007511

Can't fix it until dice allows proton to work with eac sadly which they don't seem to care about so..

kisak-valve commented 1 year ago

Hello @pollux56, @JoaoVitoRoludo22, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report. If you're using the Steam client beta, then please share Steam Runtime Diagnostics instead.

polluxau commented 1 year ago

Hello @pollux56, @JoaoVitoRoludo22, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report. If you're using the Steam client beta, then please share Steam Runtime Diagnostics instead.

steam runtime diagnostics makes my desktop crash lol

https://gist.github.com/pollux56/63bac837fbfab4dc182ac269845b5e80

kisak-valve commented 1 year ago

Unfortunate, that's an unrelated kernel regression (https://github.com/ValveSoftware/steam-for-linux/issues/9267).

salixor commented 1 year ago

Hoped there would be improvements with the new season, but I see we're still at a standstill :(

Really hope EA will enable EAC someday (and that it is the only issue with the game on proton ...).

polluxau commented 1 year ago

Hoped there would be improvements with the new season, but I see we're still at a standstill :(

Really hope EA will enable EAC someday (and that it is the only issue with the game on proton ...).

Iv opened quite a few issues on the ea forums but they don't care it seems. One community manager replied and said they had no plans at the time and that was over 8 months ago. I hope they relook into this as it's rlly simple enabling it but they have other important things like fixing recoil patterns on guns lol

SingleInfiniteLoop commented 1 year ago

Replying to #5305 (comment)

Can't fix it until dice allows proton to work with eac sadly which they don't seem to care about so..

The issue is not caused by EAC, but by incomplete or bugged vkd3d-proton implementation which creates bogus Spir-V shader binaries. The GPU driver just refuses to create graphics and/or compute pipeline with the set of shader blobs produced by it.