protonscr

JR EAST Train Simulator

protonopen appid 2111630Game compatibility - UnofficialXAudio2
ValveSoftware/Proton#6178 · opened 2022-09-21 by ayanami932 · updated 2026-04-28 · 15 comments · github · game page · search this game
1 matching comments, n / p to jump
Aayanami932 2022-09-21 github

Compatibility Report

  • Name of the game with compatibility issues: JR EAST Train Simulator
  • Steam AppID of the game: 2111630

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-2111630.log

Symptoms

Capture d’écran du 2022-09-21 15-56-23

When I launch the game, we can see the splash screen but errors like "CompileShaderFromFile Error" appear. When I click on "Ignore Always", a black screen appears and we can hear the music of the game but we cannot do anything as there is nothing on the screen.

Reproduction

Launch the game, see the splash screen, look at the error messages, try to ignore them and end up with a black screen + background music and eventually a crash.

Llyarenei 2025-02-18 github

Currently, with proton-ge (9.25), it is possible to get to drive a train - as described here https://www.protondb.com/app/2111630#b7aWTLdk6G

I tested the demo version and the only thing that's left (I'd say) is to properly decrypt the video stream, which would probably fix the libav errors as well:

0:02:46.967974539 123562 0x7f05e8052860 ERROR                  libav :0:: Error splitting the input into NAL units.
48698.379:0124:0128:fixme:bcrypt:BCryptGenerateSymmetricKey ignoring object buffer
48698.379:0124:0128:fixme:bcrypt:key_symmetric_decrypt Unexpected vector len 0, *ret_len 698.
48698.379:0124:0128:fixme:bcrypt:BCryptGenerateSymmetricKey ignoring object buffer
48698.379:0124:0128:fixme:bcrypt:key_symmetric_encrypt Unexpected vector len 0, *ret_len 16.
0:02:46.968347972 123562 0x7f060002c400 ERROR                  libav :0:: Invalid NAL unit size (1677064849 > 62400).
0:02:46.968372468 123562 0x7f060002c400 ERROR                  libav :0:: Error splitting the input into NAL units.

steam-3214350.log

AArthus 2025-07-06 github

@LizzyFleckenstein03 Your patch for planar video outputs landed in DXVK 2.7 - thank you for that. Are there more patches pending or incoming to fix this game?

TTheNawaKer 2025-07-31 github

Video still not working (black screen with error popup) on the last Proton Experimental with dxvk 2.7 (experimental-bleeding-edge-10.0-225275-20250731-p6c17f3-w017731-d6a5544-ve42f95)
The anomalies seem to indicate that the video file (mp4) is not correctly loaded, as in the case of a codec problem, for example.

A demo version of the game is available (AppID 3214350)

The rest of the game seems to work well

Edit: After some analysis, it seems the game uses the Windows library bcrypt to read the video file. This library contains many stubbed or partially implemented functions in both Wine and Proton. I’ve checked, and some of the functions used by the game—such as BCryptGenerateSymmetricKey—are not fully implemented. I believe that until these functions are properly completed, the video file will not be read correctly.

List of fonctions used by the game:

extern NTSTATUS (__stdcall *BCryptEncrypt)(BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, void *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
extern NTSTATUS (__stdcall *BCryptDecrypt)(BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, void *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
extern NTSTATUS (__stdcall *BCryptGenerateSymmetricKey)(BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
extern NTSTATUS (__stdcall *BCryptCloseAlgorithmProvider)(BCRYPT_ALG_HANDLE hAlgorithm, ULONG dwFlags);
extern NTSTATUS (__stdcall *BCryptDestroyKey)(BCRYPT_KEY_HANDLE hKey);
extern NTSTATUS (__stdcall *BCryptSetProperty)(BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
extern NTSTATUS (__stdcall *BCryptGetProperty)(BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
extern NTSTATUS (__stdcall *BCryptOpenAlgorithmProvider)(BCRYPT_ALG_HANDLE *phAlgorithm, LPCWSTR pszAlgId, LPCWSTR pszImplementation, ULONG dwFlags);
Eeldomtom2 2025-12-26 github

The game works and the FMV plays if you set Video Cache to Low. I don't know if this is due to a change in the stable version of Proton Experimental, but it works now.

TTheNawaKer 2025-12-26 github

@eldomtom2
I ran another test with the December 24th Proton Experimental build and the demo version of JREST (Tokaido line), and the issue still seems to be present. There is an error when reading the file 301_tokaido_tokyo_shinagawa_front_highend_enc.mp4

I should mention that I did test with the cache set to Low. I also tried adjusting the GPU settings.

Could you tell me which version of JREST and Proton Experimental you used? Did you test the game on a specific line or DLC?

Eeldomtom2 2025-12-26 github

I used the full version of JRETS and the Keihin-Tohoku line. The version of Proton Experimental is whatever the regular version is, I haven't opted into anything listed under betas for Proton Experimental.

Kkentgr 2025-12-27 github

I can confirm that it works with Proton Experimental, both stable and bleeding edge now. This is with the full version, and only with Keihin-Tohoku line. But the video is too slow and don't keep up with the train. So its still things to do here. I am using NVIDIA driver open-dkms 590.48.01

Eeldomtom2 2025-12-27 github

For clarity, I should note that I only experienced issues with the video being out of sync one time, and restarting the game resolved them. My Nvidia Driver is 580.82.09, my distro is Pop!_OS 22.04 LTS x86_64, and my GPU is NVIDIA GeForce RTX 3060.

Llyarenei 2025-12-28 github

I had not tested much, but I can confirm that the video is properly decoding now as well - tried full Keihin-Tohoku and Chuo line rapid (demo). However, the frame pacing was inconsistent and there were some artifacts as well. Overall, it was playable though. In some cases, even the intro video was lagging behind and then suddenly sped up to catch up.

The most annoying is the "waiting game" for menu - first sitting through a white screen for a while, then taking an epilepsy test - the intro video flickers through the menu and it's not possible to skip it, so it's necessary to wait it out. For me, at first, the intro movie plays "smoothly", but with half a sec pauses. But to the end it plays smoothly (or catches up).

Changing line seems to not be possible without restarting the game (I get a crash with file not found or other error).

On KDE, the window aggressively steals focus, so it's not possible to tab out.

Tested with:
PC: Ryzen 2600, RX6700, 8GB RAM
OS: Bazzite 43 (20251210.1)

Proton GE: Crash on launch
Proton Experimental: Lots of crashes (rarely got to drive, but still decoding errors)
Proton Cachyos: Unstable, but best results

For someone interested, I collected two proton logs:

Proton-cachyos from a "successful" run - there are still a lot of fixme:bcrypt:BCryptGenerateSymmetricKey ignoring object buffer

steam-2111630-cachyos.log

Proton experimental: CTD after white screen wait

steam-2111630-experimental.log

TTheNawaKer 2025-12-28 github

I’ve tried again with Proton Experimental (both normal and bleeding‑edge modes) as well as Proton‑cachyos, and I’m still running into the same file‑loading and decoding issues. Since I’m on a Steam Deck (SteamOS), maybe there’s a difference I’m not aware of.

I did some digging, and it turns out there have been recent changes to the BCrypt library in Wine (used by Proton). Wine BCrypt History

So it’s possible that something else is affecting the results and the game’s proper functioning (e.g., codec, OS, drivers, etc.).

In any case, these are the first signs of a positive improvement in the game’s overall behavior.

Kkentgr 2025-12-29 github

I tested again with RTX 5060Ti NVIDIA driver open-dkms 590.48.01 on Arch Linux. The only route that is working for me is Keihin-Tohoku line still. Video did stop to be out of sync when I restarted the game, but after driving a while video hangs and goes in a loop. I also have the full version of Yamanote line DLC and it does not work at all and crashes before it loads.

Eeldomtom2 2025-12-31 github

I've done some further testing and the following seem to consistently create issues, either causing the FMV to loop the same few frames or throwing up an error message box on the loading screen:
-Alt-tabbing during the intro video
-Changing stations from the pause menu instead of quitting to the main menu
-Entering gameplay from the main menu more than two times

Eeldomtom2 2026-01-02 github

In addition, starting to move before the UI lists the next station also appears to sometimes cause issues.

SSaious119 2026-02-05 github

Loading screen also take an inordinate amount of time, haven't looked too deep into the issue but it probably has something to do with decrypting the mp4 files if I had to guess. Tracks that load in less than 10 seconds on windows takes about 3 minutes on that same machine running Kubuntu.

Iingueferroque 2026-04-28 github

Has anyone been able to run it on Steam Deck? I only see Linux reports on ProtonDB, no positive Steam Deck reports.
I tried Proton GE-28, GE-30 and Proton Experimental, my video cache was set to low and my refresh was locked to 60hz.

The intro FMV is an unskippable (?) white screen (video doesn't play), and when you load into a map you will see the cockpit, hear the sounds, are able to control the train - but the video doesn't play (black screen).

There's also error pop-ups that will prevent you from continuing unless you skip them all.

So it looks like it isn't playable yet on Deck, unless there are other ways?

PS. I tried streaming from a Windows device to my Deck as well, and the intro plays fine on the host device, but on Steam Deck it just displays the title screen and you are unable to control it. So weird.

Proton versions