ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.35k stars 1.02k forks source link

Star Wars - Jedi Knight II: Jedi Outcast (6030) #1732

Open legluondunet opened 5 years ago

legluondunet commented 5 years ago

Compatibility Report

System Information

I confirm:

steam-6030.log

Symptoms

The single player game crashes at start, even with the necessary option for Nvidia users: __GL_ExtensionStringVersion=17700 %command%

Reproduction

If you have a Nvidia GPU, put this option in the Steam launch option: __GL_ExtensionStringVersion=17700 %command% launch the single player game: it crashes.

Strange but...multiplayer game launches ok

dreamer commented 5 years ago

@legluondunet do you experience the same "grey screen filter" issue, that I do? For example, this is how menu is supposed to look: 1, this is how it looks to me: 2 (everything is darker - in menu and in game).

It can be removed by adding commandline parameter +r_ignorehwgamma 1 (after single run game will save it in config and it will be applied on subsequent runs as well).

[edit] BTW, I tested using MESA_EXTENSION_MAX_YEAR=2003 %command% on 3.16-1 Beta and experienced no crash (I loaded existing save, played for few minutes). my system; can't re-test on system with NVIDIA graphics at the moment.

ghost commented 5 years ago

You can also fix the "grey screen filter" by changing to windowed mode

But the game starts fine for me right to in-game using 3.16-1 (use this tool for all games is checked and "__GL_ExtensionStringVersion=17700 %command%" used. This is all)

I do see you have:

Backtrace:
=>0 0x7c6d0b9a dump_DIEFFECT+0x3a() in dinput (0x01e7e6d8)
  1 0x7c6da7bd **Joystick**WImpl_CreateEffect+0x4c() in dinput (0x01e7e718)
  2 0x7c6dc1dc JoystickAImpl_CreateEffect+0x4b() in dinput (0x01e7e778)
  3 0x0024a8a4 in ifc22 (+0xa8a3) (0x80000000)
0x7c6d0b9a dump_DIEFFECT+0x3a in dinput: movl   0x0(%edi),%edx

which is odd. You have a controller plugged in? I don't know why that would show up if you didn't. Try unplugging it.

legluondunet commented 5 years ago

@byte1024 effectively, with my x360 connected: the game crashes at start (only single player, multiplayer is not affected by this issue). If I replace my x360 by my Steam controller, it doesn't crash, but the Steam controller is not usable in this game with its default configuration.

@dreamer thank you, your tip for gamma works very well.

legluondunet commented 5 years ago

I think I didn't have x360 crash with Proton 3.7-7

ghost commented 5 years ago

I think I didn't have x360 crash with Proton 3.7-7

It looks like its a [ ]regression [x]bug in Wine [ ]especially if it doesn't do it with 3.7 right now as well.

Could file a bug with Wine maybe https://bugs.winehq.org/ or just leave it filed here with Proton since I think Valve puts in patches to Wine as well. I don't know where it would make the most difference with getting fixed.

dreamer commented 5 years ago

I can reproduce the issue after connecting my DS4 controller. It happens both in 3.16-1 Beta and in 3.7-8, only in singleplayer. Log excerpt is from 3.7:

Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x78dcc82a).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:78dcc82a ESP:01e7e6a0 EBP:01e7e6d8 EFLAGS:00010246(  R- --  I  Z- -P- )
 EAX:00000003 EBX:78df1ff4 ECX:ffffffff EDX:f7f542a2
 ESI:78df9d08 EDI:00000000
Stack dump:
0x01e7e6a0:  00000000 00000000 7bce0ff4 f7f8b678
0x01e7e6b0:  7bce0ff4 78de0d8c 00000000 00000003
0x01e7e6c0:  0000001e 0230d930 78dcc7fb 78df1ff4
0x01e7e6d0:  00186854 00000000 01e7e718 78dd644d
0x01e7e6e0:  00000000 020ac104 00000000 7bc97b7c
0x01e7e6f0:  4351efde 020ac188 020ac104 00000000
Backtrace:
=>0 0x78dcc82a dump_DIEFFECT+0x3a() in dinput (0x01e7e6d8)
  1 0x78dd644d JoystickWImpl_CreateEffect+0x4c() in dinput (0x01e7e718)
  2 0x78dd7e6c JoystickAImpl_CreateEffect+0x4b() in dinput (0x01e7e778)
  3 0x0023a8a4 in ifc22 (+0xa8a3) (0x80000000)
0x78dcc82a dump_DIEFFECT+0x3a in dinput: movl   0x0(%edi),%edx
legluondunet commented 5 years ago

The gamepad bug is corrected in Proton 3.16-4, thank you Valve Team!

legluondunet commented 5 years ago

Now, if Valve integrates the needed environment launch option (MESA_EXTENSION_MAX_YEAR=2003 %command% for AMD users and __GL_ExtensionStringVersion=17700 %command% for Nvidia users) the game could be whitelisted.

aeikum commented 5 years ago

@legluondunet Glad to hear the fix worked, thank you for reporting!

aeikum commented 5 years ago

Hello. With Proton 3.16-7, you can now use the PROTON_OLD_GL_STRING runtime option instead of the Mesa- or Nvidia-specific environment variables.

dreamer commented 5 years ago

Tested with 3.16-8 Beta with PROTON_OLD_GL_STRING=1, no other tweaks/variables and clean installation using two systems: 1, 2 - game itself works fine.

I experienced following problems though:

Overall when ignorehwgamma fix is implemented, game works better through Proton than using Windows 10 (because fullscreen keeps adequate aspect ratio instead of artificially stretching it to 16:9).