ValveSoftware / Proton

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

Planetside 2 (218230) #5295

Open ProjectSynchro opened 3 years ago

ProjectSynchro commented 3 years ago

Compatibility Report

System Information

I confirm:

steam-218230.log

Symptoms

The launcher for this game does not render correctly, and first spawns a black and then white window. You can still interact with what should be on the window.

image image

Looking in the proton log shows multiple instances of eglCreateWindowSurface failed with error EGL_BAD_ALLOC.

Running this with Proton-6.20-GE-1 fixes rendering issues with the launcher, so there is a patch-set out there that fixes this. Which one is beyond me.. Launching the game itself is futile however, due to how Battleye support has been implemented.

Once logged in launch the game with Proton Experimental while running the Steam Client beta and ensuring the Battleye Runtime is installed. Click where the 'Play Now' button should be and the game seems to launch.

Plays well with average slowdown. Haven't seen any graphical glitches in game.

Reproduction

  1. Launch the game using Proton Experimental while running the Steam Client beta and ensuring the Battleye Runtime is installed.
  2. Observe the rendering issues with the launcher, rendering the game unplayable without using a custom build of proton to login.
ghost commented 2 years ago

I'm having the same issue as @cardpuncher did where I get a "Failed to create DXGI Device" error leading to the Planetside 2 website where it calls it a G2 error. However, I have an Arctic Islands card (RX 580) with a Ryzen 5 3600X on Debian 11 Bullseye.

mesa-vulkan-drivers is installed for both amd64 and i386.

Sorry this is a day late, but here is the Proton log: steam-218230.log

DNoobland commented 2 years ago

I'm having the same issue as @cardpuncher did where I get a "Failed to create DXGI Device"

I had the same problem with the GE-Proton7-29 version, I switched to GE-Proton7-9 and solved it.

Atemu commented 2 years ago

The heavy stutter issue still occurs with 7.0-4. To reproduce it, you must enter a semi-large fight with 50-100 players or so. It manifests itself in very long hitches; the game runs just fine and all the sudden there's a lag spike, sometimes multiple.

Proton 6.3-8 is the latest playable version.

DNoobland commented 2 years ago

I don't have that stutter issue, but I know the recommended GE-proton version to play with is 6.21-GE-2 ( in planetside 2 ofc) .

Atemu commented 2 years ago

You don't experience the stutter in which version with what hardware? Are you able to reproduce it with 7.0-4?

DNoobland commented 2 years ago

You don't experience the stutter in which version with what hardware?

I don't experience the stutter with GE-Proton7-9 Hardware: Processor: Ryzen 3 3200g Graphics: Vega 8 RAM: 16Gbx2 3200mhz LPX Vegeance I'm using proprietary AMD drivers - Arch linux.

And the game doesn't even boots with 7.0-4 lmao xd.

Atemu commented 2 years ago

And the game doesn't even boots with 7.0-4 lmao xd.

That's likely because you've used proton-ge. Clear your prefix (Planetside doesn't store anything important in it) and try again.

ghost commented 2 years ago

Yeah, the Proton 7.x series is nearly unplayable for Planetside 2 (with my hardware at least). I am still using Debian so the DXGI error persists for the 6.x proton versions (doesn't occur on other distros for some reason..)

ChaosBlades commented 2 years ago

@Atemu Do you have Assassins Creed Origins? I have the VRR issue with that game. Unfortunately I am having difficulty getting the launcher to work even after trying the suggestions here for PS2.

Edit: Not sure if I am just an idiot or some update fixed this since the last time I looked into it. So I fixed this in AC Origins by enabling VSync in game. If VSync is disabled then it sets hz to half FPS. So if VSync is enabled in PS2 and you are still getting half refresh then the issue might be that VSync is somehow not working correctly in PS2. Also make sure it is either Borderless Window or if Fullscreen it is actually set to 144hz in game or whatever it is for your monitor.

For reference I am running... Proton Experimental [bleeding-edge] Mesa 22.3.0-devel Kernel 5.19.0-76051900-generic Pop!_OS 22.04 (X11)

Atemu commented 2 years ago

(Un?)fortunately, I am no longer able to reproduce this issue in Planetside. I have switched to a 6800XT though. What's your GPU @ChaosBlades?

ChaosBlades commented 2 years ago

@Atemu 6900xt

Atemu commented 2 years ago

In which frame ranges do you experience the issue? It only happened in a certain range for me; IIRC somewhere around 120Hz triggered it.

ChaosBlades commented 2 years ago

@Atemu Had to use resolution multiplier to get lower than 120fps. First world problems :). Yes exact same result. hz is half fps at 120hz and higher when I disable Vsync. Below 120fps hz is correctly matched.

Edit: I am remembering myself test this originally now. I remember experiencing this issue on my GTX 1080 and it worked the same. I remember it jump back and forth from a correct value to half fps around 120fps. I want to say Vsync didn't fix it in that instance but I can't say for sure. I figured I would have had to test it but who knows.

Atemu commented 2 years ago

@ChaosBlades That sounds like the exact same issue I was experiencing.

Just a hunch but what's your display manager (lightdm, GDM, SDDM etc.) and what display protocol does it use?

ChaosBlades commented 2 years ago

@Atemu GDM3 (GNOME 42.3.1) running Pop!_OS 22.04 LTS Only thing I have really changed is I am running the latest mesa as it is developed.

Atemu commented 2 years ago

Wayland or X11 in GDM?

ChaosBlades commented 2 years ago

X11

Atemu commented 2 years ago

Again this is just a hunch but try making it start in wayland mode and reboot.

ChaosBlades commented 2 years ago

Assassins Creed Origins runs fine with Vsync enabled. Which Vsync should be enabled when using VRR (common misconception). So your issue that you had with PS2 had to of been either you didn't have Vsync enabled, Vsync was broken in PS2, Protons translation of it was, or your distros implementation was.

f-fusco commented 1 year ago

Video showing hitching on the latest Proton Experimental (2022/11/16) in a large fight. No improvements from previous 7.x versions.

6.3-8 works fine still.

Atemu commented 1 year ago

I can confirm @Fushko's obvservation. It's hard to tell in the video but the bug manifests itself in somewhat infrequent stutters that are each very long.

What could this be caused by? Anything us power users could test to troubleshoot?

f-fusco commented 1 year ago

Demo with a frametime overlay on Proton 7.0-4.

As you can see, it starts out fine, then quickly gets worse as I approach a fight.

f-fusco commented 1 year ago

I figured all these videos are useless without some logs. planetside2-proton-7.0-4.log.gz

When the hitching starts, tail -f reveals a whole bunch of these exceptions being printed in quick succession:

22879.320:0278:027c:warn:seh:dispatch_exception EXCEPTION_BREAKPOINT exception (code=80000003) raised
22879.320:0278:027c:trace:seh:dispatch_exception  rax=000000000011bbd0 rbx=00000000961e85a0 rcx=000000017006a380 rdx=000000000001f020
22879.320:0278:027c:trace:seh:dispatch_exception  rsi=00000000961e8440 rdi=0000000000000000 rbp=000000000011bbb0 rsp=000000000011bb78
22879.320:0278:027c:trace:seh:dispatch_exception   r8=0000000000000020  r9=000000000011bab8 r10=00000001434e6878 r11=000000000011c01c
22879.320:0278:027c:trace:seh:dispatch_exception  r12=00000000ffffffff r13=00000001434bc400 r14=0000000000000018 r15=00000000961e8618
22879.320:0278:027c:trace:seh:call_vectored_handlers calling handler at 0000000140B9D421 code=80000003 flags=0
22879.320:0278:027c:trace:seh:call_vectored_handlers handler at 0000000140B9D421 returned ffffffff
22879.375:0278:027c:trace:seh:dispatch_exception code=c000001d flags=0 addr=0000000140EF1869 ip=0000000140EF1869 tid=027c
22879.375:0278:027c:warn:seh:dispatch_exception EXCEPTION_ILLEGAL_INSTRUCTION exception (code=c000001d) raised
22879.375:0278:027c:trace:seh:dispatch_exception  rax=000000000011bc18 rbx=00000000961e85a0 rcx=000000017006a380 rdx=000000000001f020
22879.375:0278:027c:trace:seh:dispatch_exception  rsi=00000000961e8440 rdi=0000000000000000 rbp=000000000011bbb0 rsp=000000000011bb78
22879.375:0278:027c:trace:seh:dispatch_exception   r8=0000000000000020  r9=000000000011bab8 r10=00000001434e6878 r11=000000000011c01c
22879.375:0278:027c:trace:seh:dispatch_exception  r12=00000000ffffffff r13=00000001434bc400 r14=0000000000000018 r15=00000000961e8618

@kisak-valve could you please take a look? Thank you very much.

Red-Skuller commented 1 year ago

I have a unique issue with planetside 2. Especially in the evenings when the population is high my game freezes and eventually crashes after a few seconds. This happens randomly while playing (sometimes after 15 min in game and sometimes after hours). I have tried a variety of proton flags and disabling compositing on the window to no avail.

steam-218230-6.3-8.tar.gz R5 5600g RX6700XT Kernel: Linux 6.0.10-zen2-1-zen proton-6.3-8 EndeavourOS, KDE plasma, X11

Can confirm Severe performance drop when playing on proton 7.0-4 and newer(cpu usage basically doubles). Proton GE doesn't fix the crashing.

EDIT 221211: The issue seems to have resolved itself by verifying and reacquiring 17 missing files. In the next session i haven't experienced any crashes. The next time my game crashed in the same way i verified the files again and again 17 files were missing. I suspect these 17 files somehow get removed or corrupted between sessions. They are a part of the game files and not proton. ... Crashes still occur

stroyan commented 1 year ago

I have noticed that there is much less hitching when the game setting for smoothing is disabled. That may point to the game's timing measurements being confused by how Proton reports frame completion. The setting is changed by Settings->Graphics->Smoothing "Caps the frame rate to improve performance consistency."

Atemu commented 1 year ago

@stroyan smoothing is working just fine for me.

The smoothing setting is essential for getting good input latency and a slight competitive advantage (higher RoF).

I can imagine that stutters might seem more significant with it enabled with the default framerate of 60 because 60fps is just lower in general. Try setting SmoothingMaxFramerate=90 in the game's UserOptions.ini and see if the stutters are still as significant.

MagicD3VIL commented 1 year ago

A lot of people are reporting bad frames. Unfortunately for me, I cannot even log into the game. From all of the Proton versions I've tried (from 6.21-GE up to 7.47-GE), the launcher spins for a while, and then a black screen is shown. The black screen is actually a broken website where you can scroll and select text. I am using the %command% --disable-gpu launch options.

Screenshot_20230122_124753

This seems like the browser integration in the launcher (CEF) is broken for me and I have no idea why. The only version I've tried where the launcher worked correctly for me was Proton 3.7-8, but if I've read correctly, the anti-cheat won't work with this one.

I am running: Kernel: 5.15.82-desktop-1.mga8 OS: Mageia 8 x86_64 DE: Plasma 5.20.4 (X11) OpenGL: 4.6 (Compatibility Profile) Mesa 21.3.8 Driver: amdgpu

I am attaching the launcher's log folder in case somebody wants to take a look. Logs.zip

Cheers

Atemu commented 1 year ago

@MagicD3VIL try vanilla Proton 6.3-8 with a clean prefix and validate game files.

MagicD3VIL commented 1 year ago

@Atemu I validated the game files and set the version to vanilla 6.3-8. The first time I launched it, it just crashed. On the second launch, unfortunately, it behaved the same as before, showing a broken website.

I always create a new prefix while switching versions, so no worries. Thanks for the swift reply.

Cheers

Atemu commented 1 year ago

@MagicD3VIL at this point I'd remove everything in the Planetside 2 game files except for assets, UserOptions.ini and the input_user XMLs and re-download them via Steam integrity check. (This won't take long as the bulk of the large data is in assets.)

Do you have any special Networking setup like a VPN proxy?

MagicD3VIL commented 1 year ago

@Atemu I removed everything except the Resources folder and I validated the files. It seems that some progress was made because now I got stuck on a different screen. The launcher, however, does not respond to any interaction with the buttons or links.

Screenshot_20230122_142753

Funnily enough, it's the same one I referenced here a while ago (https://github.com/ValveSoftware/Proton/issues/5295#issuecomment-1086310046).

I do use an OpenVPN client but this time before I validated the files I disconnected and I did everything without it, it does not seem to make a difference.

EDIT: It seems that I am basically having the same issue as Djhg2000 had a few posts above (https://github.com/ValveSoftware/Proton/issues/5295#issuecomment-1186260114) but for them, the issue resolved itself. It is probably tied to something on the system that needs updating but I cannot tell for sure.

Atemu commented 1 year ago

@MagicD3VIL is that still on 6.3-8 with a clean prefix?

At that point it can only be DE differences or magic env vars. Try launching it with gamescope perhaps.

MagicD3VIL commented 1 year ago

@Atemu Yes, still on clean prefix with vanilla Proton 6.3-8. I'll try that tomorrow, thanks for the help.

Djhg2000 commented 1 year ago

@MagicD3VIL Well in my case it seemed like switching to a different internet connection solved it. I have no idea why that had any impact at all, but if you have the ability to try that (like taking your computer over to a friend and trying it there) then it may shed some light on the situation.

I don't recall this ever happening on Windows so I'm not sure it's some server side check failing, but I have never had that issue again since I got back home (I was on vacation at the time I wrote that issue report).

MagicD3VIL commented 1 year ago

@Djhg2000 I have actually moved since I last reported on the issue (around summer 2022) about the launcher showing just background and no login screen. So by that I have actually tried a second connection in a different house :D

When you returned from the vacation, have you installed any updates before you tried the game again, or did it just it just suddenly worked?

I cannot guarantee that the NetworkManager is not making the launcher not like something, but since it's so common on modern distros, I don't think that would be the culprit.

Cheers

Djhg2000 commented 1 year ago

@MagicD3VIL IIRC I didn't do anything differently than before. Maybe cleared the prefix again but I did that countless times on the vacation connection without any luck. I'm fairly sure I didn't install any OS updates in between either.

Ph42oN commented 1 year ago

I played this game for long time on proton 6.21-GE, because all proton 7, both valve and GE versions had stuttering in big battles. Now i compiled TKG-proton 8.0 and the stutter issue is gone, and i gained some performance over proton 6.x.

So, i guess the stutter issue in valve builds may be fixed once they rebase proton on newer wine.

ghost commented 1 year ago

Planetside 2 no longer runs into the DXGI Error on Devuan Stable (should also be true for Debian).

Bad frames, even on the 6.x kernel with the following:

CPU: Ryzen 5 3600
GPU: RX 580
RAM: 8 GB DDR5 @ 1600 Mhz (says 2100 MT/s in dmidecode for whatever reason)

I assumed these were good enough for the game but stutters happen constantly in battles. I'm using Proton 6.21-GE-2 since I had the same experience as @Ph42oN. I will try TKG-proton and see if there is still a lot of stuttering.

Nereithr commented 1 year ago

I'm not certain if this is the place to write this, since this is related to the experimental Mutter variable refresh rate patch. However, here is the issue I'm experiencing:

Variable Refresh rate (Freesync to be exact) is enabled and tested as working properly in a VRRTester app (i will update this if i find issues with other games and move the discussion over to the mutter gitlab), i.e. a framerate limit set to 134 FPS results in the monitor OSD refresh rate being reported as a rapidly changing 133-135, both with VSYNC on and off. This mirrors how VRR behaves in Windows.

However, when playing Planetside, a framerate limit of 134 results in OSD refresh rate rapidly changing between being locked at 144 and random values below 134. This isn't just a visual bug with the OSD and it does ruin the Freesync experience quite severely. Here is a list of things I tried to alleviate the issue:

System is:

Atemu commented 1 year ago

@Nereithr this is actually an AMDGPU issue AFAICT. See https://gitlab.freedesktop.org/drm/amd/-/issues/1500. Set your GPU's power profile to 3D or VR and the issue should go away.

Planetside just happens to trigger it because it's very CPU-bound on most systems, leaving the GPU opportunity to downclock too aggressively which somehow manifests in VRR issues like this.

Nereithr commented 1 year ago

@Nereithr this is actually an AMDGPU issue AFAICT. See https://gitlab.freedesktop.org/drm/amd/-/issues/1500. Set your GPU's power profile to 3D or VR and the issue should go away.

Planetside just happens to trigger it because it's very CPU-bound on most systems, leaving the GPU opportunity to downclock too aggressively which somehow manifests in VRR issues like this.

Thanks for the heads up, I'll check it out.

However, the linked issue appears to say that they're having issues with the actual frame times, while in my case the frame time graph is flat regardless of frame limiter used, yet the reported refresh rate still jumps around(the issue is present even in an empty Sanctuary) . Nevertheless, I'll try out changing the power settings for the gpu and report back

Nyonyix commented 1 year ago

So leaving a comment here if others are still having stutter issues, I have found something that works for me. Your mileage may vary though.

WINEDLLOVERRIDES=libglesv2=d taskset -c 08-15 gamemoderun mangohud %command%

Those are my launch commands and along with the new proton 8 (formerly I was using TKG) I have solved the hitching for me. The thing to take note here is the taskset command. I am on AMD and it seemed the game was trying to run across CCXs, I use that command to force the game onto CCX 2 of my CPU (Which is the fastest).

If you use AMD, Have a CPU with multiple CCXs and have stutter issues try taskset.

Atemu commented 1 year ago

My 5800x only has one CCX and I still experience the hitching on Proton 8; I had to go back to Proton 6 again.

I tried disabling SMT but that did not help. I once even crashed the game when the hitching evolved into unbounded insanity. CPU usage went up to 100% for a while before it crashed.

What is the WINEDLLOVERRIDES=libglesv2=d for @Nyonyix?

Nyonyix commented 1 year ago

@Atemu That's interesting, Maybe provide logs and performance metrics if you can get it to do it again.

The dll override is to fix the launcher not working. I find that is better than the disable gpu thing, Though it's probably placebo.

bajsicki commented 1 year ago

I am experiencing the same issue with crashing and 17 files getting corrupted: https://github.com/ValveSoftware/Proton/issues/5295#issuecomment-1338024261

Log file follows. I verified game files so it's clean, then I played the game until it froze and crashed. This is the log from it.

steam-218230.log.zip

Ninjastorm380 commented 1 year ago

Having issues on progressing past the login screen in Planetside 2. Help?

OS: EndeavourOS (arch derivative) GPU: Radeon RX 6800 Sapphire Pulse CPU Info:

Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         39 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  8
  On-line CPU(s) list:   0-7
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz
    CPU family:          6
    Model:               60
    Thread(s) per core:  2
    Core(s) per socket:  4
    Socket(s):           1
    Stepping:            3
    CPU(s) scaling MHz:  95%
    CPU max MHz:         3800.0000
    CPU min MHz:         800.0000
    BogoMIPS:            6787.05
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr s
                         se sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl 
                         xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sd
                         bg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c 
                         rdrand lahf_lm abm cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept 
                         vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts v
                         nmi md_clear flush_l1d
Virtualization features: 
  Virtualization:        VT-x
Caches (sum of all):     
  L1d:                   128 KiB (4 instances)
  L1i:                   128 KiB (4 instances)
  L2:                    1 MiB (4 instances)
  L3:                    8 MiB (1 instance)
NUMA:                    
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-7
Vulnerabilities:         
  Itlb multihit:         KVM: Mitigation: VMX disabled
  L1tf:                  Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
  Mds:                   Mitigation; Clear CPU buffers; SMT vulnerable
  Meltdown:              Mitigation; PTI
  Mmio stale data:       Unknown: No mitigations
  Retbleed:              Not affected
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling, PBRSB-eIBRS Not 
                         affected
  Srbds:                 Mitigation; Microcode
  Tsx async abort:       Not affected

GL Info:

OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 6800 (navi21, LLVM 15.0.7, DRM 3.52, 6.4.3-arch1-1)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.1.3
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.1.3
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.1.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

Log: steam-218230.log

Screenshot: this gets stuck like this

Atemu commented 1 year ago

@Ninjastorm380 validate your game files. There was a recent update that corrupted game files that'd corrupt game files in a way that prevents login in a weird way for the first three times and then caused people to glitch everywhere or not appear at all.

https://lemmy.ml/post/1681026

Atemu commented 1 year ago

Has anyone tested whether 8.0-3 fixed the stuttering Proton 7 introduced?

Atemu commented 1 year ago

I had a great session with Proton 8.0-3 yesterday. There were a few major lag spikes but I'm unsure they're related to issue we started seeing with Proton 7 as the symptoms were quite different. Could just have been cold shader caches.

I didn't ever have it devolve into a stutter-fest like it used to though, even in larger fights. I'll use Proton 8.0-3 over the coming weeks.

Ninjastorm380 commented 1 year ago

@Ninjastorm380 validate your game files. There was a recent update that corrupted game files that'd corrupt game files in a way that prevents login in a weird way for the first three times and then caused people to glitch everywhere or not appear at all.

https://lemmy.ml/post/1681026

@Atemu I've already tried uninstalling and reinstalling planetside 2 and clearing the prefix (effectively a brand new install), I still get the same issues regardless.