Created attachment 286855 [details] Low performance and low GPU usage with Tomb Raider (Linux native) Hello, I have been experiencing performance issues with my AMD R9 280X graphics card for several months. On all games (Linux native and Proton), my performance is very low, well below the capabilities of the graphics card. The problem occurred when I migrated my system from Windows to Debian 10. I updated Debian stable to sid in order to have the latest version of the kernel and mesa. When I launch a game, the performances are low and during very complex scenes, the framerate goes down to 10/15 fps with a very low GPU use ~ 18%. The only time I've seen GPU usage hit 98% is in the main menu in Dawn of War II. Changing the graphics settings or the screen resolution changes absolutely nothing. The only game that seems to work well is Shadow Warrior, whose GPU usage rarely exceeds 70%. I have never heard the fans work since my transition to Debian so I used the radeon-profile tool to make sure the fans work manually. I forced the use of the hight profile in order to increase the memory and processor frequency as much as possible, but no difference kentosama@teradrive:~$ uname -a Linux teradrive 5.4.0-2-amd64 #1 SMP Debian 5.4.8-1 (2020-01-05) x86_64 GNU/Linux kentosama@teradrive:~$ glxinfo | grep OpenGL OpenGL vendor string: X.Org OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.35.0, 5.4.0-2-amd64, LLVM 9.0.1) OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.3.2 OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.5 (Compatibility Profile) Mesa 19.3.2 OpenGL shading language version string: 4.50 OpenGL context flags: (none) OpenGL profile mask: compatibility profile OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.3.2 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions: kentosama@teradrive:~$ vblank_mode=0 glxgears ATTENTION: default value of option vblank_mode overridden by environment. 25934 frames in 5.0 seconds = 5186.741 FPS 25239 frames in 5.0 seconds = 5047.634 FPS 25109 frames in 5.0 seconds = 5021.724 FPS 26234 frames in 5.0 seconds = 5246.724 FPS 27341 frames in 5.0 seconds = 5468.155 FPS 26836 frames in 5.0 seconds = 5367.148 FPS 27233 frames in 5.0 seconds = 5446.563 FPS 26164 frames in 5.0 seconds = 5232.749 FPS 26568 frames in 5.0 seconds = 5313.582 FPS 25854 frames in 5.0 seconds = 5170.670 FPS 26857 frames in 5.0 seconds = 5371.198 FPS 25896 frames in 5.0 seconds = 5179.152 FPS 26129 frames in 5.0 seconds = 5225.626 FPS 26181 frames in 5.0 seconds = 5236.104 FPS 25873 frames in 5.0 seconds = 5174.487 FPS 26584 frames in 5.0 seconds = 5316.643 FPS 26448 frames in 5.0 seconds = 5289.565 FPS 27543 frames in 5.0 seconds = 5508.535 FPS 26074 frames in 5.0 seconds = 5214.784 FPS 26551 frames in 5.0 seconds = 5310.126 FPS 27081 frames in 5.0 seconds = 5416.005 FPS 26073 frames in 5.0 seconds = 5214.450 FPS 25781 frames in 5.0 seconds = 5156.146 FPS 26895 frames in 5.0 seconds = 5378.962 FPS 26933 frames in 5.0 seconds = 5386.433 FPS 26197 frames in 5.0 seconds = 5239.087 FPS 26348 frames in 5.0 seconds = 5269.402 FPS 27020 frames in 5.0 seconds = 5403.997 FPS 26684 frames in 5.0 seconds = 5336.700 FPS 26798 frames in 5.0 seconds = 5359.434 FPS 27071 frames in 5.0 seconds = 5414.150 FPS 26068 frames in 5.0 seconds = 5213.525 FPS 25425 frames in 5.0 seconds = 5084.933 FPS 25963 frames in 5.0 seconds = 5192.526 FPS 26528 frames in 5.0 seconds = 5305.459 FPS 29053 frames in 5.0 seconds = 5810.492 FPS 25807 frames in 5.0 seconds = 5161.248 FPS 25978 frames in 5.0 seconds = 5195.598 FPS 25677 frames in 5.0 seconds = 5135.263 FPS 26250 frames in 5.0 seconds = 5249.852 FPS 26988 frames in 5.0 seconds = 5397.509 FPS 26183 frames in 5.0 seconds = 5236.487 FPS 25639 frames in 5.0 seconds = 5127.785 FPS 26207 frames in 5.0 seconds = 5241.383 FPS 25885 frames in 5.0 seconds = 5176.901 FPS 25660 frames in 5.0 seconds = 5131.782 FPS 25256 frames in 5.0 seconds = 5051.157 FPS 26747 frames in 5.0 seconds = 5349.287 FPS 27643 frames in 5.0 seconds = 5528.397 FPS 26030 frames in 5.0 seconds = 5205.866 FPS 26480 frames in 5.0 seconds = 5295.797 FPS 26451 frames in 5.0 seconds = 5290.124 FPS 26050 frames in 5.0 seconds = 5209.895 FPS 26075 frames in 5.0 seconds = 5214.940 FPS 26031 frames in 5.0 seconds = 5206.046 FPS 26157 frames in 5.0 seconds = 5231.230 FPS 26081 frames in 5.0 seconds = 5216.084 FPS 27675 frames in 5.0 seconds = 5534.894 FPS 26755 frames in 5.0 seconds = 5350.956 FPS 25175 frames in 5.0 seconds = 5034.920 FPS kentosama@teradrive:~$ glmark2 -b "terrain" ======================================================= glmark2 2017.07 ======================================================= OpenGL Information GL_VENDOR: X.Org GL_RENDERER: AMD Radeon HD 7900 Series (TAHITI, DRM 3.35.0, 5.4.0-2-amd64, LLVM 9.0.1) GL_VERSION: 4.5 (Compatibility Profile) Mesa 19.3.2 ======================================================= [terrain] <default>: FPS: 1367 FrameTime: 0.732 ms ======================================================= glmark2 Score: 1367 ======================================================= kentosama@teradrive:~$ sudo cat /sys/kernel/debug/dri/0/amdgpu_pm_info Clock Gating Flags Mask: 0x0 Graphics Medium Grain Clock Gating: Off Graphics Medium Grain memory Light Sleep: Off Graphics Coarse Grain Clock Gating: Off Graphics Coarse Grain memory Light Sleep: Off Graphics Coarse Grain Tree Shader Clock Gating: Off Graphics Coarse Grain Tree Shader Light Sleep: Off Graphics Command Processor Light Sleep: Off Graphics Run List Controller Light Sleep: Off Graphics 3D Coarse Grain Clock Gating: Off Graphics 3D Coarse Grain memory Light Sleep: Off Memory Controller Light Sleep: Off Memory Controller Medium Grain Clock Gating: Off System Direct Memory Access Light Sleep: Off System Direct Memory Access Medium Grain Clock Gating: Off Bus Interface Medium Grain Clock Gating: Off Bus Interface Light Sleep: Off Unified Video Decoder Medium Grain Clock Gating: Off Video Compression Engine Medium Grain Clock Gating: Off Host Data Path Light Sleep: Off Host Data Path Medium Grain Clock Gating: Off Digital Right Management Medium Grain Clock Gating: Off Digital Right Management Light Sleep: Off Rom Medium Grain Clock Gating: Off Data Fabric Medium Grain Clock Gating: Off Address Translation Hub Medium Grain Clock Gating: Off Address Translation Hub Light Sleep: Off uvd vclk: 0 dclk: 0 power level 3 sclk: 105000 mclk: 150000 vddc: 1200 vddci: 875 pcie gen: 2 Is there anything I can do to regain "normal" performance? thank you so much
Do things work any better when using the radeon kernel driver rather than amdgpu?
Hello, with the radeonsi driver, the performance is lower than the amdgpu driver. On the same scene in Tomb Raider, the graphics card displays ~ 10fps. I have a lower score with glmark2: kentosama@teradrive:~$ glmark2 -b "terrain" ======================================================= glmark2 2017.07 ======================================================= OpenGL Information GL_VENDOR: X.Org GL_RENDERER: AMD TAHITI (DRM 2.50.0, 5.4.0-2-amd64, LLVM 9.0.1) GL_VERSION: 4.5 (Compatibility Profile) Mesa 19.3.2 ======================================================= [terrain] <default>: FPS: 1280 FrameTime: 0.781 ms ======================================================= glmark2 Score: 1280 ======================================================= But glxgears shows a better result kentosama@teradrive:~$ vblank_mode=0 glxgears ATTENTION: default value of option vblank_mode overridden by environment. 28092 frames in 5.0 seconds = 5618.325 FPS 29931 frames in 5.0 seconds = 5985.997 FPS 28614 frames in 5.0 seconds = 5722.756 FPS 29221 frames in 5.0 seconds = 5844.179 FPS 28387 frames in 5.0 seconds = 5677.356 FPS 29344 frames in 5.0 seconds = 5868.745 FPS 29921 frames in 5.0 seconds = 5984.118 FPS 28185 frames in 5.0 seconds = 5636.796 FPS 29347 frames in 5.0 seconds = 5869.202 FPS 29644 frames in 5.0 seconds = 5928.789 FPS 29234 frames in 5.0 seconds = 5846.652 FPS 28770 frames in 5.0 seconds = 5753.883 FPS 29134 frames in 5.0 seconds = 5826.747 FPS 29706 frames in 5.0 seconds = 5941.031 FPS 29344 frames in 5.0 seconds = 5868.780 FPS 29803 frames in 5.0 seconds = 5960.432 FPS 29425 frames in 5.0 seconds = 5884.889 FPS
radeonsi is the mesa OpenGL driver and runs over both radeon and amdgpu. Are you actually using the radeon kernel driver?
(In reply to Alex Deucher from comment #3) > Are you actually using the radeon kernel driver? "DRM 2.50.0" says yes. :)
(In reply to Alex Deucher from comment #3) > radeonsi is the mesa OpenGL driver and runs over both radeon and amdgpu. > Are you actually using the radeon kernel driver? Yes, i use the radeon driver after comment this line in /etc/modprobe.d/blacklist.conf : #blacklist radeon Actually i run on radeon driver.
Owner and user of tahiti parts on amdgpu with a state of the art gfx stack poping in. I own "rise of the tomb raider" which gnu/linux port is vulkan only, and vulkan is only available with the "amdgpu" kernel module (as far as I know). I have not bought "shadow of the tomb raider", which is vulkan only too (the port was coded by the same company). I did clear "rise of the tomb raider" years ago, I cannot play it anymore because the driver seems to miscompile some shaders and does gpu vm faults (from my save file). I did open a bug. I heard 'southern islands' parts (tahiti...) do suffer from a critical "mip mapping" slowdown bug. That could explain the slugginesh of those hardware parts in 3d intense games (I did almost stop playing "rise of the tomb raider" because the 3d rendering was unpleasantly not smooth enough). If you want, we can try to compare our benchmarks?
I noticed something strange. When I do the Tomb Raider benchmark, the GPU usage is 100% and I hear the fans running at full speed after a few seconds. The bench gives a result of a minimum of 37 fps, a maximum 70fps and an average of 55.3fps with the graphic parameters on ultimate. There is something wrong, because during the "slum" sequence, I get a 10/15 fps framerate with a ridiculous GPU load. screenshot : https://i.ibb.co/PrHj3hV/tombraider.jpg
(In reply to Sylvain BERTRAND from comment #6) > Owner and user of tahiti parts on amdgpu with a state of the art gfx stack > poping in. > > I own "rise of the tomb raider" which gnu/linux port is vulkan only, and > vulkan > is only available with the "amdgpu" kernel module (as far as I know). > > I have not bought "shadow of the tomb raider", which is vulkan only too (the > port was coded by the same company). > > I did clear "rise of the tomb raider" years ago, I cannot play it anymore > because the driver seems to miscompile some shaders and does gpu vm faults > (from my save file). I did open a bug. > > I heard 'southern islands' parts (tahiti...) do suffer from a critical "mip > mapping" slowdown bug. That could explain the slugginesh of those hardware > parts in 3d intense games (I did almost stop playing "rise of the tomb > raider" > because the 3d rendering was unpleasantly not smooth enough). > > If you want, we can try to compare our benchmarks? Sure, but I only have the first Tomb Raider, the one released in 2013 it seems to me. Do you know a command to record the game framerate log ?
On Fri, Jan 17, 2020 at 06:45:28PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > screenshot : https://i.ibb.co/PrHj3hV/tombraider.jpg This seems to be from "shadow of the tomb raider" which I don't "own". Do you "own" "rise of the tomb raider", the previous tomb raider game (which I "own")?
Wow, this from the first tomb raider, the one from 2013!! (7 years ago). Sorry I read the emails in the wrong order. I don't know own this game, sorry. Another game perhaps?
Dota2? (vulkan and GL) CS:GO? (GL) Those games are free.
The framerate with CS GO is not good with graphics on "high". I tried the Dust II map and I get a maximum of 90 fps in some places, a minimum of ~ 50 fps looking towards "middle" where the main door is. It seems very weak to me. For Dota 2 with Vulkan, the game runs at more than 100 fps in some places, but with a some elements on the screen, it's more around ~ 60fps. I noticed that as with other games, GPU usage is always low when there is a need for performance. Screenshtos: https://i.ibb.co/BTknwjH/csgo.jpg https://i.ibb.co/c35Rxmg/dota2.jpg
What is your CPU?
BTW, your screenshots are of too low quality to be readable. And what is the tool you user to overlay amd gpu performance? (vulkan?)
(In reply to Sylvain BERTRAND from comment #14) > BTW, your screenshots are of too low quality to be readable. > And what is the tool you user to overlay amd gpu performance? (vulkan?) Sorry you can view the full resolution here : https://ibb.co/GCmHFkf https://ibb.co/ZXsvNZL I use Gallium HUD with this options : GALLIUM_HUD="fps,cpu,GPU-load,VRAM-usage,draw-calls" %command% (In reply to Sylvain BERTRAND from comment #13) > What is your CPU? My is CPU is an AMD FX 8320
On Sat, Jan 18, 2020 at 03:00:49PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://ibb.co/GCmHFkf > https://ibb.co/ZXsvNZL Still the unreadable screenshots. huh?? > I use Gallium HUD with this options : Gallium HUD does not work with vulkan (as far as I know), hence for dota2 vulkan. In dota2 you have an option to display the 3d engine(valve source2) fps. In cs:go, there is a way to enable the 3d engine(valve source1) fps display. It is via the "console", see google.com. > My is CPU is an AMD FX 8320 I have a FX9590, then our benchmarks should be mostly the same.
(In reply to Sylvain BERTRAND from comment #16) > On Sat, Jan 18, 2020 at 03:00:49PM +0000, > bugzilla-daemon@bugzilla.kernel.org wrote: > > https://ibb.co/GCmHFkf > > https://ibb.co/ZXsvNZL > > Still the unreadable screenshots. huh?? > > > I use Gallium HUD with this options : > > Gallium HUD does not work with vulkan (as far as I know), hence for dota2 > vulkan. > In dota2 you have an option to display the 3d engine(valve source2) fps. > > In cs:go, there is a way to enable the 3d engine(valve source1) fps display. > It is via the "console", see google.com. > > > My is CPU is an AMD FX 8320 > > I have a FX9590, then our benchmarks should be mostly the same. I downloaded the Vulkan DLC and active the FPS in Dota 2. I get between ~80 and 90 fps : https://cdn.discordapp.com/attachments/410134758891323400/668192505740787762/20200118213508_1.jpg https://cdn.discordapp.com/attachments/410134758891323400/668192505740787762/20200118213508_1.jpg For CSGO, i get between ~70 and +100fps : https://cdn.discordapp.com/attachments/410134758891323400/668197367094181899/20200118215441_1.jpg https://cdn.discordapp.com/attachments/410134758891323400/668197384995733504/20200118215612_1.jpg
On Sat, Jan 18, 2020 at 08:59:14PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > I downloaded the Vulkan DLC and active the FPS in Dota 2. I get between ~80 > and > 90 fps : I have ~ the same fps (even though it can go somewhat below in intense team fights) > For CSGO, i get between ~70 and +100fps : I have ~ the same for competitive maps. For danger zone maps, namely big open maps, csgo 3d engine has disastrous performance. Valve is aware of the problem. It seems there is a kind of cpu cap somewhere since max or lowest 3d settings does not seem to impact significantly the performance. Don't forget: I heard southern island parts suffer from a critical mip mapping bug/slowdown. ---- The real benchmark is how much time and how often the fps goes below 60 in the worst realistic conditions (average does not matter). ---- I did re-install "rise of the tomb raider", I still get gpu vm faults. If I recall properly "bioshock infinite" is gpu nasty even though it is a GL game.
Maybe that will help find the problem, but are record a video from Tomb Raider and The Witcher 2. Tomb Raider: https://youtu.be/0olpvLBH9DA The Witcher 2: https://youtu.be/wRx_2qJIq8c
On Sun, Jan 19, 2020 at 01:11:15PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > Tomb Raider: https://youtu.be/0olpvLBH9DA Indeed, this is obvious here This vid rekt of the mip mapping hardware slow down bug... but I may be totally wrong due to the insane complexity of the GL stack.
Yesterday, I compiled and installed the 5.4.13 kernel, but got no improvements.
On Tue, Jan 21, 2020 at 08:01:49AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > Yesterday, I compiled and installed the 5.4.13 kernel, but got no > improvements. Only the AMD/mesa devs can reasonably deal with the insane complexity of the GL stack (linux(drm) + libdrm + llvm + mesa(GL) + xserver + xf86-video-amdgpu). But they won't be able to do anything if you don't run the latest git version of the code (linux + mesa) and provide an easily reproducible and free (as in free beer) case (or some AMD/mesa devs own your games). -------------------------------------------------------------------------------- I run such a 64bits system. If you can reproduce the issue with a free (as in free beer) game, I'll be pleased to test it to see if it happens on my system. or You would need to compile and run the following linux kernel: "git://people.freedesktop.org/~agd5f/linux branch", "amd-staging-drm-next" branch Unfortunately, Southern Islands hardware shader compiler is llvm, you would need to compile the latest git llvm-project (a massive pain). Idem for libdrm, mesa, the xserver, and the amdgpu xserver driver. --------------------------------------------------------------------------------
(In reply to Sylvain BERTRAND from comment #22) > Only the AMD/mesa devs can reasonably deal with the insane complexity of the > GL > stack (linux(drm) + libdrm + llvm + mesa(GL) + xserver + xf86-video-amdgpu). Is this roughly the same model every GPU vendor uses. GPUs are complex.
> --- Comment #23 from Alex Deucher (alexdeucher@gmail.com) --- > Is this roughly the same model every GPU vendor uses. GPUs are complex. No offense intended! It is obvious that the maths being the same for everybody, sensible hardware models will all look alike. It was more to underline the significant "technical cost" difference between GL and vulkan. To come back to this issue, I was willing to help this user "secure" a real issue by reproducing it (since I run everything git) and provide a reasonable context (free as in free beer) for you guys.
I tried to compile the kernel "amd-staging-drm-next" but it's a horror, nothing works during compilation. I just tried Dirt Rally which a Vulkan game, the performance is not good. I get an average of 30 fps at the benchmark result while the game is supposed to run at 60 fps in ultra setting. Could changing distrbution help?
Yes ! I forgot to check the output of dmesg | err! Here are lots of nice messages while playing Tomb Raider : 80456.046410] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0004880c [80456.046414] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [80456.046416] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0408800C [80456.046418] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 2) at page 0, read from '' (0x00000000) (136) [80456.324714] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0004880c [80456.324721] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [80456.324723] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0408800C [80456.324727] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 2) at page 0, read from '' (0x00000000) (136) [80456.422582] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0004880c [80456.422593] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [80456.422599] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0408800C [80456.422606] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 2) at page 0, read from '' (0x00000000) (136) [80473.031594] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000e880c [80473.031601] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [80473.031605] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0E08800C [80473.031610] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 7) at page 0, read from '' (0x00000000) (136) [80477.432789] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0008880c [80477.432795] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [80477.432797] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0808800C [80477.432801] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 4) at page 0, read from '' (0x00000000) (136) [80480.828014] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [80480.828025] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [80480.828031] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [80480.828040] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [81054.557056] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0008880c [81054.557062] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [81054.557064] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0808800C [81054.557067] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 4) at page 0, read from '' (0x00000000) (136) [81054.640152] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0004880c [81054.640161] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [81054.640165] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0408800C [81054.640171] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 2) at page 0, read from '' (0x00000000) (136) [81054.722106] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0004880c [81054.722116] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [81054.722120] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0408800C [81054.722126] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 2) at page 0, read from '' (0x00000000) (136) [95566.215198] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0002880c [95566.215204] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95566.215208] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0208800C [95566.215212] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 1) at page 0, read from '' (0x00000000) (136) [95566.230108] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0002880c [95566.230114] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95566.230117] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0208800C [95566.230120] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 1) at page 0, read from '' (0x00000000) (136) [95566.278914] amdgpu 0000:01:00.0: GPU fault detected: 146 0x0002880c [95566.278923] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95566.278927] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0208800C [95566.278933] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 1) at page 0, read from '' (0x00000000) (136) [95566.299712] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95566.299722] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95566.299727] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95566.299733] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95566.318446] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95566.318450] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95566.318451] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95566.318454] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95566.380189] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95566.380193] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95566.380195] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95566.380198] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95566.400966] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95566.400972] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95566.400976] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95566.400980] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95566.420512] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95566.420516] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95566.420518] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95566.420521] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95566.439104] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95566.439111] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95566.439114] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95566.439119] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95566.459230] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95566.459237] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95566.459240] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95566.459245] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95571.227323] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95571.227329] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95571.227333] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95571.227338] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95571.247587] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95571.247594] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95571.247598] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95571.247603] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95571.267222] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95571.267226] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95571.267227] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95571.267233] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95571.287203] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95571.287208] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95571.287210] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95571.287213] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95571.311337] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95571.311343] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95571.311346] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95571.311350] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95571.335510] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95571.335515] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95571.335517] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95571.335520] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95571.357131] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95571.357136] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95571.357138] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95571.357141] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95571.381006] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95571.381014] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95571.381020] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95571.381026] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95571.402502] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95571.402513] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95571.402518] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95571.402525] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136) [95571.424923] amdgpu 0000:01:00.0: GPU fault detected: 146 0x000a880c [95571.424930] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00000000 [95571.424934] amdgpu 0000:01:00.0: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0A08800C [95571.424939] amdgpu 0000:01:00.0: VM fault (0x0c, vmid 5) at page 0, read from '' (0x00000000) (136)
Dirt Rally is a GL game, not a vulkan game. It happens I have it in my library even though I don't recall to buy it. Anyway I did run the included benchmark: - cpu governor to performance - monitor refresh rate 144Hz - 1920x1080 - 8xmsaa - _no_ vsync - everything to max avg fps: ~48fps low fps: ~30fps max fps: ~60fps I get several GPU vm faults in dmesg too, but no crash (like in vulkan "rise of the tomb raider").
Actually I should have restarted the game. I did reboot in a clean state and did set "performance" on the gpu as well. Here are the results of "clean" benchmark run: avg fps ~ 20fps min fps ~ 15fps max fps ~ 40fps Still getting gpu vm faults in dmesg.
Indeed Dirt Rally is an OpenGL game. I thought it was Vulkan, because I didn't see the HUD from Gallium, but it was an error in the settings. The result benchmark in ultra (1920x1080, 8xmssa, no vsync): avg fps ~ 23fps min fps ~ 15fps max fps ~ 31fps
This is consistent with what I have. I did a clean benchmark run, but this time everything to low/off, but still 1920x1080: avg fps ~250fps min fps ~200fps max fps ~350fps Still getting gpu vm faults in dmesg. I run everything git and amd-staging-drm-next no older than 1 week.
Is there a reason to have such poor performance with Dirt Rally compared to the Windows version which should run at an average of 70fps during the benchmark? I noticed that the GPU load was low on the benchmark unlike other circuits where the GPU load is 100%.
> Is there a reason to have such poor performance with Dirt Rally compared to > the > Windows version which should run at an average of 70fps during the benchmark? > I > noticed that the GPU load was low on the benchmark unlike other circuits > where > the GPU load is 100%. Ok. What settings did you use in the benchmark to compare dirt 3d engine on windowsDX and linuxGL(mesa)? all to max(often ultra)/on? with msaa? We must run exactly the same settings.
Windows has a much bigger team supporting it and optimizing for specific games.
(In reply to Sylvain BERTRAND from comment #32) > > Is there a reason to have such poor performance with Dirt Rally compared to > > the > > Windows version which should run at an average of 70fps during the > benchmark? > > I > > noticed that the GPU load was low on the benchmark unlike other circuits > > where > > the GPU load is 100%. > > Ok. What settings did you use in the benchmark to compare dirt 3d engine on > windowsDX and linuxGL(mesa)? all to max(often ultra)/on? with msaa? > > We must run exactly the same settings. Ultra settings with 8xmsaa, no vsync and 1920x1080. I base myself on the different benchmarks visible on Windows in ultra with the R9 280X and 8320. I did a benchmark with the settings on low, no xmsaa, no vsync: min: 48fps average: 71fps max: 95fps I run a benchmark with Heaven 4.0 with ultra settings : FPS: 31.4 Score: 790 Min FPS:9.2 Max FPS: 71.8
On Thu, Jan 23, 2020 at 09:21:05PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=206231 > > --- Comment #34 from Jacques Belosoukinski (kentosama@whiteninjastudio.com) > --- > > > Windows version which should run at an average of 70fps during the... > Ultra settings with 8xmsaa, no vsync and 1920x1080.... So you say that: everything to max/ultra/on + 8xmsaa an 1920x1080, on windows, you get avg 70fps? yes or no? If yes, what are the max and min fps?
No, I do not have Windows on this computer. There are several benchmark results available, moreover I noticed that Mesa has much lower performance compared to DirectX on Dirt Rally and other games. I was convinced that Mesa was equivalent to DirectX, but it seems that OpenGL is much slower. It could therefore be "normal" performance if Mesa 3D is actually slower than DirectX. I just compiled mesa from the git. I don't expect a difference in performance meaning, but I can hope so.
Mesa 20 was installed : OpenGL vendor string: X.Org OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.35.0, 5.4.13-amd64, LLVM 9.0.1) OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.0-devel (git-ac0219cc5b) OpenGL core profile shading language version string: 4.60 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.0-devel (git-ac0219cc5b) OpenGL shading language version string: 4.60 OpenGL context flags: (none) OpenGL profile mask: compatibility profile OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.0.0-devel (git-ac0219cc5b) OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions: New bench with ultra settings, 8 xmsaa and 1920x1080: min: 14fps average: 19fps max: 27fps Now the GPU is at 100% load during the whole bench, but I didn't hear the fans start.
On Thu, Jan 23, 2020 at 10:05:26PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > --- Comment #36 from Jacques Belosoukinski (kentosama@whiteninjastudio.com) > --- > No, I do not have Windows on this computer. There are several benchmark > results > available, moreover I noticed that Mesa has much lower performance compared > to > DirectX on Dirt Rally and other games. ok. Then we don't have numbers to compare to and weight how much mesaGL is worse than dx for dirt rally 3D engine (modulo the hardware bugs/gpu vm faults/etc). > New bench with ultra settings, 8 xmsaa and 1920x1080: > min: 14fps > average: 19fps > max: 27fps I guess, one would use the presets to get a min fps close to 60fps and ajust with the advanced settings.
I did different tests and there is a real bug. With Dirt Rally in ultra, if I use 8mxsaa, I have miserable performance. If I set 0mxsaa in game, the performance is + ~60 fps. If I reactivate the 8mxsaa, the performances are very good between ~50 and ~70 fps. This is not normal. With the game Dawn of War II, the framerate is ~48 fps in ultra, high, normal, low. It is really very strange. I noticed that the performances are good after a big lag. This was the case with Dirt Rally, on a race, the game freeze for a few seconds then suddenly, the game run with than ~ 60fps. In the game Dead or Alive 5 (Proton), the performances were from ~ 40 to ~ 50fps. After a lag, the game worked very well at 60fps contant.
Yep. this looks like a real critical software and/or hardware bug. Like the one you did show it the tomb raider vid. If you could reproduce with a free game, that would be better for the amd devs. I'll fool around a bit more with dirt rally (don't forget to restart the game each time you change the settings...)
The core version of Dead or Alive 5 is free : https://store.steampowered.com/app/311730/DEAD_OR_ALIVE_5_Last_Round_Core_Fighters/ The game works well, but as I reported, the framerate is very low during the first few minutes of play. I don't know if this is a problem with Proton or Mesa. I keep looking for free or popular Linux games, but there isn't much.
WOW: I did reproduce with dirt rally. I could not see it because the game must not be restarted to "uncripple" the renderer. I used the number or rendered frames and I go from an horrible 3000-5000 frames to a wooping 11000 frames, not to mention the game is now ~playable to max/ultra settings. I had to run 2 times in a row the benchmark to "uncripple" the renderer, or fool around with the msaa settings (without restarting). And I get ~11000 frames with msaax8 or msaaoff (and I can clearly see when it is on or off). Since you can reproduce with other games-->Yep, it is very probably a set driver/weird hardware critical bugs (modulo the numerous visual glitches and gpu vm faults). @alex: this one is nasty and probably will ruin the gaming experience (and benchmarks!) on many games. (@Jacques: Proton games do not do. Only native GL and/or vulkan, that to remove any proton bugs)
The first time you run the game the shaders are not cached and you may see large compile times. The next time you run the game the shaders are cached and you avoid the compiling delays.
On Fri, Jan 24, 2020 at 09:24:57PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=206231 > > --- Comment #43 from Alex Deucher (alexdeucher@gmail.com) --- > The first time you run the game the shaders are not cached and you may see > large compile times. The next time you run the game the shaders are cached > and > you avoid the compiling delays. I did not erazed the disk shader cache since the first time I did run the game. Then the game is loading the shaders straight from the disk cache. In other words, this presumes the shaders submitted for compilation by dirt rally engine are different each time the game is run ???
On Fri, Jan 24, 2020 at 09:47:44PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > In other words, this presumes the shaders submitted for compilation by dirt > rally engine are different each time the game is run ??? It may be related to the brand new mesa/src/gallium/auxiliary/util/u_live_shader_cache.c I don't know the inner details of this (I stay away from anything GL), but it seems there are some GL shader usages which which will trigger a full compilation of an already compiled shader. @alex, maybe that's what you were talking about? As I said, I may be totally wrong though.