Bug 74062

Summary: [NVE4] Artifacts in 3D games.
Product: Mesa Reporter: Mario Barrera <mbarrera>
Component: Drivers/DRI/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: 10.0   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Video of a short gameplay in OpenArena where the artifacts can be seen
Blender having artifacts visible only “inside” 3d elements in the design view
Output of dmesg for the system with the issue.
demonstrating more clearly the bug with glxgears

Description Mario Barrera 2014-01-26 01:06:14 UTC
Moving artifacts are present in the rendering of 3D games such as OpenArena or Minetest/Freeminer, happens in glxgears too. However, there is no issue when I use compiz. In blender, the artifacts are visible only “inside” 3d elements.
Comment 1 Mario Barrera 2014-01-26 01:10:45 UTC
Created attachment 92790 [details]
Video of a short gameplay in OpenArena where the artifacts can be seen
Comment 2 Mario Barrera 2014-01-26 01:35:09 UTC
Created attachment 92791 [details]
Blender having artifacts visible only “inside” 3d elements in the design view
Comment 3 Ilia Mirkin 2014-01-27 04:21:27 UTC
What hardware is this with? (dmesg | grep -i chipset). Do you see any nouveau-related errors in dmesg?
Comment 4 Mario Barrera 2014-01-27 22:36:35 UTC
(In reply to comment #3)
> What hardware is this with? (dmesg | grep -i chipset). Do you see any
> nouveau-related errors in dmesg?

Hi Ilia, it is chipset GK104 (NVE4).
I don't see any nouveau related errors in dmesg, only a warning about unknown voltage. I am attaching the output of dmesg.
Comment 5 Mario Barrera 2014-01-27 22:37:42 UTC
Created attachment 92889 [details]
Output of dmesg for the system with the issue.
Comment 6 Ilia Mirkin 2014-01-27 22:44:20 UTC
I think I remember someone else having this style of corruption... e.g. https://bugs.freedesktop.org/attachment.cgi?id=87845 from bug #70326 (for nvf0, but they're sorta similar and the reporter mentions that he saw that issue on a gtx650, which is nve7 probably). Sadly, not the slightest clue as to what's wrong :( Feels like it's just not rendering certain triangles, or doesn't have time to do it, or we're not waiting for it properly... or something else entirely.

I was going to recommend that you try to use blob graph fw, but I see you're already doing that. I suppose going back to the nouveau one causes even worse issues...
Comment 7 Mario Barrera 2014-01-27 23:21:33 UTC
(In reply to comment #6)
> I was going to recommend that you try to use blob graph fw, but I see you're
> already doing that. I suppose going back to the nouveau one causes even
> worse issues...

Actually, the nouveau one has exactly the same issues.
Comment 8 Mario Barrera 2014-02-08 02:07:18 UTC
Probably useful, the artifacts are not present if the OpenGL application is run inside a Xephyr screen, though the performance decreases.
Comment 9 Elias Vanderstuyft 2014-03-15 15:16:44 UTC
On the following link, you can find my experiences of this issue on nouveau with a GTX760 card: 
http://bugzilla.redhat.com/show_bug.cgi?id=1029224

Note that this bug only shows up when running high-end games on high graphics settings.
Other games, like Xonotic don't exhibit this problem (even on high quality) and run very smooth (60-120fps). Nouveau seems to use the lowest clock speed: my GPU idle temp is 32 degrees Celcius and climbs to only maximum 35 degrees Celcius on full load. (so I am quite pleased with nouveau: good performance for nearly no power consumption)
Comment 10 Mario Barrera 2014-03-21 16:23:57 UTC
(In reply to comment #9)
> On the following link, you can find my experiences of this issue on nouveau
> with a GTX760 card: 
> http://bugzilla.redhat.com/show_bug.cgi?id=1029224
> 
> Note that this bug only shows up when running high-end games on high
> graphics settings.
> Other games, like Xonotic don't exhibit this problem (even on high quality)
> and run very smooth (60-120fps). Nouveau seems to use the lowest clock
> speed: my GPU idle temp is 32 degrees Celcius and climbs to only maximum 35
> degrees Celcius on full load. (so I am quite pleased with nouveau: good
> performance for nearly no power consumption)

My issue happens with Xonotic too. I dont know why.
Comment 11 Mario Barrera 2014-05-31 02:39:53 UTC
Created attachment 100185 [details]
demonstrating more clearly the bug with glxgears

The bug being demonstrated with glxgears and resizing it to various window sizes so how the artifacts change can be seen. Note that the artifacts completely disappear when the scene rendering is smaller than a certain size.
Comment 12 Emil Velikov 2014-05-31 03:03:58 UTC
Wild guess - perhaps it's LTCG related ?

You can easily check if that's the case my setting compressed = false in
nvc0_miptree.c:nvc0_miptree_create.
Comment 13 Mario Barrera 2014-05-31 18:47:32 UTC
(In reply to comment #12)
> Wild guess - perhaps it's LTCG related ?
> 
> You can easily check if that's the case my setting compressed = false in
> nvc0_miptree.c:nvc0_miptree_create.

Seems like, I just did what you suggested and all artifacts are gone now (just had to restart any OpenGL program after installing). So I confirm this workaround works for me.
Thanks Emil.
Comment 14 Ben Skeggs 2014-10-12 07:19:23 UTC
It's worth retrying this with Linux 3.17.  I fixed a bug with the same symptoms on a macbook I had access to, but did not expect the same fix to be relevant for the other boards where the issue was reported.

However, I've just had an email saying it's fixed for another guy, so, it's worth a try.
Comment 15 Mario Barrera 2014-10-19 01:29:34 UTC
(In reply to Ben Skeggs from comment #14)
> It's worth retrying this with Linux 3.17.  I fixed a bug with the same
> symptoms on a macbook I had access to, but did not expect the same fix to be
> relevant for the other boards where the issue was reported.
> 
> However, I've just had an email saying it's fixed for another guy, so, it's
> worth a try.

I just compiled Linux 3.17 and found that the bug won't happen with it.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.