protonscr

Runers

protonclosed appid 306550Game compatibility - Unofficial.NET.NET-XNA
ValveSoftware/Proton#4271 · opened 2020-10-16 by 0xAdk · updated 2025-11-14 · 5 comments · github · game page · search this game
00xAdk 2020-10-16 github

Compatibility Report

  • Name of the game with compatibility issues: Runers
  • Steam AppID of the game: 306550

System Information

  • GPU: GTX 1080
  • Driver/LLVM version: 455.28
  • Kernel version: 5.8
  • Link to full system information report as gist: system information report
  • Proton version: 5.13

I confirm:

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

steam-306550.log

Symptoms

Whole game freezes on loading screen while attemting to load in the first floor on adventure mode

Challenges and tutorials work fine

Reproduction

  • Start game
  • Select adventure
  • Choose any difficulty
  • Select any layout
  • Start
  • Game freezes while on loading screen
Mmadewokherd 2020-10-18 github

Likely related to this:

[000000E4:] EXCEPTION handling: System.ArgumentException: 'CP1252' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
Mmadewokherd 2022-01-04 github

I revisited this after learning more about encodings, and it turns out I was completely off base. I found that there's a call to FNA3D_CreateTexture2D that never returns. We are using the OpenGL driver for FNA3D by default. I think this means the main thread got stuck doing something else.

Setting FNA3D_FORCE_DRIVER=Vulkan seems to work around this, but from what I understand there's a reason the Vulkan driver isn't the default yet, so it may lead to other problems.

Mmadewokherd 2022-01-04 github

The main thread isn't stuck in FNA3D code, it seems to end in a WaitHandle:Wait_internal call. So it may be that the program isn't running the main loop while it does some things in the background, but because FNA has to marshal into the main thread, those background tasks require the main thread to be running a main loop.

If that's the case, the OpenGL driver would probably have to be redesigned to marshal all calls to a thread controlled by FNA3D (not sure if that's even possible with the SDL and winforms dependencies), and the better solution is probably to wait for the Vulkan driver to become the default.

Mmadewokherd 2025-11-14 github

FNA is using multi-threaded backends by default (I believe in Proton 10.0-3 it uses D3D11, and in experimental, it uses SDL_GPU/Vulkan), and this is working for me without setting the driver.

00xAdk 2025-11-14 github

I tested both (with no launch options set) and the game works perfectly!

Thanks for the work you guys put into proton :)

Proton versions

Launch options