Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Satisfactory (526870) #7580

Open
2 tasks done
alf1e opened this issue Mar 17, 2024 · 32 comments
Open
2 tasks done

Satisfactory (526870) #7580

alf1e opened this issue Mar 17, 2024 · 32 comments
Labels
AMD RADV Possible driver issues with RADV Game compatibility - Unofficial Games not expected to work without issues Mesa drivers Possibly involves an issue with a Mesa video driver NVIDIA drivers Possibly involves an issue with the NVIDIA proprietary driver

Comments

@alf1e
Copy link

alf1e commented Mar 17, 2024

Compatibility Report

  • Name of the game with compatibility issues: Satisfactory
  • Steam AppID of the game: 526870

System Information

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.

Symptoms

Random artefacts on main menu and in game.

Reproduction

Install Satisfactory and run with Proton 9 on similar hardware.

@alf1e
Copy link
Author

alf1e commented Mar 17, 2024

steam-526870.zip

@alf1e
Copy link
Author

alf1e commented Mar 17, 2024

trim.C902F6FD-E449-463B-A77D-0E586633724C.MOV

@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Mar 17, 2024
@kisak-valve
Copy link
Member

Hello @alf1e, can you test if setting the game's launch options to RADV_PERFTEST=gsfastlaunch2 %command% has an effect? If that helps, then the graphical artifacting is a 760M specific issue which is fixed in mesa 24.0.2 and newer (https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27618).

@alf1e
Copy link
Author

alf1e commented Mar 17, 2024

RADV_PERFTEST=gsfastlaunch2

Hello @alf1e, can you test if setting the game's launch options to RADV_PERFTEST=gsfastlaunch2 %command% has an effect? If that helps, then the graphical artifacting is a 760M specific issue which is fixed in mesa 24.0.2 and newer (https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27618).

That partially worked, However textures such as the conveyor belts are still missing and it will not let me move my mouse all the way left until I ALT+TAB out and back into the game. I will update Mesa now but please set me know if you have any idea how to fix the other issues.
image

@alf1e
Copy link
Author

alf1e commented Mar 17, 2024

@kisak-valve Nevermind. Got into an actual game and it was still flickering with artefacts.

Screencast.from.2024-03-17.16-35-39.webm

@kisak-valve kisak-valve added Mesa drivers Possibly involves an issue with a Mesa video driver AMD RADV Possible driver issues with RADV labels Mar 17, 2024
@kisak-valve kisak-valve mentioned this issue Apr 13, 2024
2 tasks
@kisak-valve
Copy link
Member

Satisfactory regression on nVidia 555.42.02 (explicit sync)

Issue transferred from #7817.
@Baughn posted on 2024-06-06T16:26:17:

Compatibility Report

  • Name of the game with compatibility issues: Satisfactory
  • Steam AppID of the game: 526870

System Information

  • GPU: RTX 4090
  • Video driver version: NVIDIA proprietary 555.42.02
  • Kernel version: 6.8.12
  • Link to full system information report as Gist.
  • 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.

Application log: steam-526870.log.gz

However, enabling PROTON_LOG dramatically changed the behaviour of the application; instead of what I describe below, it instead immediately freezes,

Symptoms

After installing NVIDIA driver version 555, at a random time (typically a few seconds) after launching, the game crashes with the following error:
image

This is with %command% -vulkan. Without -vulkan it doesn't crash, but instead shows a black screen forever.

This is on Wayland. This driver version enabled the explicit swap chain for Xwayland, which I believe may have broken some assumption in winevulkan.

Reproduction

@kisak-valve kisak-valve added the NVIDIA drivers Possibly involves an issue with the NVIDIA proprietary driver label Jun 6, 2024
@AkechiShiro
Copy link

AkechiShiro commented Jun 6, 2024

@alf1e isn't there an UE VCRuntime library to install (on the Steam Deck it works and it gets installed when launching the game the first time but not on Steam desktop), I cannot get the game to run no matter the parameters (I'm using an AMD RX780M) on NixOS.

@alf1e
Copy link
Author

alf1e commented Jun 6, 2024

@alf1e isn't there an UE VCRuntime library to install (on the Steam Deck it works and it gets installed when launching the game the first time but not on Steam desktop), I cannot get the game to run no matter the parameters (I'm using an AMD RX780M) on NixOS.

Not sure. All I know is Fedora 40 had a new Mesa version and that fixed my issues.

@Baughn
Copy link

Baughn commented Jun 7, 2024

Following https://github.com/ValveSoftware/Proton/blob/proton_9.0/docs/DEBUGGING.md, I attempted to attach a debugger to find out what the exact error from vkWaitForFences might be. I was not able to do so, unfortunately -- vkWaitForFences does not appear to be symbolized.

That said, from https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkWaitForFences.html:

On success, this command returns
- VK_SUCCESS
- VK_TIMEOUT

However, the generated code in loader_thunks.c is:

VkResult WINAPI vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences, VkBool32 waitAll, uint64_t timeout)                                                                                                                                                     
{
    struct vkWaitForFences_params params;
    NTSTATUS status;
    params.device = device;
    params.fenceCount = fenceCount;
    params.pFences = pFences;    
    params.waitAll = waitAll;
    params.timeout = timeout;
    status = UNIX_CALL(vkWaitForFences, &params);      
    assert(!status && "vkWaitForFences");      
    return params.result;
}

Which treats any nonzero value as an error. In fact vk.xml specifies that either VK_SUCCESS or VK_TIMEOUT should count as a success for this function, but make_vulkan does not appear to make any use of this information. Since the physical value of VK_TIMEOUT is 2, not 0, the code raises a spurious assertion failure if the wait times out.

Previously to this driver update Linux only supported implicit sync, which would IIUC never have timed out.

I therefore believe this is a bug in winevulkan.dll, not in Satisfactory.

EDIT: ...not anymore. The result is returned out-of-band, so it's some other status check that's failing, and the return value from vkWaitForFences is just returned as-is. Right, well, I'm clearly out of my depth here then. I don't see anything relevant in the log.

@misyltoad
Copy link
Contributor

It just means a segfault happened on the other side.

@Baughn
Copy link

Baughn commented Jun 7, 2024

Makes... sense. The log file does seem to be mostly crash logs.

@amshafer
Copy link

amshafer commented Jul 2, 2024

FWIW I'm unable to reproduce this on NVIDIA, one of my machines ran the game fine (555.54.02 driver, Kwin 6 beta, and Xwayland 24.1) and the other spins at the loading screen indefinitely as the game starts.

Since this is suspected to be related to explicit sync I wonder if waiting on the sync fds within vkWaitForFences is going wrong, causing the error to be returned. If so it might be dependent on the kernel, I know there are some fixes for syncobjs although those should all be in 6.8.x kernels. Is anyone else reproducing this (on NVIDIA) easily and if so do you notice if a newer/older kernel has any effect?

@Baughn
Copy link

Baughn commented Jul 23, 2024

I'm also no longer able to reproduce. It works fine at the moment.

@krakow10
Copy link

krakow10 commented Jul 24, 2024

I can still reproduce the vkWaitForFences error message with the following setup:
Arch linux
Kernel 6.9.10
Nvidia driver 555.58.02
Proton 9.0, Proton experimental, Proton GE (did not try any others)
DE: Sway
Satisfactory EGS version via Heroic Launcher

Will try again with kernel 6.10 and nvidia 560 beta tomorrow and edit this message if I remember to

Edit: Same error message with kernel 6.10 and nvidia 560.28.03

@JL2210
Copy link

JL2210 commented Aug 1, 2024

I was able to reproduce a few days ago on Arch Linux, kernel 6.10.2-arch1.1, nvidia-dkms (proprietary) 555.58.02, Proton Experimental, KDE Plasma 6.1, Satisfactory running in Vulkan through Steam.

@kisak-valve
Copy link
Member

Keyboard do not works and the buttons have moved from their normal places

Issue transferred from #8022.
@Scinetist posted on 2024-08-25T09:12:03:

System - kubuntu 22.04
Game - Satisfactory (update 8, last ver)
PC - 4070 & r7 7700x

when I load a save in satisfactory and try to do something I can't do anything - only the mouse and the tab and escape keys work (maybe something else, I don't remember exactly). I also had this problem on epic games

And I also have problems applying settings, because all the buttons in all the menus have moved to the right and down, and some of them are behind the screen

https://github.com/user-attachments/assets/c01274e3-bb68-435c-aaf2-80201cbab8d8 - screen capture

@krakow10
Copy link

krakow10 commented Aug 25, 2024

Update: I can get into the game on driver 560.35.03 with egl-wayland 1.1.16. 🎉 Tested with Proton GE. I am no longer experiencing the vkWaitForFences issue.

Edit: vkWaitForFences just happened again, but I tried to move the window while the game was loading or something. I avoided doing that and got into the game fine.

@ofcaah
Copy link

ofcaah commented Sep 10, 2024

just a 'me too' regarding vkWaitForFences.
nonvidia 560.35.03, 6.10.7-amd64, KDE Plasma, Wayland, any proton, same result.

@ofcaah
Copy link

ofcaah commented Sep 10, 2024

1.0 got just released. Same problem on Proton Experimental:
image

@ofcaah
Copy link

ofcaah commented Sep 10, 2024

as a side note, this seems to be related to having previously used the EXPERIMENTAL vulkan support.

deleting steamapps/compatdata/526870/pfx/drive_c/users/steamuser/Local Settings/Application Data/FactoryGame/Saved/Config/Windows/Engine.ini will restore graphics settings to default, and game will launch correctly in DX12 mode.

@Kawazu0
Copy link

Kawazu0 commented Sep 12, 2024

I also have the assertion failed on exit on my system but the game works (tested Dx11 and Vulkan)
Proton experimental, Kernel Debian 6.7.12-1~bpo12+1, NVidia 550.107.02.

tried ofcaah idea and detection is now ok

I still play with Vulkan rendering which proved to be far faster on No Man's Sky and Satisfactory here.

@ofcaah
Copy link

ofcaah commented Sep 12, 2024

I still play with Vulkan rendering

I'm having same error if I switch to Vulkan; only DX12 works for me.

@hypergonial
Copy link

hypergonial commented Sep 15, 2024

The vkWaitForFences issue seems to be tied to nvidia & explicit sync along with the game running using Vulkan (-vulkan) under Wayland. I stopped my game from crashing by passing the __NV_DISABLE_EXPLICIT_SYNC=1 environment variable. Alternatively, running the game in -dx12 mode also fixes the issue, but at the cost of lost performance.

Note that this needs a fairly recent version of egl-wayland to work (1.1.15+) as this functionality was added recently.

Edit: This workaround seems to have made the crashes less frequent, but they still seem to happen from time to time. DX12 is the only reliable option right now, which is not even close as performant. :/

@Kawazu0
Copy link

Kawazu0 commented Sep 17, 2024

[…]
Edit: This workaround seems to have made the crashes less frequent, but they still seem to happen from time to time. DX12 is the only reliable option right now, which is not even close as performant. :/

>50h playing now, only having to click "cancel" button after exiting the game, and I have no performance issues. Button vs performance. My choice is made until it's resolved :)

Edit on 22/09 :
Kernel 6.7 and NVidia 550.107.02 as NVidia asked to wait for driver fully compatible with newer kernels. Today's stable version is 550.120 which only fixes issues which doesn't affect my system.
PROTON_ENABLE_NVAPI is always 1 as I set it at login
The exception I get isn't a bad exit status with vkWaitForFences but vkDestroySampler. (a function might return 0 instead of 1 or the opposite to say "true" I hate numeric value for booleans 😆 )

@MrSn0wy
Copy link

MrSn0wy commented Sep 19, 2024

same issue here, i get assertion failed "!status" & "vkWaitForFences"" when i start the game.
proton: GE-Proton9-13, proton bleeding-edge | kernel: Gentoo 6.10.11 | nvidia: 560.35.03
explicit sync disabled and on Hyprland (wayland)

game works fine on dx11/dx12

Edit:
I switched to gnome from hyprland, nothing else was changed and now instead of crashing on startup it crashes when i exit. Atleast i can play now!

@Okxa
Copy link

Okxa commented Sep 20, 2024

After the latest game update the game did not launch on Proton 9.0-3. (But not sure if the issue is proton or the game...) Only error appearing in log is, but not sure if relevant:

Adding process 213085 for gameID 526870
Adding process 213086 for gameID 526870
Adding process 213087 for gameID 526870
Adding process 213239 for gameID 526870
Traceback (most recent call last):
  File "/mnt/HDD2/Pelit/Steam/steamapps/common/Proton 9.0 (Beta)/proton", line 228, in copyfile_reflink
    bytes_to_copy -= copy_file_range(src.fileno(), dst.fileno(), bytes_to_copy)
OSError: [Errno 18] Invalid cross-device link

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/mnt/HDD2/Pelit/Steam/steamapps/common/Proton 9.0 (Beta)/proton", line 1601, in <module>
    g_session.init_session(sys.argv[1] != "runinprefix")
  File "/mnt/HDD2/Pelit/Steam/steamapps/common/Proton 9.0 (Beta)/proton", line 1508, in init_session
    g_compatdata.setup_prefix()
  File "/mnt/HDD2/Pelit/Steam/steamapps/common/Proton 9.0 (Beta)/proton", line 976, in setup_prefix
    try_copy(g_proton.lib64_dir + "wine/nvapi/nvapi64.dll", "drive_c/windows/system32",
  File "/mnt/HDD2/Pelit/Steam/steamapps/common/Proton 9.0 (Beta)/proton", line 161, in try_copy
    copyfile(src, dst)
  File "/mnt/HDD2/Pelit/Steam/steamapps/common/Proton 9.0 (Beta)/proton", line 234, in copyfile_reflink
    shutil.copyfile(srcname, dstname)
  File "/usr/lib/python3.9/shutil.py", line 275, in copyfile
    _fastcopy_sendfile(fsrc, fdst)
  File "/usr/lib/python3.9/shutil.py", line 172, in _fastcopy_sendfile
    raise err
  File "/usr/lib/python3.9/shutil.py", line 152, in _fastcopy_sendfile
    sent = os.sendfile(outfd, infd, offset, blocksize)
OSError: [Errno 5] Input/output error: '/mnt/HDD2/Pelit/Steam/steamapps/common/Proton 9.0 (Beta)/files/lib64/wine/nvapi/nvapi64.dll' -> '/mnt/SSD2/Pelit/Steam/steamapps/compatdata/526870/pfx/drive_c/windows/system32/nvapi64.dll'
Removing process 213239 for gameID 526870
Removing process 213087 for gameID 526870
Removing process 213086 for gameID 526870
Removing process 213085 for gameID 526870

Got it to launch as it used to by switching to Proton Experimental though. The above errors do not display then.

@damnkrat
Copy link

damnkrat commented Sep 21, 2024

Works for me with proton 9.0-3 dx12 and

VKD3D_CONFIG=dxr11 PROTON_CONFIG=dxr11 VKD3D_FEATURE_LEVEL=12_1 PROTON_HIDE_NVIDIA_GPU=0 PROTON_ENABLE_NVAPI=1  __GL_THREADED_OPTIMIZATIONS=1 gamemoderun mangohud %command% -nosplash -USEALLAVAILABLECORES -NoVerifyGC

@HHonzik
Copy link

HHonzik commented Sep 29, 2024

I'm having the same issues (on a AMD GPU) but only if I use Vulkan, sometimes it forces dx11 and works, other times some changing some settings to worse and better fixes it, then dx12 causes random VRAM problem like issues when AMD FSR is enabled, when its off it works perfectly, dx11 has the worst performance but doesn't have issues. Also the issues on Vulkan aren't from proton/wine, a different machine running Windows 11 has the same issue only on Vulkan.

@Scinetist
Copy link

i solved the problem, the issue was in keyboard layout - satisfactory used non-standart keyboard layout. In final, i just swapped default keyboard layout to eng, and all worked.

@JPLeBreton
Copy link

JPLeBreton commented Oct 8, 2024

Since the 1.0 update, I have been getting infrequent long (5+ seconds) hangs when running the game. Nothing specific seems to trigger it. I've only seen them happen with DX12 rendering (the default), though I haven't tested too extensively with Vulkan or DX11 because those have pretty severe visual quality issues (something really nasty looking with shadow maps, especially apparent up on the pink forest / red bamboo plateau).

I looked through my logs to see if anything was printing during those hitches, and saw this:

[2024.10.08-02.04.06:298][202]LogGame: Warning: FGSchematic::GetIsPlayerSpecific: class was nullpeter.
[2024.10.08-02.04.18:527][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x000000010E1A1500) on the [0x0000000026C30B00, 3D] queue has not completed after 5.000000 seconds.
[2024.10.08-02.04.18:657][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x000000010E1AF000) on the [0x0000000026C30B00, 3D] queue has not completed after 5.129178 seconds.
[2024.10.08-02.04.18:657][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000E1896000) on the [0x0000000026C30B00, 3D] queue has not completed after 5.128201 seconds.
[2024.10.08-02.04.18:657][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000E189F400) on the [0x0000000026C30B00, 3D] queue has not completed after 5.128437 seconds.
[2024.10.08-02.04.18:658][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000FA2EF100) on the [0x0000000026C30B00, 3D] queue has not completed after 5.128858 seconds.
[2024.10.08-02.04.18:658][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000001188EF300) on the [0x0000000026C30B00, 3D] queue has not completed after 5.129422 seconds.
[2024.10.08-02.04.18:659][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x000000010E1ADA00) on the [0x0000000026C30B00, 3D] queue has not completed after 5.129432 seconds.
[2024.10.08-02.04.18:660][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000BF22B300) on the [0x0000000026C30B00, 3D] queue has not completed after 5.130143 seconds.
[2024.10.08-02.04.18:664][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x0000000117DF8B00) on the [0x0000000026C30B00, 3D] queue has not completed after 5.133832 seconds.
[2024.10.08-02.04.18:664][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000E32E0900) on the [0x0000000026C30B00, 3D] queue has not completed after 5.134202 seconds.
[2024.10.08-02.04.18:668][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x0000000119091100) on the [0x0000000026C30B00, 3D] queue has not completed after 5.137531 seconds.
[2024.10.08-02.04.18:669][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000E8704C00) on the [0x0000000026C30B00, 3D] queue has not completed after 5.138395 seconds.
[2024.10.08-02.04.18:669][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000BF22AA00) on the [0x0000000026C30B00, 3D] queue has not completed after 5.137579 seconds.
[2024.10.08-02.04.18:671][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000C2E0A300) on the [0x0000000026C30B00, 3D] queue has not completed after 5.138341 seconds.
[2024.10.08-02.04.18:671][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000BA1E1800) on the [0x0000000026C30B00, 3D] queue has not completed after 5.138559 seconds.
[2024.10.08-02.04.18:684][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000BF22C000) on the [0x0000000026C30B00, 3D] queue has not completed after 5.150494 seconds.
[2024.10.08-02.04.18:687][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000001190A8F00) on the [0x0000000026C30B00, 3D] queue has not completed after 5.152743 seconds.
[2024.10.08-02.04.18:687][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000000B539F900) on the [0x0000000026C30B00, 3D] queue has not completed after 5.152804 seconds.
[2024.10.08-02.04.18:688][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x00000001190CD400) on the [0x0000000026C30B00, 3D] queue has not completed after 5.152833 seconds.
[2024.10.08-02.04.18:688][576]LogD3D12RHI: Warning: GPU timeout: A payload (0x0000000118C1CD00) on the [0x0000000026C30B00, 3D] queue has not completed after 5.153178 seconds.
[2024.10.08-02.04.19:449][617]LogGame: Error: UFGOutlineComponent::ShowOutline - Trying to copy Custom Primitive Data from invalid index. (Index: 0, Num: 0)

One thing I've noticed about any given one of these hangs is that alt-tabbing away from the game and then back always gets the game back on track.

Not sure if this is a Proton issue or a bug for Coffee Stain, but figured I'd post it here first to see if anyone else is seeing it. I wish I had more concrete repro steps for these hangs, but all I have is "play the game for a bit". It might have something to do with objects de-spawning? Eg firing projectiles, creatures dying and despawning, etc... but I can't say for sure.

Specs:
kernel 6.11
Nvidia GTX 1070 8GB with 560.35.03 drivers
GNOME desktop + Wayland

@finnjohnsen
Copy link

finnjohnsen commented Oct 14, 2024

deleting steamapps/compatdata/526870/pfx/drive_c/users/steamuser/Local Settings/Application Data/FactoryGame/Saved/Config/Windows/Engine.ini will restore graphics settings to default

I believe I got this error as a result of upgrading to Ubuntu 24.10 yesterday as I have never seen it before and got it consistently after the upgrade

Fortunately deleting this file fixed this issue for me and the game started right up again.

Sorry for not being more helpful. An Ubuntu upgrade pretty much just throws everything up in the air.

@kisak-valve
Copy link
Member

Satisfactory - mouse over text input box teleports mouse cursor

Issue transferred from #8165.
@Omnifarious posted on 2024-10-15T19:51:25:

Compatibility Report

  • Name of the game with compatibility issues: Satisfactory
  • Steam AppID of the game: 526870

System Information

I will replace the above bit with my system information from the affected system.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AMD RADV Possible driver issues with RADV Game compatibility - Unofficial Games not expected to work without issues Mesa drivers Possibly involves an issue with a Mesa video driver NVIDIA drivers Possibly involves an issue with the NVIDIA proprietary driver
Projects
None yet
Development

No branches or pull requests