Created attachment 141292 [details]
screenshot of bug in RAGE
The game RAGE starts and runs, but have some quite severe texture problems. See attached screenshot. The problem is especially bad when loading new areas.
Settings these options in default.cfg minimizes but doesn't get rid of the bug fully:
as suggested in https://store.steampowered.com/news/6464/
This bug looks quite a lot like one that plagued the Windows drivers (ATI Performance) back when the game was released:
I have seen video of RAGE rendering fine with radeonsi (https://www.youtube.com/watch?v=OgqgNrN16KM) so I tried jumping back quite a few Mesa releases* to see if there was a regression somewhere, but AFAICT it is still there as far back as 11.2.2.
I'm guessing the bug happened as a change from radeon to amdgpu on the kernel side?
* Using a hack for Wine to skip the check for a compat profile.
-- system architecture: 64-bit
-- Linux distribution: Debian unstable
-- GPU: TONGA
-- Model: Asus Strix R9 285 2GB
-- Display connector: DVI
-- xf86-video-amdgpu: 18.0.1
-- xserver: 1.20.1
-- mesa: 18.2.0~rc4
-- drm: 2.4.93
-- kernel: 4.17
As far as I can tell this is a game bug that was never actually fixed. It seems they did some transcoding on Nvidia via CUDA which helped reduce the problem there but never bothered to fix it for AMD cards.
There are other config settings suggested I'm afraid you will just have to experiment.
Created attachment 141396 [details]
rendering on i965/skylake
Can't say that I agree. Attached is a screenshot from the same place in the game, with the same settings on i965/Skylake, no texture bug. Software rendering with llvmpipe is likewise fine.
Maybe you're thinking of the notorious texture pop-ins? This is quite a different problem.
The second video clip I linked to was recorded on a Tahiti GPU in 2016 and was presumably using radeon and not amdgpu. Probably why my regression testing lead nowhere.
This bug does not occur on the 64-bit version of the game only the 32-bit. The 32-bit is very unstable for me also, it crashes quite often.
Unfortunately, the 64-bit version's in-game audio is broken on Proton currently.
I have spent hours testing different settings on and off for over a year, never managed to find a setting that cured the issue. The game works fine on proprietary drivers.
-- Arch 64-bit
-- GPU: RX Vega 56
-- Mesa 18.3.0-devel (git-e345247092)
-- Kernel 4.18.5
(In reply to Sven Arvidsson from comment #2)
> Created attachment 141396 [details]
> rendering on i965/skylake
> Can't say that I agree. Attached is a screenshot from the same place in the
> game, with the same settings on i965/Skylake, no texture bug. Software
> rendering with llvmpipe is likewise fine.
> Maybe you're thinking of the notorious texture pop-ins? This is quite a
> different problem.
> The second video clip I linked to was recorded on a Tahiti GPU in 2016 and
> was presumably using radeon and not amdgpu. Probably why my regression
> testing lead nowhere.
Well I'll reopen the bug in case someone else takes a look. However unlike comment #3 I have see the bug on 64-bit also and the issues in not present when replaying an apitrace both of these things lead me to believe this is a game bug.
The youtube video linked in the first comment has very likely been taken with gallium nine (gearsongallium mentionned in the video was a website of a gallium nine tester with a lot of performance comparisons and tests, plus a distro with gallium nine).
Then maybe the 64 bit version of the game was used, since comment 3 mentions t his version works better. I haven't tested the game myself.
(In reply to Axel Davy from comment #5)
> The youtube video linked in the first comment has very likely been taken
> with gallium nine (gearsongallium mentionned in the video was a website of a
> gallium nine tester with a lot of performance comparisons and tests, plus a
> distro with gallium nine).
> Then maybe the 64 bit version of the game was used, since comment 3 mentions
> t his version works better. I haven't tested the game myself.
The game uses OpenGL, so gallium nine wouldn't make a difference. Could very well be 64bit though.
I was quite convinced that it was something specific to AMD given that the 11.11a catalyst driver is specifically mentioned as fix for a very similar problem, and the release notes mention fixes specific to the 32bit version.
I'm not so sure anymore though, if it is reproducible on 64bit too.
There's also this an entry about a similar problem on the PC Gaming Wiki, suggestions include turning off anisotropic filter, antialiasing or Catalyst A.I. (whatever that is?):
Even if it is a game bug, it would be nice to find a workaround.
For all my searching it seemed AMD released multiple "fixes" for this game but people were still reporting issues many years after the release .
All tests performed with same settings.
- Rage 32-bit on Windows 10: Works perfect out of the box no performance issues, no issue with the virtual textures, no texture pop-in bug. I noticed the player shadow wasn't rendered correctly, but everything else is fine.
Rage.exe RAM usage ~1,370MB on the Wasteland map.
- Rage 32-bit on Ubuntu w/ 18.20 Pro drivers: I experience good performance out of the box but the virtual textures bug is present although very minor. Can be totally cured by setting "jobs_numThreads 1", texture pop in bug still persists.
Rage.exe RAM usage ~780MB on the Wasteland map.
- Rage 32-bit on Arch w/ latest mesa-git: Massive issue with virtual textures unless you set "jobs_numThreads 1" which reduces but doesn't fix the issue, frame rate dips to 30-40fps in certain areas of the wasteland and the "texture pop" is there regardless even if you enabled the texture cache, set the maxPPF etc.
Rage.exe RAM usage ~730MB on the Wasteland map.
Adding "+com_allowconsole 1" to the launch options using "toggle vt_showPageNumbers; vt_restart" you can see the wrong mipmap level and texture numbers are being loaded for some of the tiles.
I'm wondering if somebody at AMD would have access to the changelogs for the proprietary drivers back when the Rage patches were first introduced, it would atleast point you in the right direction.
Heres a video I made comparing 32/64-bit versions on my system: https://www.youtube.com/watch?v=EUwq4dbnFkA
(In reply to Sven Arvidsson from comment #6)
> There's also this an entry about a similar problem on the PC Gaming Wiki
The Wiki as well as many other guides recommend to set fc_maxcachememoryMB to a higher value. I noticed that on Proton, the highest value I can set is 96 (which is the default). Can this actually be set to values of 1024 and higher on Windows?
(In reply to James B from comment #8)
> Heres a video I made comparing 32/64-bit versions on my system:
Same results on my system (RX 580) running Ubuntu and Padoka PPA.
It would be nice to be able to play the 32 bit version as it supports achievements, which the 64 bit version does not.
Seems like in Windows the problem is solved with AMD Catalyst Control Center by turning on 'Surface Format Optimization' option.
Maybe this can give some hints on how to solve this in Linux.