[SOLVED] Warframe doesn't get past first loading screen (evolution error)

@Pyro4Hell no problem “to each its own”! I like taking these extra steps and settings things up on Lutris’ graphical interface because it lets me easily put or take away options, staging versions and enhancements (DXVK).

I had to add the “rm” line to make the script always re-download warframe.exe and warframe.x64.exe and things look great! DXVK works, I can get 40+fps on 720p settings… I can’t thank you enough right now lol.

Now the big question is… If you’re a commandline junky, why are you on Lutris’ forum helping me out o.O? (I mean, thanks, but, why?!)

I first tried to use WineHQ to setup Warframe, but didn’t succeed. Then I found Lutris with GloriousEggroll’s Warframe launcher https://lutris.net/games/warframe and then warframe LAUNCHED! It was AWESOME! :slight_smile:

That was the days with the wget.exe and black commandline-window.
I still had some minor stability problems. So I created the all-in-one script (and updated it following GloriousEggroll’s main repo). With the script I had more control to test single winetricks packages, create wine-prefix for 32/64, start winecfg inside the specified prefix and more). I also helped with th local_index.txt update mechanism (but the idea is from GloriousEggroll, can’t thank him enough!)
And then DXVK came along and it was GLORIOUS! (pun intended).

I’m still having slight stability issues with 64bit or dxvk enabled, but as long as I have a way (ONE way) to play warframe I am happy :smiley:

And I’m really happy that someone is using the stuff I’ve created. “Sharing is caring” :slight_smile: Happy it works for you

PS: Wow that post got longer than I thought :slight_smile:

1 Like

Awesome! I’m always happy to hear these stories of things working out ^^

Your script does seem very complete to fulfill all the tasks this game requires. I’m glad I could wrap it up under Lutris and I hope that a newer version (probably incorporating your solution) comes up.

Cheers!

interestingly if i use 64bit and/or DXVK warframe usually freezes or crashes randomly between “before even showing the login screen” and “about 5 minutes into the game” for me, so currently i have to use 32bit and CSMT without DXVK while having ~10-20fps on a bleeding edge gpu and minimal settings (which is a giant pain in the behind)…

i suspect something about the textures being off because if it lets me play for a few minutes on dxvk i can see the (very nauseating) effect of pretty much every texture being reloaded every few seconds, flashing to a base color (or extremely lowres texture), then slowly getting more detailed until it matches what the non-dxvk version looks like and instantly flashing back to the base color/lowres cycling like this over and over again

if you have any input on how i could fix (or even debug, because dxvk doesn’t seem to say anything out of the ordinary) this, or could use any input i can provide, please tell :slight_smile:

i’d love to be able to play warframe on both 60fps AND without crashes and endless freezes for a change :stuck_out_tongue:

EDIT: dxvk versions i tried: pretty much every one from ~0.50 to 0.70, since I just keep retrying it every time they release a new one, hoping it fixes itself somehow :stuck_out_tongue:
More edit: some basic system info (glx-/vulkaninfo and uname):

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 980 Ti/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 390.67
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

Vulkan Instance Version: 1.1.70
GPU id       : 0 (GeForce GTX 980 Ti)
Surface type : VK_KHR_xcb_surface

Linux t1.nonchip.de 4.15.15_1 #1 SMP PREEMPT Wed Apr 4 08:48:06 UTC 2018 x86_64 GNU/Linux

other games using DXVK in wine or vulkan (both wine and native) work fine.

aaaand another EDIT: i just reinstalled it completely and after winetricks barfed up trying to install vulkan-1.dll (it installed vulkan-1.999-0.dll or something instead, just copying it over the stub fixed the inevitable evolution crash) it works perfectly on high settings at 60fps, doesn’t seem to recognize some dx11 features though like runtime tesselation and some advanced shader magic, but i don’t need those anyway.

32-bit games are a problem with DXVK as they tend to run out of address space. Use Warframe with 64-bit.

64bit warframe crashed all the time though.

update to my previous edit: seems as soon as i tried to load into a mission it froze up. so sadly no real progress made :confused:

gonna try it with 64bit but i’m not very optimistic :confused:

You might want to update your GPU driver to 396.51. Although 390 is stable it doesn’t quite meet the requirements for DXVK. Especially for versions after 0.54.

will do, as soon as my distro has it (which should be soon), but actually your idea with 64bit seems to have improved it a lot already. dunno why it kept crashing on 64bit before, but for now it looks pretty stable

edit: after about 3 missions i got an evolution error and nothing on stderr though, when loading into a mission (right after the “flying towards it” cutscene). aaaaand again now. same mission too, this time instantly crashed…

just remembered i forgot to relogin after setting the ulimits for ESync, trying again now, maybe the kernel just forbid it from doing its thing.

aaand nope, instantly crashed again. can’t get further than the first room on uranus/caliban with a 4player squad. dunno if it’s the players or the map (it’s pretty shiny hand has some graphics glitches on its shinyness) but always drops me into the evolution error handling thing that doesn’t show anything useful

aaand another update: this is the 4th time in under an hour the 64bit dxvk version crashes for no reason, doesn’t look like it’s gonna work

more update: the crashes are directly related to my usage of dxvk, without it i do get >30fps now though thanks to ESync, so it’s not THAT horrible (i had <20 before) and i guess i’ll try dxvk again as soon as my distro updates the nvidia driver (the newest one they currently have is 390.77).

I asked on r/linux_gaming for help and got an answer that surprised me. The evolution crashes may be related to xaudio2_7 and 64bit. I don’t know if there is a fix for that yet

Edit: to check if xaudio is the culprit we could play wrframe 64bit+dxvk with sound disabled

actually the 64bit are very stable for me, as long as i don’t use DXVK (which is unstable even on 32bit, maybe because of my driver being too old as you already hinted at, the graphical glitches that happen before the crashes seem to support that)

I tried it today. I played the Planes of Eidolon master sound disabled and it worked! Hope the xaudio2_7 incompatibility gets fixed soon

Unfortunately your bug is most probably another bug related to the nvidia drivers. For me there are no graphical glitches before a crash (RADV), just the evolution crash

I have test it with dxvk 0.7 it runs realy good

and dxvk 0.64

1 Like

awesome! Can you tell me some of the specs you used?

  • what version of wine are you running?
  • what Warframe version did you use (64bit/32bit)
  • how did you start Warframe (Lutris, my script, something else)
  • what’s your Hardware? (CPU and GPU) and your driver in use

you’re playing on Manjaro, did you compile something yourself or everything from the repos?

  1. wine version = esync 3.13 is in lutris script

  2. 64bit

  3. Lutris

  4. look here https://forum.manjaro.org/t/dump-your-inxi-fxzc0-here-and-bookmark-it/8298/411

  5. yes i play on Manjaro since 4 Years and no didn’t compile anything

1 Like

that setup runs me into the xaudio crash as soon as the process allocates >=1GB ram :confused:
a good way to test it seems to be playing alerts on submersible grineer sealab tilesets, i can’t usually stay more than a minute in one without crashing.

I use pulseaudio

I’m playing using the 64 bit client. I’m not sure the current installer works right away, so I’m using “my own fork” of Pyro4Hell’s script.

I put my WINECMD variable to be the latest wineesync(3.14) and I made the game always execute the 64 bit version (to ensure DXVK).

Environment variables are just DXVK_HUD=version mesa_glthread=true WINEESYNC=1

It feels like the game runs in a suboptimal way, but I can complete entire missions alright. I feel like if I do the same tileset, the game will run smoother because stuff will be stored in the memory.

Everything is on minimum and resolution at 1080p, but it feels like that’s not really the problem.

I have a lot of DLL overrides that came with the Lutris install for the game, including, but not limited to

  • xaudio2_7 (native, builtin)
  • d3dcompiler_43 (native,builtin)
  • d3dcompiler_47 (native, builtin)
  • rasapi32 (native)

me too, xaudio is the windows dll required.

same here for most missions, just those that go over the “xaudio pointer perversion limit” crash.

that’s the culprit for me. when using builtin i don’t have audio except for some menu and gun sounds, which are way too loud and very distorted; when using native i run into crashes as soon as it allocates enough ram.

reproduction that seems to trigger it most of the time:

  • go to a submersible grineer sealab tileset (they seem to be very large with all the ice caves, water etc having fancy textures)
  • wait for the ram usage to go >1GB (can happen as soon as during the first seconds of the map, especially when you spawn under water it seems)
  • wait for lotus to say something or a new enemy type to spawn and shout at you (=> put new audio data into the >1GB range and try to play it)

i wonder if we could use a small dll to wrap the native xaudio version and overload some functions to preserve the pointers somehow?
another option might be to limit the process’s memory range the same way windows does, maybe that helps? i have no idea how though


ok just for fun (haha fun haha hahaha ha… shoot me plz) i dug through the syswow64/xaudio2_7.dll's PE header a bit, it has (if i counted the bytes correctly) the image flags 0x2102 (at offset 0x116), which according to https://docs.microsoft.com/en-us/windows/desktop/debug/pe-format#file-headers resolves to:

  • IMAGE_FILE_DLL (duh :stuck_out_tongue: )
  • IMAGE_FILE_32BIT_MACHINE (waaaaait… 32bit dll in syswow? no wonder it fucks up pointers!)
  • IMAGE_FILE_EXECUTABLE_IMAGE (um wtf, how can it be an exe and dll at the same time? microsoft, you high?)

note it doesn’t even seem to be IMAGE_FILE_LARGE_ADDRESS_AWARE == 0x0020 so it’s linked to only recognize <=2GB addresses. i wonder if it’s actually an issue with microsoft (well them abusing a 32bit dll on 64bit systems obviously is) but maybe wine not being careful enough about loading it as a 32bit dll?


ok srsly wtf microsoft
turns out syswow64 is 32bit and system32 is 64bit, because fuck logic, that’s why.
(yeah i know they kept the system32 for compatibility and the Windows(32)onWindows64 name is also technically correct, but still feels like they just want to confuse the shit out of their users)

does the same thing on system32/xaudio2_7.dll

Offset: 0x12E (18 bytes after the PE00 signature, please tell me if i’m counting wrong): 0x2022 (yes already swapped the bytes, raw it’s 22 20)

decoded:

  • 2000 IMAGE_FILE_DLL (still makes sense)
  • 0020 IMAGE_FILE_LARGE_ADDRESS_AWARE (oh yeah? then WHY THE HELL DO YOU CRASH!)
  • 0002 IMAGE_FILE_EXECUTABLE_IMAGE (still doesn’t make sense but apparently it gets set on dlls too to distinguish them from memory dumps and the like; only real meaning seems to be “this should be code instead of binary garbage”)

so ok, seems the header flags are valid, even though i would dispute the accuracy of that 0020 flag there, because clearly some dipshit at MS decided to link a 32bit-only lib containing 31bit-only “optimizations” as 64bit and call it a day without testing.

1 Like

since the newest update it doesn’t even try to start with builtin xaudio anymore, instantly crashes

I just updated warframe and the game is playing like before using my hybrid Lutris Standalone+Pyro4Hell script.

At this point, I recommend starting from scratch and making your own thread for support. Stating distribution, desktop environment, kernel, drivers and error messages, possibly with screenshot.

I just tested your infamous “grineer sealab” thing and it did break after a while. I could do a lot of a sabotage mission and use the aquatic archwing, but my game stopped working with an Evolution Error after swimming for a while and fighting.

My game always felt rather suttery, probably because I’m on a ryzen APU (both cpu and gpu drivers for this series are rather new), so I didn’t bother fixing stuff too much.

I could complete other missions in other tilesets, including some Void Fissures and Plains of Eidolons

Cheers.