Supraland

Supraland

View Stats:
Vincent Apr 3, 2020 @ 10:51am
Crash on Linux (native)
Hi, I tried to run the game natively on linux but it crashes after a couple of seconds.

Here's my config:
  • Linux Mint 19.3
  • Nvidia GP107M [GeForce GTX 1050 Mobile]
  • Nvidia drivers version 435.21 (the recommended choice)

In order to get a trace, I tried to run `Supraland.sh` from the terminal. First I had to create the `steam_appid.txt` file with the content `813630` in the linux binaries directory:

$ echo 813630 > Supraland/Binaries/Linux/steam_appid.txt $ ./Supraland.sh

It produced the following trace:

4.21.2-4753647+++UE4+Release-4.21 517 0 Disabling core dumps. Setting breakpad minidump AppID = 813630 Steam_SetMinidumpSteamID: Caching Steam ID: 76561198106835898 [API loaded no] CAppInfoCacheReadFromDiskThread took 2 milliseconds to initialize RecordSteamInterfaceCreation (PID 18278): SteamGameServer012 / GameServer RecordSteamInterfaceCreation (PID 18278): SteamUtils008 / Utils RecordSteamInterfaceCreation (PID 18278): SteamGameServer012 / GameServer RecordSteamInterfaceCreation (PID 18278): SteamUtils008 / Utils RecordSteamInterfaceCreation (PID 18278): SteamNetworking005 / Networking RecordSteamInterfaceCreation (PID 18278): SteamGameServerStats001 / GameServerStats RecordSteamInterfaceCreation (PID 18278): STEAMHTTP_INTERFACE_VERSION002 / HTTP RecordSteamInterfaceCreation (PID 18278): STEAMINVENTORY_INTERFACE_V001 / Inventory RecordSteamInterfaceCreation (PID 18278): STEAMUGC_INTERFACE_VERSION009 / UGC RecordSteamInterfaceCreation (PID 18278): STEAMAPPS_INTERFACE_VERSION008 / Apps CApplicationManagerPopulateThread took 83 milliseconds to initialize (will have waited on CAppInfoCacheReadFromDiskThread) Fossilize INFO: Overriding serialization path: "/home/vinmic/.steam/steam/steamapps/shadercache/813630/fozpipelinesv4/steamapprun_pipeline_cache". X Error of failed request: BadDrawable (invalid Pixmap or Window parameter) Major opcode of failed request: 149 () Minor opcode of failed request: 4 Resource id in failed request: 0x9a00041 Serial number of failed request: 376 Current serial number in output stream: 382 /data/src/tier1/fileio.cpp (4872) : Assertion Failed: s_bExit /data/src/tier1/fileio.cpp (4872) : Assertion Failed: s_bExit crash_20200403194746_16.dmp[18352]: Uploading dump (out-of-process) /tmp/dumps/crash_20200403194746_16.dmp /data/src/tier1/fileio.cpp (4874) : Assertion Failed: m_vecRegisteredWriters.Count() == 0crash_20200403194746_16.dmp[18352]: Finished uploading minidump (out-of-process): success = no /data/src/tier1/fileio.cpp (4874) : Assertion Failed: m_vecRegisteredWriters.Count() == 0 crash_20200403194746_16.dmp[18352]: error: libcurl.so: cannot open shared object file: No such file or directory crash_20200403194746_16.dmp[18352]: file ''/tmp/dumps/crash_20200403194746_16.dmp'', upload no: ''libcurl.so: cannot open shared object file: No such file or directory'' Bad thread local/data/src/tier1/fileio.cpp (4934) : Assertion Failed: CFileWriterThread already exited /data/src/tier1/fileio.cpp (4934) : Assertion Failed: CFileWriterThread already exited Bad thread localBad thread local/data/src/tier1/fileio.cpp (4934) : Assertion Failed: CFileWriterThread already exited /data/src/tier1/fileio.cpp (4934) : Assertion Failed: CFileWriterThread already exited Bad thread localSegmentation fault (core dumped)

I hope someone can help me, I'm looking forward to playing this game.

Thanks :)

PS: I also tried using different versions of proton, but no luck.

< >
Showing 1-15 of 98 comments
jyka Apr 4, 2020 @ 8:22am 
crashing also here. Had to play it in windows
DavidM  [developer] Apr 4, 2020 @ 8:31am 
I know nothing about linux, I only know that everyone says it works perfect with Proton and also runs much smoother.
lordgault Apr 5, 2020 @ 10:04pm 
Originally posted by DavidM:
I know nothing about linux, I only know that everyone says it works perfect with Proton and also runs much smoother.
Have you removed support for Linux?
DavidM  [developer] Apr 6, 2020 @ 8:48am 
No.
666edy Apr 12, 2020 @ 1:42pm 
in ubuntu 18.04 LTS, with rtx 2080ti and driver version 440.82 run good but today i see that run with vulkan , in this case i think that need a bit of work to increase performance
SHabalaboom May 3, 2020 @ 9:59am 
I've switched to Proton (haven't tried it yet, it's still downloading...)

@DavidM I'm just including these stack traces in case it's useful to anyone.

If the game runs better under Proton anyway, then Proton it is for me.
As long as it runs I don't care if it's native or not :D
I dev right in Linux and TBH I might release my own game without native Linux support because the Proton way is less of a headache.
Cheers.

----------------
I logged two native attempts, one with nVidia driver 415.27 and one with driver 435.21 both crashed somewhere in the nVidia drivers trying to create a texture.

Could be a driver bug, could be the engine is trying to hand over a bad pointer to the driver when creating textures.

This game doesn't seem to use loose files so it's unlikely it's a case-sensitivity issue.

System is a TR 1950X, 32GB, GTX 1050 2GB, kernel 4.15.0-99-generic #100-Ubuntu SMP. Xubuntu/Ubuntu 18.04.4 LTS

Thread 59 "RenderThread 1" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffcc3ae700 (LWP 6727)] 0x00007fffeb883b71 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.415.27 (gdb) bt #0 0x00007fffeb883b71 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.415.27 #1 0x00007fffeb884176 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.415.27 #2 0x000000000468ed96 in FVulkanTextureView::Create(FVulkanDevice&, VkImage_T*, VkImageViewType, unsigned int, EPixelFormat, VkFormat, unsigned int, unsigned int, unsigned int, unsigned int) () #3 0x000000000468f0a3 in FVulkanTextureBase::FVulkanTextureBase(FVulkanDevice&, VkImageViewType, EPixelFormat, unsigned int, unsigned int, unsigned int, bool, unsigned int, unsigned int, unsigned int, unsigned int, FRHIResourceCreateInfo const&) () #4 0x000000000469956d in FVulkanDynamicRHI::RHICreateTexture3D_RenderThread(FRHICommandListImmediate&, unsigned int, unsigned int, unsigned int, unsigned char, unsigned int, unsigned int, FRHIResourceCreateInfo&) () #5 0x00000000043898f3 in FRenderTargetPool::FindFreeElement(FRHICommandList&, FPooledRenderTargetDesc const&, TRefCountPtr<IPooledRenderTarget>&, char16_t const*, bool, ERenderTargetTransience) () #6 0x00000000045142cd in FDeferredShadingSceneRenderer::ComputeVolumetricFog(FRHICommandListImmediate&) () #7 0x0000000004154c33 in FDeferredShadingSceneRenderer::Render(FRHICommandListImmediate&) () #8 0x00000000044727f6 in ?? () #9 0x000000000447d2ea in ?? () #10 0x00000000039221bf in FNamedTaskThread::ProcessTasksNamedThread(int, bool) () #11 0x0000000003921e23 in FNamedTaskThread::ProcessTasksUntilQuit(int) () #12 0x00000000047640e2 in FRenderingThread::Run() () #13 0x000000000395ab33 in FRunnableThreadPThread::Run() () #14 0x000000000394cadd in FRunnableThreadPThread::_ThreadProc(void*) () #15 0x00007ffff7bbd6db in start_thread (arg=0x7fffcc3ae700) at pthread_create.c:463 #16 0x00007ffff697f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (gdb) quit

Checking Pak Config Thread 59 "RenderThread 1" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffcbbbe700 (LWP 6891)] 0x00007fffeb843613 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.435.21 (gdb) bt #0 0x00007fffeb843613 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.435.21 #1 0x00007fffeb859130 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.435.21 #2 0x000000000468ed96 in FVulkanTextureView::Create(FVulkanDevice&, VkImage_T*, VkImageViewType, unsigned int, EPixelFormat, VkFormat, unsigned int, unsigned int, unsigned int, unsigned int) () #3 0x000000000468f0a3 in FVulkanTextureBase::FVulkanTextureBase(FVulkanDevice&, VkImageViewType, EPixelFormat, unsigned int, unsigned int, unsigned int, bool, unsigned int, unsigned int, unsigned int, unsigned int, FRHIResourceCreateInfo const&) () #4 0x00000000046991dc in FVulkanDynamicRHI::RHICreateTexture2D_RenderThread(FRHICommandListImmediate&, unsigned int, unsigned int, unsigned char, unsigned int, unsigned int, unsigned int, FRHIResourceCreateInfo&) () #5 0x00000000043cde2f in RHICreateTargetableShaderResource2D(unsigned int, unsigned int, unsigned char, unsigned int, unsigned int, unsigned int, bool, FRHIResourceCreateInfo&, TRefCountPtr<FRHITexture2D>&, TRefCountPtr<FRHITexture2D>&, unsigned int) () #6 0x00000000043895e6 in FRenderTargetPool::FindFreeElement(FRHICommandList&, FPooledRenderTargetDesc const&, TRefCountPtr<IPooledRenderTarget>&, char16_t const*, bool, ERenderTargetTransience) () #7 0x00000000040e885f in FRCPassPostProcessDeferredDecals::Process(FRenderingCompositePassContext&) () #8 0x0000000004388108 in FRenderingCompositionGraph::RecursivelyProcess(FRenderingCompositeOutputRef const&, FRenderingCompositePassContext&) const () #9 0x0000000004387dc4 in FRenderingCompositePassContext::Process(TArray<FRenderingCompositePass*, FDefaultAllocator> const&, char16_t const*) () #10 0x00000000040e28b6 in FCompositionLighting::ProcessBeforeBasePass(FRHICommandListImmediate&, FViewInfo&, bool, unsigned int) () #11 0x0000000004154d07 in FDeferredShadingSceneRenderer::Render(FRHICommandListImmediate&) () #12 0x00000000044727f6 in ?? () #13 0x000000000447d2ea in ?? () #14 0x00000000039221bf in FNamedTaskThread::ProcessTasksNamedThread(int, bool) () #15 0x0000000003921e23 in FNamedTaskThread::ProcessTasksUntilQuit(int) () #16 0x00000000047640e2 in FRenderingThread::Run() () #17 0x000000000395ab33 in FRunnableThreadPThread::Run() () #18 0x000000000394cadd in FRunnableThreadPThread::_ThreadProc(void*) () #19 0x00007ffff7bbd6db in start_thread (arg=0x7fffcbbbe700) at pthread_create.c:463 #20 0x00007ffff697f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (gdb) quit
Last edited by SHabalaboom; May 3, 2020 @ 10:05am
DavidM  [developer] May 3, 2020 @ 10:20am 
Thx, but I have no idea what to do with that and I couldn't change anything about it. I just click "package for linux" and the engine does its thing.
Maybe I should not release for Linux at all, if the windows version works better under Linux anyway. And it's less work.
666edy May 3, 2020 @ 10:45am 
Here with ubuntu 18.04 all runing well with linux native port, only if some Dev like to do some test to increase performance Im free to help him.
SHabalaboom May 3, 2020 @ 11:16am 
Originally posted by DavidM:
Thx, but I have no idea what to do with that and I couldn't change anything about it. I just click "package for linux" and the engine does its thing.
Maybe I should not release for Linux at all, if the windows version works better under Linux anyway. And it's less work.

Okay, so I tried it with Proton and it crashed as well, so I updated to driver 440.82 and it's running fine in Proton now.

nVidia driver 415 + native: crash
nVidia driver 435 + native: crash
nVidia driver 435 + proton: crash
nVidia driver 440 + proton: runs fine (only tried 5 minutes), played over an hour now
Edit:
nVidia driver 440 + native: crash

It's very much looking like it's entirely a driver issue so far.

I'm re-downloading (I regret not backing up the directory now...) the native Linux version and I'm going to test driver 440 + native.

Ubuntu 18.04 does not yet recommend driver version 440 so it's likely a lot of users are still on version 435.

I'll test 440+native as soon as it finishes downloading.

Last edited by SHabalaboom; May 3, 2020 @ 12:47pm
666edy May 3, 2020 @ 11:49am 
Im runnig this last nvdia driver for sure :-)
SHabalaboom May 3, 2020 @ 1:46pm 
I got a crash with driver version 440 native Linux but,

On my main machine so far only nvidia proprietary driver version 440 with Proton (5.0-7) works.
Just spent 60+ minutes playing it.

Performance-wise it's very playable on my GTX1050 2GB if I drop all the settings at lowest (50% scale-up, everything on low) I'm happy with that. It gives a GameCube retro charm to it.

If I move up any sliders the frame rate becomes inconsistent. Feels like what Unreal does when it tries to auto-adjusts and enters a loop of "smooth? raise it! oh no, it's slow! drop it!" (and repeat).

I think Unreal tries to be "too smart" about the quality adjustment and the timing on Linux causes periodic hiccups but I haven't worked with Unreal in years so I can't help on that front.

I hope those data-points help. I can't tell if it's a driver issue or an Unreal-on-Linux issue, or something particular to pre-20xx-series nvidia cards, or all of those things together.

All the crashes I have seen on my machine have happened inside the nvidia drivers, I don't think it's anything you @DavidM can fix on your end at all.

Unreal, Steam/Proton & nVidia all have been working hard on Vulkan support so things change fast.
Proton has improved so much in the last couple years that it feels like the most practical way now for a small studio (esp a one-man operation) to "support" Linux.

My advice to anyone finding this thread is try with Proton 5.0-7 AND nvidia driver 440 or later for now.
Cheers,
Bob Loblaw May 3, 2020 @ 5:09pm 
Game is crashing about 20 seconds into the introduction.

* Kubuntu 20.04
* i7-4790K
* 16 GB RAM
* GTX 1080 with Nvidia 440.64

1) I dropped the resolution down to 1280x720 and set shadows and anti-aliasing to medium. Same result.

2) Switched to the "testing" beta without success.
./Supraland.sh
4.21.2-4753647+++UE4+Release-4.21 517 0
Disabling core dumps.
[S_API FAIL] SteamAPI_Init() failed; no appID found.
Either launch the game from Steam, or put the file steam_appid.txt containing the correct appID in your game folder.
Failed to find symbol file, expected location:
"/home/aclark/.steam/steamapps/common/Supraland/Supraland/Binaries/Linux/Supraland-Linux-Shipping.sym"
LowLevelFatalError [File:Unknown] [Line: 1670]
Failed to find shader map for default material WorldGridMaterial(/Engine/EngineMaterials/WorldGridMaterial.WorldGridMaterial)! Please make sure cooking was successful (No inline shaders, null GTSM)
Signal 11 caught.
Malloc Size=65538 LargeMemoryPoolOffset=65554
CommonUnixCrashHandler: Signal=11
Malloc Size=65535 LargeMemoryPoolOffset=131119
Malloc Size=68112 LargeMemoryPoolOffset=199248
Malloc Size=145512 LargeMemoryPoolOffset=344776
Realloc PtrSize=68112 NewSize=145512 PooledPtr=0x00007fb450490040
Malloc Size=123824 LargeMemoryPoolOffset=468624
Engine crash handling finished; re-raising signal 11 for the default handler. Good bye.
Segmentation fault (core dumped)

3) Trying proton version next...

For anyone else that hasn't tried forcing a game to use Proton...
1. Right click on the game in your library
2. Select Properties
3. General Tab
4. Check "Force the user of a specific Steam Play compatibility tool"
5. Select "Proton 5.0-7"
Last edited by Bob Loblaw; May 3, 2020 @ 5:13pm
Bob Loblaw May 3, 2020 @ 7:13pm 
No problems using Proton 5.0-7 for the last 2 hours.
YT GamingTux Jun 6, 2020 @ 1:01pm 
Ok
it is nice that the dev does support linux. but only press "export to linux" and hope for the best is not the best way to publish a game. You say you know nothing about linux. how will you give your linux custumers support? they have paid the same price.
again, it is nice, taht you want support linux but it is not nice to give them no support and an not optimised game. many devs acting like this and that is the reason for many bad, buggy or not well working linux ports.

the best way here would be.
1. end the official native linux support
2. people who already own the game can use the latest known working branch
3. refunds for people who only want use native port
4. support proton
DavidM  [developer] Jun 6, 2020 @ 1:05pm 
I agree. We cannot financially justify supporting it properly. Not offering it would be the better and more honest option, especially since the proton version runs better anyway.

But we don't have control over refunding. That's not in our hands.
I could of course create a branch with the linux version, as legacy support.

I'll soon make those decision. Gog and Linux support are both more work than gain for us and we need to be honest about it and drop support in a responsible way.
< >
Showing 1-15 of 98 comments
Per page: 1530 50

Date Posted: Apr 3, 2020 @ 10:51am
Posts: 98