Proton icon indicating copy to clipboard operation
Proton copied to clipboard

Grand Theft Auto V Enhanced (3240220)

Open alosarjos opened this issue 10 months ago • 45 comments

Compatibility Report

  • Name of the game with compatibility issues: GTA V Enhanced Edition
  • Steam AppID of the game: 3240220

System Information

  • GPU: AMD 7800XT
  • Video driver version: Mesa 24.3.4
  • Kernel version: 6.13.5
  • Link to full system information report as Gist:
  • Proton version: Experimental

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

Symptoms

Stuck on the launcher, sometimes a window opens, but closes and game closes completely

Reproduction

Launch the game

alosarjos avatar Mar 04 '25 12:03 alosarjos

The game starts for a split second, and crashes. In the logs I see this last message:

wine: Call from 00006FFFFFFA3A58 to unimplemented function USER32.dll.GetDpiAwarenessContextForProcess, aborting

It seems it has something to do with HiDPI support in WINE.

EDIT:

Game works fine on my Arch Linux and SteamDeck when using this launch option:

SteamDeck=1 %command%

admjkv avatar Mar 04 '25 12:03 admjkv

Replying to https://github.com/ValveSoftware/Proton/issues/8495#issuecomment-2697479701

Doesn't work for me personally. The game closes/crashes right after trying to launch it, with no window whatsoever showing. I can't even get Proton to write any log.

AnErrupTion avatar Mar 04 '25 13:03 AnErrupTion

Try deleting the prefix and runing with the SteamDeck=1, I was able to run it that way

alosarjos avatar Mar 04 '25 13:03 alosarjos

Try deleting the prefix and runing with the SteamDeck=1, I was able to run it that way

Nope, still doesn't work, same thing happens.

AnErrupTion avatar Mar 04 '25 13:03 AnErrupTion

For me it launches with SteamDeck=1 %command%, without it Proton's wine probably needs https://gitlab.winehq.org/wine/wine/-/merge_requests/6802 to be merged EDIT: Yep, applied the patch and compiled Proton manually, the game launches fine without any additional tinkering required. With SteamDeck=1 Online doesn't even load; without the environment variable and with the patch applied it loads but the player gets kicked after a few minutes due to BattlEye support not being enabled by Rockstar

Exotic0015 avatar Mar 04 '25 13:03 Exotic0015

Doesn't work here with or without the SteamDeck=1 launch option on Desktop.

LiamDawe avatar Mar 04 '25 14:03 LiamDawe

The game didn't launch because the launcher stuck.

Image

Proton ver: 1741023333 experimental-bleeding-edge-9.0-169490-20250303-p9fdc47-w507bc0-d9769df-v6c9103-unstripped
Proton log: steam-3240220.zip

NTMan avatar Mar 04 '25 15:03 NTMan

When using Heroic Games Launcher, SteamDeck=1 environment variable didn't work for me, but adding -onSteamDeck as argument to executable did work. Online doesn't work, tho. At least Story Mode works now.

Dug that from `GTA5_Enchanced.exe` binary.

Image

playday3008 avatar Mar 04 '25 20:03 playday3008

I was able to launch the game with SteamDeck=1, but sadly, unable to join an online game:

Image

Tried the tinker from Legacy, but no success

Compatibility: GE-Proton-9-25
Command: SteamDeck=1 PROTON_BATTLEYE_RUNTIME=/path/to//SteamLibrary/steamapps/common/Proton\ BattlEye\ Runtime/ %command%

acolombier avatar Mar 04 '25 20:03 acolombier

Replying to https://github.com/ValveSoftware/Proton/issues/8495#issuecomment-2698872793

The game will automatically disable BattlEye if it's told it's running on Steam Deck. Wait for the Wine patch for it to come to Proton, but even then I don't know if it'll work.

I understand that Rockstar would add a few lines of code to automatically disable BattlEye on Steam Deck, but the fact they went a little further and made it skip that unimplemented function in the same context makes me question if they're softening up, like you might as well just leave it broken if you don't officially support it.

robotman40 avatar Mar 04 '25 21:03 robotman40

Yeah I realised that checking the invoked process. Tried with -onStemDeck arg so -nobattleye doesn't get auto added and I'm getting a "You've been kicked by battleye" error instead, upon joining

acolombier avatar Mar 04 '25 21:03 acolombier

This is just speculation, but i don't think GTA Enhanced will work on linux if your sole goal is to play onlline, from what i know they added BattlEye/Kernel Level Anti-Cheat on GTAV, which makes it incompatible with linux. its most likely the same for GTA Enhanced sadly

Your best bets are to just dualboot windows when you want to play GTA Online, this is a big issue that happens with lots of games implementing kernel level anticheat such as Riot games

meir avatar Mar 05 '25 08:03 meir

Thanks for your input. Unfortunately, I have taken the decision recently to entirely ditch my dual boot for ethical reasons. As part of this, I have also ditched games I used to play (Riot, and or Respawn), so I'm afraid if this is indeed the direction Rockstar is taking, I'm afraid it's going to be a pass. Hopefully you are wrong :D for now, I still have the story mode to do again

acolombier avatar Mar 05 '25 22:03 acolombier

I am running it using SteamDeck=1 %command% and Proton Experimental Bleeding-Edge. Unfortunately, it hangs when trying to use Franklin's special ability on the starting section:

Image

It hangs right when I press Caps Lock into that scene. I had to then kill the process. Here follows the proton log (zipped because it turned out to be enormous):

steam-3240220.zip

I've also tried running the game with the -safemode command-line parameter but it locks up the same way.

Also, running the game at all does not always succeed. Sometimes I just get this message:

Image

My system information (Ryzen 7 7800X3D, Radeon RX 7900 XTX, Archlinux): https://gist.github.com/Patola/ecc08624307296709b35756a5cb246d8

Patola avatar Mar 05 '25 23:03 Patola

The game should now launch without any additional tinkering required on Proton Experimental bleeding-edge branch, because commit https://github.com/ValveSoftware/Proton/commit/256e9783cc07d216532fbe90a45321a80699ddc3 (updates wine to commit https://github.com/ValveSoftware/wine/commit/50dbb59157f4344dec3eceafa6aceafb5dda0592) adds the missing syscall (which in turn has been implemented in https://github.com/ValveSoftware/wine/commit/7b31aae6200640391682db757962b9b5120a2b30) that is required by the game.

Exotic0015 avatar Mar 06 '25 12:03 Exotic0015

The game should now launch without any additional tinkering required on Proton Experimental bleeding-edge branch, because commit 256e978 (updates wine to commit ValveSoftware/wine@50dbb59) adds the missing syscall (which in turn has been implemented in ValveSoftware/wine@7b31aae) that is required by the game.

Does this also fix the hang on activating Franklin's special ability? (I will test of course)

Patola avatar Mar 06 '25 13:03 Patola

Does this also fix the hang on activating Franklin's special ability? (I will test of course)

Couldn't reproduce the hang on my rig, you'll have to test if it has been fixed for you.

Exotic0015 avatar Mar 06 '25 13:03 Exotic0015

Does this also fix the hang on activating Franklin's special ability? (I will test of course)

Couldn't reproduce the hang on my rig, you'll have to test if it has been fixed for you.

It didn't. The hang still happens. Doesn't seem to be related to the graphics because there's no amdgpu alarm on dmesg and the hang also occured in -safemode. But I'll try running it also on my NVIDIA laptop to be sure.

Patola avatar Mar 06 '25 13:03 Patola

It didn't. The hang still happens. Doesn't seem to be related to the graphics because there's no amdgpu alarm on dmesg and the hang also occured in -safemode. But I'll try running it also on my NVIDIA laptop to be sure.

Running grep vkd3d-proton on your logs does show quite a bit of warnings, these might be of interest:

232633.638:0af4:0af8:info:vkd3d-proton:d3d12_device_init_workarounds: AMDGPU broken kernel detected. Enabling manual memory clearing path.
232633.638:0af4:0af8:warn:vkd3d-proton:d3d12_device_create_vkd3d_queues: Could not allocate an out of band queue for queue family 0. All out of band work will happen on the in band queue.
232633.638:0af4:0af8:warn:vkd3d-proton:d3d12_device_create_vkd3d_queues: Could not allocate an out of band queue for queue family 1. All out of band work will happen on the in band queue.
232633.638:0af4:0af8:warn:vkd3d-proton:d3d12_device_create_vkd3d_queues: Could not allocate an out of band queue for queue family 5. All out of band work will happen on the in band queue.
232637.261:07f0:08c4:warn:vkd3d-proton:vkd3d_view_map_create_view: Intense view map pressure! Got 4096 views in hash map 000000004807a628. This may lead to out-of-memory errors in the extreme case.
232650.161:07f0:08c4:warn:vkd3d-proton:vkd3d_view_map_create_view: Intense view map pressure! Got 5120 views in hash map 000000004807a628. This may lead to out-of-memory errors in the extreme case.

Exotic0015 avatar Mar 06 '25 13:03 Exotic0015

Thanks, @Exotic0015. Weirdly enough, yes, it works in my NVIDIA laptop with this configuration. Not sure what I should do though. These errors also appear on the proton logs for the VR game Metro Awakening, but it runs nevertheless. Should I try and use a different kernel?

Patola avatar Mar 06 '25 15:03 Patola

Thanks, @Exotic0015. Weirdly enough, yes, it works in my NVIDIA laptop with this configuration. Not sure what I should do though. These errors also appear on the proton logs for the VR game Metro Awakening, but it runs nevertheless. Should I try and use a different kernel?

Wouldn't hurt to try; try running the game on the stock kernel and report back if it fixed the issue.

Exotic0015 avatar Mar 06 '25 15:03 Exotic0015

I've also been trying to get this game to work. It really feels like winning the lottery when the game opens up, but I've noticed one thing that is present in proton logs for when the game fails to open vs when it does open (all with SteamDeck=1 applied.)

It seems like when the game isn't opening, it's the game silently crashing in the background with this exception (which always appears when the "A game is currently running" text shows up)

2072111.506:07b8:07d0:warn:seh:dispatch_exception backtrace: --- Exception 0xc0000005.
2072111.506:07b8:07d0:trace:seh:dispatch_exception code=c0000005 flags=0 addr=000000014018261B ip=14018261b
2072111.506:07b8:07d0:trace:seh:dispatch_exception  info[0]=0000000000000001
2072111.506:07b8:07d0:trace:seh:dispatch_exception  info[1]=0000000000000000
2072111.506:07b8:07d0:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised
2072111.506:07b8:07d0:trace:seh:dispatch_exception  rax=0000000000000000 rbx=00006fffffed0118 rcx=0000000046eefe98 rdx=00000000003f00e8
2072111.506:07b8:07d0:trace:seh:dispatch_exception  rsi=0000000000000000 rdi=0000000000000000 rbp=0000000046eeffa0 rsp=0000000046eefeb0
2072111.506:07b8:07d0:trace:seh:dispatch_exception   r8=001e1ff1126657d1  r9=00006ffffdb1ea42 r10=0000000000000000 r11=0000000000000202
2072111.506:07b8:07d0:trace:seh:dispatch_exception  r12=0000000046eefee0 r13=0000000000000000 r14=00006fffffecf0e0 r15=00006ffffdb1ea30
2072111.506:07b8:07d0:trace:seh:call_vectored_handlers calling handler at 00006FFFFD6FC0A0 code=c0000005 flags=0
2072111.506:07b8:07d0:trace:seh:call_vectored_handlers handler at 00006FFFFD6FC0A0 returned 0
2072111.506:07b8:07d0:warn:seh:virtual_unwind backtrace: 000000014018261B: L"GTA5_Enhanced.exe" + 000000000018261B.
2072111.506:07b8:07d0:trace:unwind:RtlVirtualUnwind type 1 rip 14018261b rsp 46eefeb0
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info **** func 1823f0-18265b
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info unwind info at 00000001428648C8 flags 0 prolog 0x10 bytes function 00000001401823F0-000000014018265B
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x10: subq $0x38,%rsp
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0xc: pushq %rbx
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0xb: pushq %rbp
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0xa: pushq %rdi
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x9: pushq %rsi
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x8: pushq %r12
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x6: pushq %r13
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x4: pushq %r14
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x2: pushq %r15
2072111.506:07b8:07d0:warn:seh:virtual_unwind backtrace: 000000014018733E: L"GTA5_Enhanced.exe" + 000000000018733E.
2072111.506:07b8:07d0:trace:unwind:RtlVirtualUnwind type 1 rip 14018733e rsp 46eeff30
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info **** func 187280-187391
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info unwind info at 00000001428648A4 flags 0 prolog 0xb bytes function 0000000140187280-0000000140187391
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0xb: subq $0x20,%rsp
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x7: pushq %rbx
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x6: pushq %rdi
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x5: pushq %rsi
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x4: pushq %r14
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x2: pushq %r15
2072111.506:07b8:07d0:warn:seh:virtual_unwind backtrace: 00006FFFFFED482D: L"kernel32.dll" + 000000000001482D.
2072111.506:07b8:07d0:trace:unwind:RtlVirtualUnwind type 1 rip 6fffffed482d rsp 46eeff80
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info **** func 14820-14836
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info unwind info at 00006FFFFFF03D8C flags 0 prolog 0x8 bytes function 00006FFFFFED4820-00006FFFFFED4836
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     frame register rbp offset 0x0(%rsp)
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x8: subq $0x20,%rsp
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x4: leaq 0x0(%rsp),rbp
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x1: pushq %rbp
2072111.506:07b8:07d0:warn:seh:virtual_unwind backtrace: 00006FFFFFF4F49F: L"ntdll.dll" + 000000000000F49F.
2072111.506:07b8:07d0:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffff4f49f rsp 46eeffb0
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info **** func f488-f4a0
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info unwind info at 00006FFFFFFDCD48 flags 1 prolog 0x4 bytes function 00006FFFFFF4F488-00006FFFFFF4F4A0
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     0x4: subq $0x28,%rsp
2072111.506:07b8:07d0:trace:unwind:dump_unwind_info     handler 00006FFFFFF82950 data at 00006FFFFFFDCD54
2072111.506:07b8:07d0:trace:seh:call_handler calling handler 00006FFFFFF82950 (rec=0000000046EEF630, frame=0000000046EEFFB0 context=0000000046EEEB90, dispatch=0000000046EEEA60)

This is the exact same for every instance the game doesn't open (with the exception of the r8 reg). This exception also is not present when the game window appears.

I am running on an Arch Linux install using Proton Experimental, on a Ryzen 5 7600X and a Radeon RX 6600.

So far today I've tested both with -safemode and without. The two times the game opened was with -safemode, although yesterday I was able to launch the game 3 times without the setting (didn't save logs at the time sadly).

The game has no issue running under both Wayland or X11, and both seem to encounter a weird mouse stuttering/skipping bug after playing for a little while. Noting this because of the mention of an earlier error involving calls to GetDpiAwarenessContextForProcess. EDIT: When I set the game to run in Windowed Borderless, it's been a while and the issue has yet to happen. this might be an issue that only occurs when playing in exclusive fullscreen mode.

I'll try to do more testing, but so far it feels really rare for the game to not crash silently.

degenoah avatar Mar 07 '25 15:03 degenoah

proton hotfix has been fixed

lzq960605 avatar Mar 10 '25 01:03 lzq960605

The game no longer works. Verifying files, deleting compat folder, changing Proton versions etc does nothing.

Image

BlueGoliath avatar Mar 12 '25 23:03 BlueGoliath

Can confirm, I am also encountering the error above on Proton Experimental bleeding-edge Logs suggest an access violation in D3D12.DLL and d3d12core.dll, so I'm guessing one of the recent commits in vkd3d-proton is causing this. Edit: Reverting vkd3d-proton back to https://github.com/HansKristian-Work/vkd3d-proton/commit/078f07f588c849c52fa21c8cfdd1c201465b1932 (since that is the last commit I've tested the game with before the breakage) made the game launch without any problems.

Exotic0015 avatar Mar 13 '25 02:03 Exotic0015

Take note that the game is still working on NVIDIA GPUs with Proton Experimental bleeding-edge. It's not working on AMD GPUs though, so there's some interaction between vkd3d-proton and the GPU driver that prevents it from running.

Patola avatar Mar 14 '25 13:03 Patola

Take note that the game is still working on NVIDIA GPUs with Proton Experimental bleeding-edge. It's not working on AMD GPUs though, so there's some interaction between vkd3d-proton and the GPU driver that prevents it from running.

Where you got this information?

The game works just fine here on AMD GPU (RX6900, proton-experimental).

WildPenquin avatar Mar 14 '25 16:03 WildPenquin

Take note that the game is still working on NVIDIA GPUs with Proton Experimental bleeding-edge. It's not working on AMD GPUs though, so there's some interaction between vkd3d-proton and the GPU driver that prevents it from running.

Where you got this information?

The game works just fine here on AMD GPU (RX6900, proton-experimental).

I don't know what changed, I have tested about 6 hours ago, using my desktop with an RX 7900 XTX on Archlinux with mesa 25.0.1 and I've asked two other friends in chat that have AMDs (7900 XT and 7800 XT), one with Fedora and the other one with Archlinux. We couldn't make it run, it was just showing that "Unable to launch game, please try reinstalling the game".

And for working in NVIDIA, I have a practically identical setup in my laptop but with an NVIDIA RTX 3070.

However now I have just tried to run it again in Proton Experimental bleeding edge and it worked.

UPDATE: just after that, tried starting the game 5 more times and it keeps waiting in the animated "R" window.

UPDATE 2: it still hangs when I press "caps lock" to call Franklin's special ability, but that's on me, still using the same kernel.

Patola avatar Mar 14 '25 16:03 Patola

Confused as to why this game was marked as playable on deck, the original version is still marked as unsupported cause of anticheat and i dont believe anything has changed with this

waspennator avatar Mar 18 '25 13:03 waspennator

@waspennator the singleplayer mode is playable using SteamDeck=1 %command% in the launch options to disable the anticheat, but the online version is not because it requires BattlEye's kernel level anticheat

meir avatar Mar 18 '25 13:03 meir