Aodh

joined 1 year ago
[–] Aodh@lemmy.eco.br 1 points 1 year ago

By native performance what do you mean?

If it's regarding Windows, I haven't directly tested but found some YouTube videos regarding performance on the game for similar specs to my laptop's (I play in 720p with FSR on) Example

 

I've been having issues with GTA V on Linux too, with performance being heavily affected by a growing ram consumption that either just slows down the game, creates intense stutters, or just makes it freeze entirely by consuming every ram&swap available.

After trying a lot of different things, I have the following notes:

- Regarding FPS and/or stuttering

Using the Epic Games GTA V version, I've had very little success running it through Lutris (using the script for Epic Games available on their website), having severe problems regarding performance from what I assume were shader compiling shenanigans which caused constant heavy stutters, even in areas where shaders were supposedly being compiled/saved and shouldn't keep causing stutters.

I couldn't solve it there and instead just made a clean install through Heroic Launcher, which surprised me in not only having better performance for the game, fps-wise, but also not launching the Epic Store everytime you'd launch the game. Also no issues with shader compilation for me.

- Regarding ever-growing RAM usage

It seems to be an issue not only present in Linux, but also many forums I visited and videos on youtube I watched seem to point out that many users were affected by GTA V consuming ram endlessly, even in lowest settings, as if every area loaded is forever kept loaded into ram and swap even if they didn't need to. This excessive usage of memory lead to slowdowns from swap being used (slower than memory) or complete freezes (not sure if it got this aggressive for other users, but it happened occasionally to me).

To workaround this, I've found out that a few videos on the Windows version of the game mentioned using the -memrestrict launch argument to limit how much memory GTA V could work with. Unfortunately, this is either outdated (as it's no longer mentioned in Rockstar's support page for the game as it's available launch arguments) or simply does not apply on Linux.

However, that method make me think of limiting the ram usage of the whole game using some kind of Linux tool, and one exists already and has been working out for me. Using the systemd-run command, I was able to limit the amount of memory used and have a much nicer experience playing the game, even online, without exhausting RAM or SWAP.

In Heroic Games Launcher, I used it as a Wrapper as --scope -p MemoryHigh=4G -p MemorySwapMax=4G (my laptop has 8GB and a APU, so even with shared memory, this seems to work out ok, do try some other values for the limits as you see fit to your specs/situation)

  • MemorySwapMax works as a limit for swap.
  • MemoryHigh works as a limit for RAM.

For more information on usage of systemd-run and it's arguments for resource control, refer to their [page](Specify the throttling limit on memory usage of the executed processes in this unit. Memory usage may go above the limit if unavoidable, but the processes are heavily slowed down and memory is taken away aggressively in such cases. This is the main mechanism to control memory usage of a unit.).

I don't generally play single-player GTA V, but for Online my results have been an fps range of 38-60, depending on the area (Night clubs, got my eye on you), but mostly it stays in the 48+ range.

  • My specs:

OS: Nobara Linux 38 (Thirty Eight) x86_64

Kernel: 6.4.10-202.fsync.fc38.x86_64

CPU: AMD Ryzen 5 5500U with Radeon Graphics (12) @ 4.056GHz

GPU: AMD ATI 03:00.0 Lucienne (Using amdvlk driver for GTA V, do try the open-source one and see what works best for you)

[–] Aodh@lemmy.eco.br 2 points 1 year ago (2 children)

I've been having issues with GTA V on Linux too, with performance being heavily affected by a growing ram consumption that either just slows down the game, creates intense stutters, or just makes it freeze entirely by consuming every ram&swap available.

After trying a lot of different things, I have the following notes:

- Regarding FPS and/or stuttering

Using the Epic Games GTA V version, I've had very little success running it through Lutris (using the script for Epic Games available on their website), having severe problems regarding performance from what I assume were shader compiling shenanigans which caused constant heavy stutters, even in areas where shaders were supposedly being compiled/saved and shouldn't keep causing stutters.

I couldn't solve it there and instead just made a clean install through Heroic Launcher, which surprised me in not only having better performance for the game, fps-wise, but also not launching the Epic Store everytime you'd launch the game. Also no issues with shader compilation for me.

- Regarding ever-growing RAM usage

It seems to be an issue not only present in Linux, but also many forums I visited and videos on youtube I watched seem to point out that many users were affected by GTA V consuming ram endlessly, even in lowest settings, as if every area loaded is forever kept loaded into ram and swap even if they didn't need to. This excessive usage of memory lead to slowdowns from swap being used (slower than memory) or complete freezes (not sure if it got this aggressive for other users, but it happened occasionally to me).

To workaround this, I've found out that a few videos on the Windows version of the game mentioned using the -memrestrict launch argument to limit how much memory GTA V could work with. Unfortunately, this is either outdated (as it's no longer mentioned in Rockstar's support page for the game as it's available launch arguments) or simply does not apply on Linux.

However, that method make me think of limiting the ram usage of the whole game using some kind of Linux tool, and one exists already and has been working out for me. Using the systemd-run command, I was able to limit the amount of memory used and have a much nicer experience playing the game, even online, without exhausting RAM or SWAP.

In Heroic Games Launcher, I used it as a Wrapper as --scope -p MemoryHigh=4G -p MemorySwapMax=4G (my laptop has 8GB and a APU, so even with shared memory, this seems to work out ok, do try some other values for the limits as you see fit to your specs/situation)

  • MemorySwapMax works as a limit for swap.
  • MemoryHigh works as a limit for RAM.

For more information on usage of systemd-run and it's arguments for resource control, refer to their [page](Specify the throttling limit on memory usage of the executed processes in this unit. Memory usage may go above the limit if unavoidable, but the processes are heavily slowed down and memory is taken away aggressively in such cases. This is the main mechanism to control memory usage of a unit.).

I don't generally play single-player GTA V, but for Online my results have been an fps range of 38-60, depending on the area (Night clubs, got my eye on you), but mostly it stays in the 48+ range.

  • My specs:

OS: Nobara Linux 38 (Thirty Eight) x86_64

Kernel: 6.4.10-202.fsync.fc38.x86_64

CPU: AMD Ryzen 5 5500U with Radeon Graphics (12) @ 4.056GHz

GPU: AMD ATI 03:00.0 Lucienne (Using amdvlk driver for GTA V, do try the open-source one and see what works best for you)

 

I have an issue where I think GTA V is not correctly caching shaders.

Using DXVK_HUD=compiler I can see that it is often compiling shaders, however, after a few hours of playing there's no increase in disk size nor does it stop compiling shaders, even if I stay in a same area/field of view.

Outside of steam games, I have yet to learn about vulkan shader caching, unfortunately I only own this game through Epic.

Is there something I could do to debug/workaround this situation?

[–] Aodh@lemmy.eco.br 6 points 1 year ago

Obtainium maybe? It's the closest I can think of. https://github.com/ImranR98/Obtainium