ValveSoftware / Proton

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

Scrap Mechanic (387990) #2165

Open Scrumplex opened 5 years ago

Scrumplex commented 5 years ago

Compatibility Report

System Information

I confirm:

steam-387990.log

Symptoms

The game does not start. It only shows a black screen. It used to work before one of the latest updates of the game with the WINED3D flag enabled.

Reproduction

Just open the game.

TaiTair commented 5 years ago

Game runs fine with kernel 4.20, driver 418.56, proton 4.2.5 and WINED3D flag.

Wish it worked with DXVK though. With DXVK fails to create graphics device.

TaiTair commented 5 years ago

If I run it without WINED3D it crashes and produces logs under ScrapMechanic/Logs. The game log shows this:

13:11:56 (1) [Default] Initializing Logger
13:11:56 (1) [System] Operating system: XP Service pack 3
13:11:56 (1) [System] Permissions for C:/users/steamuser/Application Data - Others write | Others read | Group write | Group read | Owner write | Owner read
13:11:56 (1) [System] Permissions for C:/users/steamuser/Local Settings/Application Data - Others write | Others read | Group write | Group read | Owner write | Owner read
13:11:56 (1) [System] Permissions for .. - Others write | Others read | Group write | Group read | Owner write | Owner read
13:11:56 (1) [Default] Initializing ResourceManager
13:11:56 (1) ERROR: d:\jenkinsworkspace\scrapmechanic\contraptioncommon\resources\resourcemanager.cpp:89 $GAME_DATA/Objects/Mesh/fittings/obj_fittings_fusebox.mesh is marked for upgrade, but the file exists. Ignoring upgrade pair
13:11:56 (1) [System] GPU: GeForce GTX 1050
13:11:56 (1) [System] Dedicated Video Memory: 3072 Mb
13:11:56 (1) [System] Shared System Memory: 3072 Mb
13:11:56 (1) [System] CPU: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
13:11:56 (1) [System] Total RAM: 15921 Mb
13:11:56 (1) [System] Available RAM: 12463 Mb
13:11:57 (1) [System] Supported feature level: 11.0
13:11:57 (1) [Render] Dx11 device created
13:11:58 (1) [Default] Initializing GUI
13:11:58 (1) [Default] Creating MyGUI DX11 platform
13:11:59 (1) ERROR: d:\jenkinsworkspace\scrapmechanic\scrapmechanic\contraption.cpp:802 Bugsplat!

Which confirms DXVK is the issue. There is a second log for MyGUI:

13:11:58  |  Platform  |  Info  |  * Initialise: RenderManager  |  z:\deps\vc141\mygui\platforms\directx11\directx11platform\src\mygui_directx11rendermanager.cpp  |  85
13:11:58  |  Platform  |  Critical  |  RenderManager 0 viewport sets  |  z:\deps\vc141\mygui\platforms\directx11\directx11platform\src\mygui_directx11rendermanager.cpp  |  130

It looks like it fails to create a Graphics device because it is using VC141.

Edit: forgot to change Windows version back to 7 with winecfg. Output remains the same with 7 though.

MadByteDE commented 5 years ago

DXVK receives a fix for the blackscreen / crash on startup.. You can built DXVK from source or use the following link to get it before it get's updated in a future Proton version. The archive contains setup instructions if needed. https://drive.google.com/open?id=1Q8ymLwk2tB2zWQOh5_RDVllMeC_duJ5N

TaiTair commented 5 years ago

I will wait for proton to be updated and then I'll try. I'm assuming this will probably be in proton 5.0. Just read the issue on the DXVK git. That looks very promising. I'm excited to try it out.

Friz64 commented 5 years ago

Scrap Mechanic is still broken for AMD/Intel Mesa users because of another bug where the game crashes with this error: image This is the log that gets created:

13:34:12 (1) [Default] Initializing Logger
13:34:12 (1) [System] Operating system: Win 7 Service pack 1
13:34:12 (1) [System] Permissions for C:/users/steamuser/Application Data - Others write | Others read | Group write | Group read | Owner write | Owner read
13:34:12 (1) [System] Permissions for C:/users/steamuser/Local Settings/Application Data - Others write | Others read | Group write | Group read | Owner write | Owner read
13:34:12 (1) [System] Permissions for .. - Others write | Others read | Group write | Group read | Owner write | Owner read
13:34:12 (1) [Default] Initializing ResourceManager
13:34:12 (1) ERROR: d:\jenkinsworkspace\scrapmechanic\contraptioncommon\resources\resourcemanager.cpp:89 $GAME_DATA/Objects/Mesh/fittings/obj_fittings_fusebox.mesh is marked for upgrade, but the file exists. Ignoring upgrade pair
13:34:12 (1) ERROR: d:\jenkinsworkspace\scrapmechanic\contraptioncommon\renderer\dx11\d3d11_device.cpp:127 DirectX Error "CreateDXGIFactory" failed. Error code: 0x80004005

13:34:12 (1) [Render] ERROR: d:\jenkinsworkspace\scrapmechanic\contraptioncommon\renderer\dx11\d3d11_renderer.cpp:59 Adapter search failed
Shutting down...

This has been confirmed by a few AMD/Intel Mesa users on protondb.

Friz64 commented 5 years ago

I have opened an DXVK issue for this. https://github.com/doitsujin/dxvk/issues/1129

Friz64 commented 5 years ago

Update: This patch also works just fine using AMD/Intel Mesa, it just requires the 32-bit vulkan drivers to be installed.

Mhowser commented 4 years ago

Hi, there is a new issue with Scrap Mechanic using Proton 5.0-6. The game starts fine but the cursor disappears when it goes into the game window and nothing is selectable/clickable, i cant even use TAB to navigate. The steam overlay is functional. I'm using amd cpu and amd gpu on Zorin OS 15 (Ubuntu 18.04) Here is more GPU info:

Graphics:  Card: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X]
           Display Server: wayland (X.Org 1.19.6 )
           drivers: fbdev,ati (unloaded: modesetting,vesa,radeon)
           Resolution: 1280x1024@59.89hz, 1920x1080@59.96hz
           OpenGL: renderer: Radeon RX 580 Series (POLARIS10, DRM 3.36.0, 5.5.0-050500-generic, LLVM 10.0.0)
           version: 4.6 Mesa 20.0.5 - kisak-mesa PPA
kisak-valve commented 4 years ago

Hello @Mhowser, please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-$APPID.log into the comment box. Also, what's the most recent version of Proton which doesn't show the regression?

Mhowser commented 4 years ago

Hi, sorry for taking so long to respond, that bug was fixed by switching over to Xorg instead of using Wayland.

There is now a new bug with BETA 0.4.0 that was just released, the game crashes everytime I try to create or load a world, be it survival or creative. I dont see anything of interest in the game log but here it is; game-20200507-103025.log

Please let me know if you need more info just tell me how to get it.

Friz64 commented 4 years ago
20:03:03 (1) [Default] Opening save file: 'C:/users/steamuser/Application Data/Axolot Games/Scrap Mechanic/User/User_76561198242564406/Save/Survival/test1.db'
20:03:07 (1) ERROR: Z:\Jenkins\workspace\sm\ScrapMechanic\Contraption.cpp:856 Bugsplat!

Same here, this doesn't look very fixable for the end user unfortunately. The best thing to do now is to contact the developers and hope that they try to fix the issue. I have already sent them a tweet.

TaiTair commented 4 years ago

It look like they switched Scrap Mechanic to DX12 so it's running on VKD3D now.
My framerate limiters don't work anymore. Game doesn't run in openGL anymore (with PROTON_USE_WINED3D=1) Haven't tried launching a game yet since I'm trying to disable DX12.

Friz64 commented 4 years ago

It look like they switched Scrap Mechanic to DX12 so it's running on VKD3D now. My framerate limiters don't work anymore. Game doesn't run in openGL anymore (with PROTON_USE_WINED3D=1) Haven't tried launching a game yet since I'm trying to disable DX12.

Where did you get that idea from? For me it still seems like it's running on DX11. 20:02:02 (1) [Render] Dx11 device created

TaiTair commented 4 years ago

It look like they switched Scrap Mechanic to DX12 so it's running on VKD3D now. My framerate limiters don't work anymore. Game doesn't run in openGL anymore (with PROTON_USE_WINED3D=1) Haven't tried launching a game yet since I'm trying to disable DX12.

Where did you get that idea from? For me it still seems like it's running on DX11. 20:02:02 (1) [Render] Dx11 device created

Ok my bad. It was an assumption because VKGHL was not working and because I couldn't get it to run on WINED3D. Checked the logs and you are right. It's DX11. Bunch of fishy stuff going on though: 14458.162:00bc:00c0:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\dxvk_config.dll" at 0x69240000: native warn: D3D11CoreCreateDevice: Adapter is not a DXVK adapter info: Game: ScrapMechanic.exe info: DXVK: v1.6-69-g5f4f92002

14463.404:00bc:00fc:err:ntdll:RtlpWaitForCriticalSection section 0x1672208 "?" wait timed out in thread 00fc, blocked by 00f8, retrying (60 sec) 14463.404:00bc:0104:err:ntdll:RtlpWaitForCriticalSection section 0x1672208 "?" wait timed out in thread 0104, blocked by 00f8, retrying (60 sec) 14463.404:00bc:00f8:err:ntdll:RtlpWaitForCriticalSection section 0x7bebf780 "../../../../proton/wine/dlls/ntdll/loader.c: loader_section" wait timed out in thread 00f8, blocked by 0104, retrying (60 sec) 14463.404:00bc:0108:err:ntdll:RtlpWaitForCriticalSection section 0x7bebf780 "../../../../proton/wine/dlls/ntdll/loader.c: loader_section" wait timed out in thread 0108, blocked by 0104, retrying (60 sec) 14463.404:00bc:010c:err:ntdll:RtlpWaitForCriticalSection section 0x7bebf780 "../../../../proton/wine/dlls/ntdll/loader.c: loader_section" wait timed out in thread 010c, blocked by 0104, retrying (60 sec)

Half the time, game doesn't even startup. steam-387990.log

Mhowser commented 4 years ago

@TaiTair what are your launch options?

Friz64 commented 4 years ago

I don't know much about Proton internals but i don't think they are actually the problem. The real reason of the crash seems to be some kind of assertion in Scrap Mechanic or something, not anything we can control i think.

TaiTair commented 4 years ago

On WINED3D 14849.034:00bc:00c0:fixme:d3d:wined3d_swapchain_init The application requested more than one back buffer, this is not properly supported. Please configure the application to use double buffering (1 back buffer) if possible. steam-387990.log

@TaiTair what are your launch options?

I tried a few: wined3d, nod3d12, nod3d11, nod3d10, noesync, nofsync, seccomp

Seems to be on Scrap Mechanic end.

UltraBlackLinux commented 4 years ago

Do u guys that are having that problem have an AMD Graphics card? this may actually be he problem since all the people with the lauch problems have them.

Mhowser commented 4 years ago

Do u guys that are having that problem have an AMD Graphics card? this may actually be he problem since all the people with the lauch problems have them.

I have the Radeon RX 580

Friz64 commented 4 years ago

I have a Radeon RX 580 too, but i don't think it's the cause.

TaiTair commented 4 years ago

No. Nvidia 1050 here.

TaiTair commented 4 years ago

Ok so I tried a few more things just to make sure. Made a dxvk.conf for Scrap Mechanic: -Tried disabling nvapihack to make my GPU run as an Nvidia GPU, no dice. -Tried limiting DX feature level to 10_1, 9_3. No dice. -Tried setting dxgi.syncInterval to 0.5 to force 30 fps. No dice. (Ran set to 1 though)

I've noticed a couple things during my tests: -Adding DXVK_HUD=1 to launch parameters does not enable the DXVK HUD, it can only be enabled from dxvk.conf for this game. -This is the only game right now in my library that does not use the layers I set in vkconfig. VKGHL still works with my other games. This makes me think the game is actually pulling off some weird rendering tricks.

I also tried launching the game in creative instead of survival. No difference.

Friz64 commented 4 years ago

-Adding DXVK_HUD=1 to launch parameters does not enable the DXVK HUD, it can only be enabled from dxvk.conf for this game.

I use DXVK_HUD=full %command as a start command just fine. Again, i still doubt that the crash has anything to do with rendering and believe it has more to do with some other incompatibility.

TaiTair commented 4 years ago

-Adding DXVK_HUD=1 to launch parameters does not enable the DXVK HUD, it can only be enabled from dxvk.conf for this game.

I use DXVK_HUD=full %command as a start command just fine. Again, i still doubt that the crash has anything to do with rendering and believe it has more to do with some other incompatibility.

Ok I guess I forgot the %command% because it does work.

That doesn't explain why the game doesn't use my vulkan layers though. It's not loading my configuration so it's doing weird stuff. Who knows what else it's not loading other than vulkan layers.

UltraBlackLinux commented 4 years ago

even though steam and SM recieved updates tday, nothing has been fixed about this.

wozeparrot commented 4 years ago

The game seems to run fine with steam installed under wine.

Friz64 commented 4 years ago

The game seems to run fine with steam installed under wine.

Meaning that you can also join worlds?

wozeparrot commented 4 years ago

Yes you can create a world and it works. The only thing that does not work is multiplayer, but that should be able to be fixed with the ntdll patch.

Mhowser commented 4 years ago

should be able to be fixed with the ntdll patch.

Please tell us more about this

LuFlo commented 4 years ago

The game seems to run fine with steam installed under wine.

I can confirm this. So now the question is, why isn't it working when using Proton? Is this a bug in Proton?

wozeparrot commented 4 years ago

If you use -no-browser when launching steam from wine. Multiplayer should also work.

wozeparrot commented 4 years ago

So from what I have found it seems that Scrap Mechanic 0.4.0 uses a different steam_api.dll which seems to be causing the problem.

Friz64 commented 4 years ago

I have also tried getting it to run with Steam under Wine (over Lutris) but i always get stuck on the Axolot splash screen. RX 580 + Arch Linux, can anybody help me out?

wozeparrot commented 4 years ago

Try an older version of wine, 4.20 works for me.

wozeparrot commented 4 years ago

Also make sure that dxvk is enabled.

Friz64 commented 4 years ago

I can confirm that i got it running, thank you!

Mhowser commented 4 years ago

@kisak-valve do you know how to find out which steam api DLL scrap mechanic is using?

wozeparrot commented 4 years ago

does not really seem like a different version more like some function that was compiled in for beta 0.4.0 is causing the issue.

ghost commented 4 years ago

Can confirm, steam in wine 4.20 method works. Tho the first time the game took almost 40 minutes to load to the main menu.

ghost commented 4 years ago

Wine 4.20 is not necessary. Was able to play the game with 5.7 as well, but the game takes significantly more time to load (to the main menu). With 4.20 only the first run was extremely slow, following runs didn't take more than a few seconds. My guess is the first time the game was generating caches.

Friz64 commented 4 years ago

I don't get the long loading times on lutris-4.20, lutris-4.21, lutris-5.0, lutris-5.2 and lutris-5.4. For me they start with version lutris-5.5-2.

Friz64 commented 4 years ago

Multiplayer works for me! Steam is just kind of weird sometimes.

Mhowser commented 4 years ago

I cannot get Steam running under wine, it's just so broken. Is there any progress towards getting Proton working?

Friz64 commented 4 years ago

I just had a 2 hour gaming session (creative mode, survival mode and multiplayer), running very well.

@Mhowser Do you have Discord? I could help you with the setup. Friz64#4876

Hastur3333 commented 4 years ago

I got it to work with Lutris steam under wine earlier today where I just started it and left for a while and returned to see the main menu. But now when I try it gets to the Axolot screen and then the window dissapears. In the log it says X Error of failed request: BadWindow (invalid Window parameter) Major opcode of failed request: 10 (X_UnmapWindow) Resource id in failed request: 0x1e00001 Serial number of failed request: 93 Current serial number in output stream: 93

Mhowser commented 4 years ago

@Friz64 sent you a friend request.

Leteen commented 4 years ago

I'm running windows, same "Z:\Jenkins\workspace\sm\ScrapMechanic\Contraption.cpp" error

Mubelotix commented 4 years ago

It's working for me using Steam trough Wine thanks to Lutris. But I had to wait around 5 minutes on the "Axolot" screen and there is a lot of small freezes. But it's very playable.

Friz64 commented 4 years ago

But I had to wait around 5 minutes on the "Axolot" screen

Try using wine version lutris-5.4, it reduces the startup time to seconds.

there is a lot of small freezes

Try moving the game installation to a SSD, i heard that helps with that.

Mubelotix commented 4 years ago

Thanks you solved the loading problem! How can my SSD fix a graphic issue?