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

Ashes of the Singularity: Escalation (507490) #1479

Open
2 tasks done
ananace opened this issue Sep 16, 2018 · 106 comments
Open
2 tasks done

Ashes of the Singularity: Escalation (507490) #1479

ananace opened this issue Sep 16, 2018 · 106 comments
Labels
Game compatibility - Unofficial Games not expected to work without issues Regression Confirmed working on an older version of Proton XAudio2 Uses the XAudio2 subsystem

Comments

@ananace
Copy link

ananace commented Sep 16, 2018

Compatibility Report

  • Name of the game with compatibility issues: Ashes of the Singularity: Escalation
  • Steam AppID of the game: 507490

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.

steam-507490.log

Symptoms

The launcher fails to load, crashing with an error about not being able to load gamedata.dat.
Replacing the StardockLauncher.exe binary with AshesEscalation.exe to bypass the launcher lets the game launch, until it finishes loading assets and then freezes.

Reproduction

Replace StardockLauncher.exe with AshesEscalation.exe, launch the game.

Using regular WineD3D11 shows no difference, except for taking longer to finish loading the assets.

Where it freezes;
screenshot_20180916_123752

@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Sep 16, 2018
@andrebadaia
Copy link

andrebadaia commented Sep 17, 2018

Confirmed. I had the same issue.

Distro: Linux Mint 19 Tara
Processor: AMD Ryzen 7 1700
GPU: GTX 1070, Nvidia proprietary driver 396.54
RAM: 32GB
Kernel (custom) - 4.17.14 (optimized for Ryzen)
Resolution: 1920x1080
Proton 3.7-6

@logan001
Copy link

not working for me
error.log shows a weird message

Game update: AppID 507490 "", ProcID 5277, IP 0.0.0.0:0
ERROR: ld.so: object '/home/dan/.steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
>>> Adding process 5294 for game ID 507490
ERROR: ld.so: object '/home/dan/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
>>> Adding process 5297 for game ID 507490
AL lib: (WW) GetSymbol: Failed to load jack_error_callback: /usr/lib/x86_64-linux-gnu/libjack.so.0: undefined symbol: jack_error_callback
AL lib: (WW) jack_msg_handler: Cannot connect to server socket err = No such file or directory
AL lib: (WW) jack_msg_handler: Cannot connect to server request channel
AL lib: (WW) jack_msg_handler: jack server is not running or cannot be started
AL lib: (WW) jack_msg_handler: JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
AL lib: (WW) jack_msg_handler: JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
AL lib: (WW) ALCjackBackendFactory_init: jack_client_open() failed, 0x11
AL lib: (WW) alc_initconfig: Failed to initialize backend "jack"
AL lib: (EE) SetChannelMap: Failed to match front-center channel (2) in channel map
Installing breakpad exception handler for appid(gameoverlayui)/version(20180908192109)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)

I have a creative x-fi fatality pro which has 7.1 sound. i have no clue why i'm getting that message about jack server. i've never used jack server
weird
game freeze with turinium optimized

@ananace
Copy link
Author

ananace commented Sep 19, 2018

not working for me
error.log shows a weird message

...

I have a creative x-fi fatality pro which has 7.1 sound. i have no clue why i'm getting that message about jack server. i've never used jack server
weird
game freeze with turinium optimized

Those messages are probably related to using the Wine XAudio DLLs, you could get rid of them using winetricks/protontricks and installing xact, though it won't solve the game issues as they're not audio related.

@logan001
Copy link

is there any way to find out what is the problem with the game in proton?
i've seen a lot of people saying that they can play the game.
Here are my system infos
ive tried also arch linux with 4.18 kernel.
no luck there also
the only think in common is cinnamon DM

@logan001
Copy link

logan001 commented Oct 9, 2018

btw
another strange thing is that launcher can't find setting file when you try to edit it.
it even offer you the option to save it in a "strange" path.
it seems like launcher and wine are not working well togheter

@HonkingGoose
Copy link

@flibitijibibo This seems somewhat related to XAudio2 too?

From original post Proton log:

394966.649:0025:0026:trace:module:load_dll looking for L"C:\windows\system32\xaudio2_7.dll" in L"C:\windows\system32;C:\Program Files (x86)\Steam;C:\windows\system32;C:\windows\system;C:\windows;.;C:\windows\system32;C:\windows;C:\windows\system32\wbem"

But it seems that the game not loading issue stems from something other than Xaudio, according to user ananace:

Those messages are probably related to using the Wine XAudio DLLs, you could get rid of them using winetricks/protontricks and installing xact, though it won't solve the game issues as they're not audio related.

@flibitijibibo
Copy link
Contributor

In addition to checking for xaudio2_x, it's also a good idea to check for x3daudio1_*, as some games might only use XAudio2 as a basic output stream, and the current builtin should handle that without any trouble. This seems to fall into the X3DAudio category so it probably is actively used, but you're right in that there's probably something bigger going on with this one...

@flibitijibibo flibitijibibo added the XAudio2 Uses the XAudio2 subsystem label Oct 26, 2018
@7oxicshadow
Copy link

7oxicshadow commented Nov 22, 2018

I have found 2 problems with Proton and Ashes so far:

In game settings not saved across restart

Proton 3.16 beta now uses a Compatdata folder for the pfx folder. In the pfx/drive_c/users/steamuser folder there is no symlink to "My Documents" folder. Creating a symlink to Documents in your home folder fixes this and allows the game to save settings in the settings.ini.
(Note: The "edit settings file" from the launcher still does not open properly. Ignore this, the settings from ingame will be saved with the above fix.)

Multiplayer is disabled:

Multiplayer is disabled and if we look at the run log it shows:

ChecksumManager: Checksum_GameCore_Summary does NOT match!

Reading on the internet suggests that some windows users have suffered from this problem and it appears to be caused by installing Ashes on a drive that is not C:/. This is a problem for Proton as it maps any linux location to Z:/ (this is confirmed in the Ashes runlog.txt).
Executable Path: Z:\mnt\ssd_games\native_steam\steamapps\common\Ashes of the Singularity Escalation\AshesEscalation_DX11.exe

Hopefully a Proton dev will be able to chip in on this one to see if there is any workarounds for the Z:/ mapping issue

@7oxicshadow
Copy link

Also this game will not launch for me unless I set the following launch options to the following in steam:

PROTON_NO_ESYNC=1 %command%

@douglasg14b
Copy link

douglasg14b commented Jan 11, 2019

When you say

Replace StardockLauncher.exe with AshesEscalation.exe, launch the game.

What does that entail exactly? There are many different actions that could match that.


If I cop and rename AshesEscalation.exe to StardockLauncher.exe overwriting the initial one the same issue persists where the game just immediately closes when launching.

It seem it might be a pathing issue? As the game can't find it's settings.ini, even though it clearly exists.

@ananace
Copy link
Author

ananace commented Jan 11, 2019 via email

@douglasg14b
Copy link

@ananace So renaming the executable to StardockLauncher.exe overwriting it?

@7oxicshadow
Copy link

rename StardockLauncher.exe to StardockLauncher.exe.bak
rename AshesEscalation.exe to StardockLauncher.exe

Be aware you might need the NO_ESYNC option. This is required by some but not by others. Not sure why. If I do not set the NO_ESYNC option the game will instantly close

Also this game will not launch for me unless I set the following launch options to the following in steam:

PROTON_NO_ESYNC=1 %command%

ashes

@douglasg14b
Copy link

@7oxicshadow Thanks! This confirms what I have been trying.

Unfortunately, in my case, the game still instantly closes after opening. Do you know where I might be able to find a log that says why? Unfortunately the system log doens't have anything, and there is no error log in the ashes folder.

@7oxicshadow
Copy link

try renaming AshesEscalation_DX11.exe to StardockLauncher.exe instead

@douglasg14b
Copy link

douglasg14b commented Jan 11, 2019

Tried the dx11 and vulkan ones too (and dx12 for good measure, tho never expected that to work) since I read other people having success in dx11 or vulkan mode.

Looking to find out what I can do to diagnose or find error logs at this point.

@7oxicshadow
Copy link

i assume you are using either the nvidia or amd binary drivers?

@douglasg14b
Copy link

Basic System info:

Proton:3.16-6
Distro:Ubuntu 18.10
Kernel:4.18.0-12-generic
RAM:32 GB
GPU Driver:4.4 Mesa 18.2.2
GPU:Radeon RX 580
CPU:AMD Ryzen 7 2700X Eight-Core

@7oxicshadow
Copy link

Hopefully someone with an AMD setup will be able to tell you if that is the best driver or not. I think the Mesa driver is still missing support for some DXVK functions/Extensions.

All I can recommend is to check that you are using proton 3.16-6 and that "use this tool instead of game-specific selections from steam" is also ticked on the steam play settings page.

@ananace
Copy link
Author

ananace commented Jan 12, 2019

In my case;

CPU: Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
GPU: Radeon RX 580 Series (POLARIS10, DRM 3.26.0, 4.18.0-sabayon, LLVM 7.0.0)
Driver: 4.5 (Compatibility Profile) Mesa 18.3.1

I've been playing some skirmishes on Ashes with the Mesa radv driver, so it certainly implements enough features to run this game.

My suggestion on debugging is to run Steam in a terminal so you can see any output in there, and possibly also adding PROTON_LOG=1 to the launch, it'll produce a full Wine log in your home directory which might help on if it's a Wine issue that causes the issue for you at @douglasg14b .

@douglasg14b
Copy link

douglasg14b commented Jan 12, 2019

Thanks!

Was able to see some error in the wine log, not sure how helpful it is though:

wine: Unhandled page fault on read access to 0x00000000 at address 0x1403fab5b (thread 0025), starting debugger...
696114.801:0024:0025:trace:seh:start_debugger Starting debugger "winedbg --auto 36 148"
696115.492:0024:0025:trace:seh:call_teb_handler handler at 0x7b4a0c30 returned 1
696115.492:0024:0025:warn:seh:call_stack_handlers exception data not found in L"AshesEscalation_DX11.exe"

See the same error for the vulkan one as well. Hm.

@iicurtis
Copy link

iicurtis commented Jan 15, 2019

Regarding the failed validation. If you re-verify the steam files, 1 file gets fixed. These are the files that are modified while steam verifies and fixes the files:

/SteamLibrary/steamapps/downloading/507490/gamedata.dat
/SteamLibrary/steamapps/downloading/state_507490_580374.patch
/SteamLibrary/steamapps/compatdata/507490/version
/SteamLibrary/steamapps/compatdata/507490/pfx.lock

The steam steamclient.dll and steamclient64.dll get modified as well. So does openvr_api_dxvk.dll and vrclient.dll.

When the game is run the following files are modified:

/SteamLibrary/steamapps/compatdata/507490/pfx/reg41950000.tmp
/SteamLibrary/steamapps/compatdata/507490/pfx/drive_c/users/steamuser/Local Settings/Temporary Internet Files/Content.IE5/2J1WR8SC/gamedata.337[0]
/SteamLibrary/steamapps/compatdata/507490/pfx/drive_c/users/steamuser/Temp/gamedata.dat
/SteamLibrary/steamapps/common/Ashes of the Singularity Escalation/gamedata.dat
/SteamLibrary/steamapps/compatdata/507490/pfx/drive_c/users/steamuser/My Documents/My Games/Ashes of the Singularity - Escalation/RunLog.txt

I think the safe bet is that gamedata.dat is getting modified. I just don't understand why that is happening.

@tatsujb
Copy link

tatsujb commented Jan 28, 2019

Glad some people are taking a look at this, I'm going to try it out too,

btw guys this is supposed to have a native port to linux sometime this year (2019). It was always Stardock's plan to eventually support linux for this game, so don't sweat it too hard :P

this guide allowed me to run it on my first try! thanks! :

rename StardockLauncher.exe to StardockLauncher.exe.bak
rename AshesEscalation.exe to StardockLauncher.exe

Be aware you might need the NO_ESYNC option. This is required by some but not by others. Not sure why. If I do not set the NO_ESYNC option the game will instantly close

Also this game will not launch for me unless I set the following launch options to the following in steam:
PROTON_NO_ESYNC=1 %command%

ashes

runs acceptably for me, haven't tried multi but I don't see the point given how laggy this is.
screenshot from 2019-01-28 19-45-58

I'd used this same rig under windows and was getting night-and-day performance from this. I never tried wine or proton on it because I didn't think it'd run well and now I've confirmed it.

Here's hoping Stardock hurry up. they had already promised the linux port for Q4 2018, it keeps getting pushed back.

@douglasg14b
Copy link

A linux port will be great! Also funny seeing you here as well @tatsujb 😸

@tatsujb
Copy link

tatsujb commented Jan 28, 2019

well.... RTS-ers are nothing if not devoted to the genre ;)

@logan001
Copy link

i can't start the game with vulkan api. do i need to do anything?
the game starts but i get only the mouse and an empty window - as in whatever was in the background before the game starts will be in the game windows like a screenshot

@7oxicshadow
Copy link

It sounds like you are getting the launcher without graphics. This used to be an issue for me but was fixed with the latest proton builds.

If you look at the attached screenshot and estimate where the play button is and click it the game should launch.

This game runs great with proton now. Multiplayer works and everything with proton 4.2-2

image

@douglasg14b
Copy link

@7oxicshadow How did you get proton 4.2-2? I don't see that option in my steam install.

@outsidefactor
Copy link

Driver doesnt matter: #1479 (comment)

Vulkan is known not to work on AMD cards because the version check only works on Windows. Even the proprietary Vulkan driver does not work, and neither does replacing the amdags library with one that fakes the driver version.

I can't really tell from that comment if they mean (a) there is no fix right now, or (b) a fix is impossible

And does this mean that no Windows games with Vulkan drivers work with any Radeon card?

@Compizfox
Copy link

Compizfox commented Aug 26, 2020

Ashes' Vulkan renderer also doesn't work with RADV.

And does this mean that no Windows games with Vulkan drivers work with any Radeon card?

On Linux (using Wine/Proton), you mean? No, there are definitely games with Vulkan renderers that work fine using Wine on Linux with AMD GPUs. Doom (2016) comes to mind, but there are dozens. I think that quote by @doitsujin should be read in the context of Ashes specifically.

@outsidefactor
Copy link

Ashes' Vulkan renderer also doesn't work with RADV.

And does this mean that no Windows games with Vulkan drivers work with any Radeon card?

On Linux (using Wine/Proton), you mean? No, there are definitely games with Vulkan renderers that work fine using Wine on Linux with AMD GPUs. Doom (2016) comes to mind, but there are dozens. I think that quote by @doitsujin should be read in the context of Ashes specifically.

I though something like that. I tried Paths of Exile's beta Vulkan and it worked fine.

So I have to wonder, Is this something that's easier fixed from WINE's side or AotS? Stardock are really quite reasonable, and they even discussed a Linux native version of AotS during the dev cycle. If there is something they can easily do to make it compatible and they had some help from the community with understanding the problem and testing fixes this might get sorted.

I assume that mapping from Windows Vulkan via WINE to the Linux native Vulkan is more efficient than DXVK... or is this entirely pointless?

@7oxicshadow
Copy link

Be aware that the vulkan back end for Ashes is inferior to any DX back end regardless of OS. The developers could never get the efficiency to be anything like dx11/12. There is a dev response on the steam forums if iirc to back this up. I seem to remember it was in response to a question regarding Linux support.

Personally I would stick with DXVK as it gives the best FPS for me (using NVIDIA)

@outsidefactor
Copy link

outsidefactor commented Aug 26, 2020

Be aware that the vulkan back end for Ashes is inferior to any DX back end regardless of OS. The developers could never get the efficiency to be anything like dx11/12. There is a dev response on the steam forums if iirc to back this up. I seem to remember it was in response to a question regarding Linux support.

Personally I would stick with DXVK as it gives the best FPS for me (using NVIDIA)

Yeah, ok...
Here's the problem with that:

  1. One of the Benchmark modes is only available in Vulkan - not a huge issue and I guess I can live with this
  2. I am not on nVidia, and am not going to be on nVidia any time soon
  3. I am trying to address a specific short fall - lighting seems particularly inefficient via DXVK, at least on my Vega. When I played on Windows (exact same hardware) the lighting problem wasn't anywhere near as bad, and was much smoother than under WINE. I honestly can't remember if that was under DX12... in fact I can't seem to find a DX12 option in AotS, only DX11... is there something I need to enable to allow AotS to present a DX12 option? It would make sense that this explains the issue because DX12/Vulkan's shader model is exactly what allows Radeon to be so much more efficient, as I understand it.

On the upside, the GE editions of Proton support AotS from Proton-5.11-GE-2-MF onward, it seems. Maybe at some point the lighting inefficiency might get addressed.

Or RDNA2/Big Navi will arrive and not be too expensive (crosses fingers) and the extra grunt will render my specific problem moot, assuming I don't get tripped up by DX11's ageing shader model.

I am no expert. Maybe someone can set me straight?

@outsidefactor
Copy link

outsidefactor commented Aug 27, 2020

As I understand it, VKD3D is in Proton from 5 onward, but I might need to do something to enable it per game?

OK, so I tried to set PROTON_USE_VKD3D=1 in the Luanch Options for AotS and it started but failed to present DX12 as an option in-game.

Is that all I need to do, or is there VKD3D configuration that needs to be done beyond just enabling it?

I am using Proton-5.11-GE-3-MF now, as well.

EDIT:
For reference here's my entire launch option:
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json PROTON_USE_VKD3D=1 PROTON_LOG=1 %command%

EDIT2:
I have also tried it with AMDVLK. The game ran, still only presented DX11 and Vulkan as options. Benchmark visually stuttered more (even with Freesync/VRR operational) but the numerical results were higher.

EDIT3
OK, so I found the discussion about a native Linux version on Steam (sorry, I can't figure out how to link to it).

Here is a quote:

"Update: 9/29/2019:
Ok we have it ported now. So good news and bad news. We have it running Debian and we presume it'll work on others. But the bad news is that the performance is just not acceptable. This is mainly due to the game being developed prior to Vulkan. It's all doable to fix but we don't have the budget to make those kinds of changes for one platform.

The difference based on the video card set up is pretty drastic too (not blaming any video card drivers here but the variance is pretty huge and would result in some unhappy people).

The good news is that Ashes II (and our other new titles) should, in theory, ship with Linux support off the bat thanks to this effort.

Those of you who are familiar with Stardock know we came from the OS/2 world back in the day so we are very much motivated to make our games work on Linux too. Just a matter of having enough resources to do it.

Thank you for your support on this. The sign up sheet helped us push through getting budget to do the initial port which should have benefits long-term for all our games not being so tied to Windows in the future."

It clearly indicates that Vulkan was an afterthought. This seems to pretty clearly indicate that if I want extra free FPS from a modern shader model (and threaded DX, etc) my only path is DX12/VKD3D.

@outsidefactor
Copy link

outsidefactor commented Aug 27, 2020

OK, given that Vulkan seems to be not a solution, DX12/VKD3D seems like my best path to those tasty extra frames Radeon gets with a modern API (from the modern shader model, superior threading etc).

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json PROTON_USE_VKD3D=1 PROTON_LOG=1 %command%

The game loads this way with both Proton-5.9-GE-5-ST and Proton-5.11-GE-3-MF. It also loads with RADV or AMDVLK as the system Vulkan driver (yes I know I need to change the Launch Options)! But I don't see a DX12 option presented in-game.

Any Radeon users out there interested in this? Or should I just give up and wait for Ashes 2, seeing as it will be native? At this point I am not even sure what to try next to get the game to see DX12 as an option to present. VKD3D seems to work really well for certain games, but I don't know if that's a function of the work GloriousEggroll does.

Any suggestions for a next step?

@random2324
Copy link

random2324 commented Aug 27, 2020

PROTON_USE_WINE_DXGI=1 and make sure win10 is set.
Already successfully tested dx12 mode and it seems to be faster than dxvk. Although extreme preset crashes for me.

@Compizfox
Copy link

Compizfox commented Aug 27, 2020

I assume that mapping from Windows Vulkan via WINE to the Linux native Vulkan is more efficient than DXVK... or is this entirely pointless?

No, you're right. In fact, it's even better than that because there isn't really such as a thing as "Windows Vulkan" that has to be translated. It's just native Vulkan, which does not need a translation layer because your GPU drivers understand that directly. You still need Wine to run the Windows game of course, but you don't need something like DXVK or VKD3D.

OK, given that Vulkan seems to be not a solution, DX12/VKD3D seems like my best path to those tasty extra frames Radeon gets with a modern API (from the modern shader model, superior threading etc).

I'm not sure. IIRC VKD3D's performance is not nearly as good as DXVK's, which I think offsets any potential gains you got by using DX12 over DX11.

@outsidefactor
Copy link

PROTON_USE_WINE_DXGI=1 and make sure win10 is set.
Already successfully tested dx12 mode and it seems to be faster than dxvk. Although extreme preset crashes for me.

What Proton build are you using? 5.0-9, 5.0-10 or 5.9-GE-5-ST or 5.11-GE-3-ST?

OK, so my Launch Options now look like:
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json PROTON_USE_VKD3D=1 PROTON_USE_WINE_DXGI=1 PROTON_LOG=1 %command%

And then use protontricks to set the Windows edition to 10?

I assume that mapping from Windows Vulkan via WINE to the Linux native Vulkan is more efficient than DXVK... or is this entirely pointless?

No, you're right. In fact, it's even better than that because there isn't really such as a thing as "Windows Vulkan" that has to be translated. It's just native Vulkan, which does not need a translation layer because your GPU drivers understand that directly. You still need Wine to run the Windows game of course, but you don't need something like DXVK or VKD3D.

OK, given that Vulkan seems to be not a solution, DX12/VKD3D seems like my best path to those tasty extra frames Radeon gets with a modern API (from the modern shader model, superior threading etc).

I'm not sure. IIRC VKD3D's performance is not nearly as good as DXVK's, which I think offsets any potential gains you got by using DX12 over DX11.

But the issue is that I can't get the Vulkan version to launch. Have you had any success in getting Vulkan to work for AotS?

@outsidefactor
Copy link

OMG, @random2324 you are my Heathen God and I want to have your babies.

This WORKS with 5.9-GE-5-ST. To confirm that this was the only step I deleted the old compatdata folder for AotS and started again.

I didn't even need to protontricks it to Windows 10 because I think that Proton-5.9-GE actually takes care of that already.

Even better than it working it also gave me a TONNE of extra FPS, as I had hoped. Each benchmark scene gave me 10+ extra FPS in DX12 over DX11, plus the quality of the lighting is far superior.

@random2324
Copy link

I build Proton myself using TKG. You also dont need the Proton Log option set everytime. Except thats intentional.

You wont get the Vulkan version to launch. Its not possible in the moment. The game seems to check for specific (Windows) driver versions. Faking those seems to be no trivial task.

Also it's not like just because the vulkan renderer of the game runs now on Linux it maps its calls directly to the driver. There is still something necessary called winevulkan which mimicks Windows behavior. Anyway I wouldn't expect much of an improvement for this. Vkd3d and DXVK are already pretty good sometimes even outperform Windows.

@outsidefactor
Copy link

I build Proton myself using TKG. You also dont need the Proton Log option set everytime. Except thats intentional.

You wont get the Vulkan version to launch. Its not possible in the moment. The game seems to check for specific (Windows) driver versions. Faking those seems to be no trivial task.

Also it's not like just because the vulkan renderer of the game runs now on Linux it maps its calls directly to the driver. There is still something necessary called winevulkan which mimicks Windows behavior. Anyway I wouldn't expect much of an improvement for this. Vkd3d and DXVK are already pretty good sometimes even outperform Windows.

Hey, look, Vulkan or DX12 it's all good: anything with a modern shader model is going to be 10-20% faster on Vega. Stardock seem to indicate that the Vulkan support in AotS is very much an afterthought and no efficient anyway. VKD3D is working well and that's giving me better performance AND visuals. Can't ask for much more than that.

I had a look into TKG and it's not quite as simple as GE. I am sure it's superior, but GE 'just works' with no more effort than downloading a tar.gz and expanding it into a folder. Yeah, yeah, lazy user...

But... now I know what works to get DX12 going for AotS there are other DX12 games I can consider.

@BabylonAS
Copy link

I’ve downloaded Proton-GE and tried to use vkd3d but the game only lists DirectX 11 and Vulkan APIs in the settings, even though my video card (GTX 1650) does support DX12.

@outsidefactor
Copy link

I’ve downloaded Proton-GE and tried to use vkd3d but the game only lists DirectX 11 and Vulkan APIs in the settings, even though my video card (GTX 1650) does support DX12.

Try using protontricks to set the OS to Windows 10 for AotS, @BabylonAS . I had assumed GE set it for me, but evidently I had changed it to Windows 10 at some point while I was tinkering.

The invocation I am using is also for RADV Vulkan. If you didn't already, you will need to remove the VK_ICD_FILENAMES part of the launch options, or set it to the appropriate nVidia one.

PROTON_USE_VKD3D=1 PROTON_USE_WINE_DXGI=1 %command% should work for most nVidia users, as far as I understand it. I don't have any nVidia machines to test with.

@BabylonAS
Copy link

No, it doesn't work for me — the game hangs on the loading assets screen.

@BabylonAS
Copy link

PROTON_NO_ESYNC=1 doesn’t seem to make a difference. Looks like we’re back to where this whole issue begins...

@outsidefactor
Copy link

No, it doesn't work for me — the game hangs on the loading assets screen.

Bummer. I just tried another machine I have with an RX 580 in it and it worked fine on that, was even easier because I don't have both RADV and AMDVLK on that machine at the same time. I just don't have any nVidia cards to try it with.

You're on what Linux distro? Proton-5.9-GE-5-ST? FSYNC capable Kernel? Shader pre-caching enabled? I have tried to keep much of my main system as close to the shipped versions from Manjaro to make it easier to help some friends that have made the move too, so I am not really running anything that out of the ordinary.

@BabylonAS
Copy link

Arch Linux, with 5.8.3-arch1-1 kernel. No idea about fsync or pre-caching.

@outsidefactor
Copy link

Kernel 5.8 has FSYNC patched-in by default. You'll want FSYNC and ESYNC enabled for the best performance (not much point in getting DX12 going if it does't run better).

Shader pre-caching can be turned on in Steam:
Steam menu -> Settings -> Shader Pre-caching
And you can tick "Enable Shader Pre-Caching" and "Allow Background processing of Vulkan Shaders". You can then restart Steam to force it to start processing if it doesn't start on its own.

If you have a lot of games installed that can take a while to run. It will stop the background processing if you start a game in Steam, but you'll want to shut down Steam if you want to play a Lutris game and the background stuff hasn't settled down.

Your best bet might be best to set it and then go to bed or do something else for a while and let it run. How long it takes is a function of your CPU performance and the number of games you have installed.

Even if you can't get DX12 going, you're still better off on the GE Proton build. 5.0-9 doesn't run AotS at all, so at least with GE Proton and ESYNC and FSYNC your performance will be better than with the current recommendation on ProtonDB, Proton-4.2-9.

@plasticbomb1986
Copy link

Just a note:

CPU AMD R7 3800XT (watercooled)
RX Vega64 (2x)(watercooled)
32GB DDR4 3200MHz
Game and os is on separate SSD, swap partition is on an NVMe SSD
ArchLinux, Kernel 5.8.11-zen
Mesa 20.1.8
TK-Glithc Proton 5.18.r3

steam launch parameters: VKD3D_VULKAN_DEVICE=1 PROTON_LOG=1 mangohud RADV_PERFTEST=aco %command%
(Im happy to see, VKD3D actually have a working GPU selection method, DXVK never was able to choose between two identical card, and zen kernel have fsync enabled, and it earned a few fps for me (5-10 percent) )

ive tested with /nolauncher and without it, the game starts in both instance.
The game crashes every time either i alt+tabed (or just used windows key) out of it, or it opened a separate window like for benchmark results to check outside of the game.

Game runs reasonably well on VKD3D (DX12), but about 20 percent less fps on Linux.

win10benchmar output:
Output_20_09_29_1350.txt
Linux
Output_20_09_29_1134.txt

Saw some fixme:err in proton log
steam-507490.log

SIde note: i did checked the vulkan render too on win: about 20-25% less fps in gpu focused, but 1-2 fps more in cpu focused benchmark.

@Fatmice
Copy link

Fatmice commented Dec 4, 2020

I can not run this game

>>> Adding process 2455 for game ID 507490
wine: Unhandled page fault on write access to 00000000 at address 00655B4C (thread 0130), starting debugger...
ERROR: ld.so: object '/home/ocelot/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
>>> Adding process 2460 for game ID 507490

Launch parameter
RADV_PERFTEST=aco DXVK_FILTER_DEVICE_NAME="VEGA20" VKD3D_VULKAN_DEVICE=1 PROTON_USE_VKD3D=1 PROTON_USE_WINE_DXGI=1 PROTON_LOG=1 %command%

Game gets to the launcher and after hitting play, it hangs forever.

flatpak steam
steam-507490.log
non-flatpak steam
steam-507490.log

@kisak-valve
Copy link
Member

Hello @Fatmice, looks like Proton hit an access violation (c0000005) immediately after fixme:heap:GetNumaHighestNodeNumber semi-stub: 00319630. You might get lucky with something like taskset -c 0-15 %command% in the game's launch options.

As a side note, your log also has WARNING: Unknown option RADV_PERFTEST='aco'. ACO is enabled by default now. which is self explanatory.

@Fatmice
Copy link

Fatmice commented Dec 4, 2020

Yeah, no dice with taskset

@jarrard
Copy link

jarrard commented Jan 2, 2021

Got AMD 6800XT, used a few proton versions and Vulkan API in options but the actual gameplay is mostly black screen with some UI elements. Not sure whats wrong.

Can other people use vulkan api? I'd prefer that vs dx12.

UPDATE: Running on low settings works, something is breaking with amdgpu on higher setting. Search mode activated....

It was temporal AA, turning it on blacks out 3d components of game basically.
Performance wasn't great but maybe I had settings up to high, or some settings causes performance issues. Trying to get DX12 booted but it just opens the process and it gobbles up memory forever, not sure what its doing. (probably caching shaders, odd that there is over 10GB of them!!)

@BabylonAS
Copy link

BabylonAS commented Jan 2, 2021

Vulkan reportedly performs badly even on Windows, no reason to think it would be better on Linux. I've only tried DX11 and DX12, the latter one works for me (finally) but I've had the game hang and crash some time into the skirmish.

Using GloriousEggroll's 5.9-GE-ST-8 unofficial patch.

@jarrard
Copy link

jarrard commented Sep 9, 2021

Was testing with Proton GE 6.16-1 and noticed DX12 nor Vulkan would work (nasty crashes and freezes), only DX11 would work. ALSO the launcher did not render so I was forced to use /nolauncher to bypass it.

Things seem to work in 5.9-GE-ST-5 (and probably some other versions) for dx11 and dx12 although it can be finicky at times. DX12 MAY offer some better minimal fps performance over DX11 but its negligible.

Updating 5.9-GE-ST-5 with latest dxvk and vkd3d helped a little bit with performance and had no bad effects. I only used %command% /nolauncher for my launch options; nothing else needed. (for DX11 and DX12 options).

Pretty sure Vulkan in this game is 100% borked so nobody should bother with that.

UPDATE: I was wrong, it seems you just need to wait a good 10-30seconds when loading up under DX12, if you minimize beforehand, bad things happen. (proton-GE-6.16-1)

@Leopard1907
Copy link

@jarrard https://gitlab.freedesktop.org/mesa/mesa/-/issues/3862

Yes, Vulkan backend of this game known to be borked. On prop drivers such as AMD prop VLK and likely Nvidia it works due to tons of app specific workarounds.

@SeekerOfAsh
Copy link

Version 3.11 introduced audio crackle, which wasnt present in the previous version. Choosing the previous version (3.10.191346) in the beta section allows me to launch the game without audio crackle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game compatibility - Unofficial Games not expected to work without issues Regression Confirmed working on an older version of Proton XAudio2 Uses the XAudio2 subsystem
Projects
None yet
Development

No branches or pull requests