protonscr

Atelier Firis: The Alchemist and the Mysterious Journey

protonopen appid 527290Game compatibility - UnofficialRegression
ValveSoftware/Proton#1486 · opened 2018-09-16 by FibYar · updated 2020-02-18 · 13 comments · github · game page · search this game
2 matching comments, n / p to jump
FFibYar 2018-09-16 github

Compatibility Report

  • Name of the game with compatibility issues: Atelier Firis: The Alchemist and the Mysterious Journey / フィリスのアトリエ ~不思議な旅の錬金術士~
  • Steam AppID of the game: 527290

System Information

I confirm:

  • [v] that I haven't found an existing compatibility report for this game.
  • [v] that I have checked whether there are updates for my system available.

steam-527290.log

Symptoms

Game does not starts.

Reproduction

  1. Install the game.
  2. Try to launch it.
Eexolyte 2019-01-07 github

Instructions for running on proton

  1. Make sure you're using proton 4.2 for the game, install proton 4.2 from library->tools if necessary. You can set the proton version for a game by right clicking on the game in your library, clicking properties and checking the "Force the use of a specific Steam Play compatibility tool" box. Then select proton 4.2 from the dropdown menu.
  2. Set the launch options for the game to "WINEDLLOVERRIDES=d3d9=n %command%". You can set the launch options for a game by right clicking on the game in your library, clicking properties and clicking the "Set launch options..." button.
  3. Download the d3d9 dll from https://github.com/exolyte/faked3d9/releases and place it in the "steamapps/common/Atelier Firis The Alchemist and the Mysterious Journey" directory. (The same directory as the "A18.exe" executable.)
  4. The game should now work.

Technical stuff

First problem: the config tool (which starts before the actual game starts) crashes instantly. I don't know why, but I might look into this later. Fixed in wine upstream as of version 4.3, patch backported to proton 4.2.

Second problem: the game itself crashes as well after the intro logos. It creates both a d3d9 and d3d11 device and tries to do resource sharing between them. This is not supported between wined3d/dxvk and I think this is what causes the game to crash. When using wined3d for d3d11, it crashes earlier.

The 'solution' to get the game to work on dxvk is to let d3d9 device creation fail. This makes the game start and it seems to run without problems after that. Note that setting the d3d9 dll to disabled doesn't work. It needs to be able to load the d3d9 dll and then d3d9 device creation needs to fail. The only problem with this workaround is that the intro movie doesn't play. It's worth pointing out that the game also has an ending movie which might cause problems, but I haven't gotten to that point in the game.

Apitrace taken on windows 10: https://mega.nz/#!2FlUWCTa!wY6b_kjMYEJTqP7RUilsW74LbscT6aRx0L7sojjZ4Cw (has graphical glitches due to an apitrace bug with deferred contexts)

Other

The appdb page: https://appdb.winehq.org/objectManager.php?sClass=version&iId=37537.
I don't have them but I suspect some of the other games in the Atelier series might run into the same problem. Appids: 756590, 936160, 936180, 936190.

Uubuntor 2019-02-24 github

From the log, it looks like the address the config tool is trying to execute was truncated to 32 bits somewhere.

Eexolyte 2019-02-24 github

I've filed a wine bug for the config tool issue: https://bugs.winehq.org/show_bug.cgi?id=46712

Nnsivov 2019-02-24 github

I've filed a wine bug for the config tool issue: https://bugs.winehq.org/show_bug.cgi?id=46712

Thanks, I attached a patch there for testing.

BBillFleming 2019-03-25 github

Does anyone have any ideas for how to setup the d3d9 DLL kung fu using proton?
Using the customized local proton install I plan to make one just for these Atelier games. So I can do any DLL butchering needed then post up detailed instructions.
BTW I filed an issue report for 756590, same symptoms.

Eexolyte 2019-03-25 github

I wouldn't recommend running it through proton since apparently it crashes with current FAudio:

Unhandled exception: page fault on write access to 0x00000000 in 64-bit code (0x00007ff40e165b79).
=>0 0x00007ff40e165b79 free_check+0x1eba9() in libc.so.6 (0x00000000377bfc60)
  1 0x00007ff3b120cfba FAudioVoice_SetChannelVolumes+0x4ca9() in libfaudio.so (0x00000000377bfc60)

It's an easy fix, but it might take some time before the FAudio changes get to proton.

EDIT: fixed by https://github.com/FNA-XNA/FAudio/commit/ca1729e416e27ffd15ecf35c6d69e8467db9cd29

Nnsivov 2019-03-27 github

Config tool crash should be fixed in 4.2-1, Valvesoftware/wine@df06b30.

Eexolyte 2019-03-28 github

Can confirm that the config tool works in proton 4.2-1, however I did notice it doesn't work in normal wine when running it through steam, unless native msvcr110 is used. The reason for this is a difference between how the "__crtGetShowWindowMode" call is handled in wine and the native dll. I will open a more detailed report on winehq soon. (https://github.com/wine-mirror/wine/commit/b353ad7db8e013bab8bfd0ffde3610372fa3d644)

@BillFleming The game actually seems to run fine in proton 4.2 once the dll stuff is set up, I've written detailed instructions in my first post in this thread.

FFibYar 2020-02-11 github

The game now works out of the box with the latest Proton (5.0). The only problem: no video cutscenes. And stability.

?ghost 2020-02-14 github

I only get a white screen after the "Now Loading" message, though the game kinda "works" as it registers controller input and play sounds just fine. Maybe AMD driver related...

GPU: RX 5700 XT
Driver: Mesa 20.1.0-git / LLVM 11.0.0-git
Kernel: 5.6.0-rc1
System Info: https://gist.github.com/fureloka/2607f6c22f2af220fd28faa5c8e3a7cd
Proton Version: 5.0-2
Proton Log: steam-527290.log
Video File Info: https://gist.github.com/fureloka/fc3365f804e7ba249f4b9bab4c9031fd

Looking at the Proton log there are some interesting bits,

fixme:quartz:VMR9SurfaceAllocatorNotify_AdviseSurfaceAllocator (000000000EA96980/000000000EA96540)->(...) stub
fixme:quartz:VMR9SurfaceAllocatorNotify_SetD3DDevice (000000000EA96980/000000000EA96540)->(...) semi-stub

and

err:gstreamer:unknown_type Could not find a filter for caps: "video/x-ms-asf"
err:gstreamer:gstdecoder_init_gst Failed to play stream.
err:gstreamer:watch_bus decodebin0: Your GStreamer installation is missing a plug-in.
err:gstreamer:watch_bus ../../proton/gst-plugins-base/gst/playback/gstdecodebin2.c(4679): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: Advanced Streaming Format (ASF) (video/x-ms-asf)

Sadly ASF support is part of gst-plugins-ugly, so I don't see that happening anytime soon.

BBillFleming 2020-02-14 github

The game is still working on Proton 5.0-2 after that hotfix was released yesterday.
You still need to put the fake d3d9.dll into the game's folder.
Then use the following new launch options:
PROTON_USE_D9VK=1 %command%

FFibYar 2020-02-15 github

The game is still working on Proton 5.0-2 after that hotfix was released yesterday.
You still need to put the fake d3d9.dll into the game's folder.
Then use the following new launch options:
PROTON_USE_D9VK=1 %command%

Yes. The game works that way.
But I'm sure, that the game worked out of the box on Proton 5.0-1. And stopped to (just showing white screen) on 5.0-2.
But another Atelier games continue to work even on 5.0-2...

Kkisak-valve maintainer 2020-02-18 github

Hello @FibYar, can you check if you're seeing a white screen with PROTON_USE_WINED3D=1 %command% and Proton 5.0-2?

Proton versions

Launch options

Launch lines

Upstream links

DLLs