Proton icon indicating copy to clipboard operation
Proton copied to clipboard

Revolver360 Re:Actor (313400)

Open michaeltintiuc opened this issue 6 years ago • 19 comments

Compatibility Report

  • Name of the game with compatibility issues: Revolver360 Re:Actor
  • Steam AppID of the game: 313400

System Information

  • GPU: GTX 1050 Ti
  • Driver/LLVM version: nvidia 415.25
  • Kernel version: 4.9.150-122.lts
  • Link to full system information report as Gist:
  • Proton version: 3.16-6 beta

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.

Symptoms

  • Doesn't launch without dotNet 4.5.2
  • Doesn't seem to save some game options (ie button mappings)

Using protontricks 313400 dotnet452 fixes the launch issue and the game is playable

michaeltintiuc avatar Jan 22 '19 17:01 michaeltintiuc

@kisak-valve This game needs a .NET label too.

ghost avatar Feb 23 '19 23:02 ghost

This one seems to use some really obscure .NET features, some I've never seen before. But, Proton logs should be more productive now, FWIW.

flibitijibibo avatar Apr 18 '19 20:04 flibitijibibo

I get a NotImplementedException, in obfuscated code unfortunately, and with no indication in the stack trace of which method is unimplemented. It turns out that it uses the ComputerInfo class from the Visual Basic libraries. It needs all of the "Memory" properties to be implemented.

madewokherd avatar Aug 20 '19 19:08 madewokherd

Stubbing those out gets it further, to a crash in MOJOSHADER_glEffectBeginPass.

madewokherd avatar Aug 20 '19 19:08 madewokherd

A crash there typically means a program failed to link. BeginPass is pretty big so lots of stuff might happen, but usually that's the cause. An apitrace will probably reveal the problem shader on the final glLinkProgram failure (I believe we store errors from GetProgramInfoLog somewhere in mojoshader_opengl.c, but I don't remember of the top of my head)

flibitijibibo avatar Aug 20 '19 19:08 flibitijibibo

After doing the real implementation, the game started without crashing. I'm not sure why. Other than implementing those properties, I did a Mono merge, and I was testing in Wine instead of Proton for convenience.

madewokherd avatar Aug 21 '19 20:08 madewokherd

It still crashes for me in Proton, so it's a fix in upstream Wine or some other difference.

madewokherd avatar Aug 21 '19 20:08 madewokherd

I tested in Wine 4.11 and did not get a MojoShader crash. It seems this is caused by Proton somehow.

madewokherd avatar Aug 23 '19 18:08 madewokherd

I can reproduce the crash in Wine from proton's branch, so it's caused by a patch Proton applied on top of Wine. I will try to bisect.

madewokherd avatar Aug 23 '19 20:08 madewokherd

The ComputerInfo memory implementation is in Wine Mono 4.9.3. I still haven't finished the bisect for the MojoShader crash.

madewokherd avatar Sep 23 '19 19:09 madewokherd

The crash is random.

madewokherd avatar Sep 30 '19 19:09 madewokherd

So afaict there's no difference between Proton and Wine 4.11, both just randomly crash in MojoShader sometimes.

madewokherd avatar Sep 30 '19 20:09 madewokherd

Do we have a +relay trace with MojoShader calls? That'll at least give us the stream of shader calls to pin down where it's dying (could be parsing, compiling, constant buffer sets, etc).

Another possibility is an issue in the effect; if we're using the very latest revision then we can dump the effects from here (buf and _len)...

https://github.com/FNA-XNA/MojoShader/blob/fna/mojoshader_effects.c#L838

... and run the binaries through the test util:

https://github.com/FNA-XNA/MojoShader/blob/fna/utils/testparse.c

flibitijibibo avatar Sep 30 '19 21:09 flibitijibibo

I wasn’t able to crash the game with 4.11-8’s FNA revision. I may have fixed this by accident...?

flibitijibibo avatar Nov 08 '19 23:11 flibitijibibo

System Information

  • GPU: RX 6600
  • Video driver version: Mesa 25.0.7 / LLVM 20.1.2
  • Kernel version: 6.8.0-86-generic
  • Link to full system information report as Gist
  • Proton version: 9.0-4

I confirm:

  • [x] that I have checked whether there are updates for my system available.

Symptoms

I tested two ProtonDB reports with my GOG copy: the first one reporting that the game didn't run on the 9.x series, and the second stating that keyboard input crashed the game. The first one I was unable to replicate, as the game ran just fine with gamepad input (but produced such a large log that GitHub apparently won't take it), whereas poking around with some keyboard input quickly made the game crash with an error window.

Image

steam-18441501327423963136_keyboard.log

And here's a crash log for good measure. I'm not certain if it's from the exact session I ran in the above proton log, but it's of the same bug. crashlog20251028221024.txt

Reproduction

Launch the game and keep pressing keys until the error window pops up.

thasreal avatar Oct 29 '25 04:10 thasreal

I can confirm the same issue with keyboard input on my oled steam deck. If I launch it and try typing with the virtual keyboard I can get the game to crash silently to the library

waspennator avatar Oct 29 '25 17:10 waspennator

The library looks for some private methods from XNA named KeyboardState.AddPressedKey and RemovePressedKey, and crashes when it can't find them. These are easy to add, and they fix the crash. But, keyboard input still doesn't seem to do anything.

madewokherd avatar Oct 31 '25 21:10 madewokherd

WINE_MONO_OVERRIDES=Microsoft.Xna.Framework.*,MonoGac=n %command is a work-around.

madewokherd avatar Oct 31 '25 22:10 madewokherd

Keyboard input no longer seems to crash the game on proton Experimental, keyboard input doesn't do much else atm though

waspennator avatar Dec 09 '25 21:12 waspennator