Bug 16978 - "tile offscreen pixmaps" causing graphics corruption on NV50?
Summary: "tile offscreen pixmaps" causing graphics corruption on NV50?
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-03 16:18 UTC by Chris Lamb
Modified: 2009-12-03 03:06 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Chris Lamb 2008-08-03 16:18:20 UTC
Hi,

(Shamelessly Cc'ing Ben Skeggs as he authored the offending commits)

Am seeing some graphics corruption on nouveau with my 8600 GT consisting of odd black or white speckles on some widgets.

It's especially noticable on the folder list of the Claws Mail mail client, but also appears as white horizontal lines in a gnome-terminal window after some time. Please ask if a photo would be useful.

I've bisected it as follows:

 * Working version:
   - drm
       401f77a2ef1d55feaccc13cdae1e5379f4cfec7e
       i915: official name for GM45 chipset
       Zhenyu Wang <zhenyu.z.wang@intel.com>
   - nouveau
       5c1deac8384413dc483238f60c366e98253c11d6
       exa: pass window coords to m2mf-based UTS/DFS
       Ben Skeggs <skeggsb@gmail.com>

 * Broken version:
   - drm
       c7ed2c67916ee8058301c53b9d4690d81728fb95
       nouveau: interface changes for nv5x 3d
       Ben Skeggs <skeggsb@gmail.com>
   - nouveau
       33fad279e935a5a134ee5cc1777b8ed7510101d0
       nv50: tile offscreen pixmaps
       Ben Skeggs <skeggsb@gmail.com>

I don't know whether it is nouveau or drm commit that is causing the issue - the "bad" nouveau commit requires a newer drm than its working neighbour (bumps NOUVEAU_DRM_HEADER_PATCHLEVEL). I would guess it was the "tile offscreen pixmaps" commit though.

Am running Linux 2.6.25/2.6.26 on x86_64.

Regards,
Comment 1 Ben Skeggs 2008-08-04 00:44:35 UTC
Am Sonntag, den 03.08.2008, 16:18 -0700 schrieb
bugzilla-daemon@freedesktop.org:
> http://bugs.freedesktop.org/show_bug.cgi?id=16978
> 
>            Summary: "tile offscreen pixmaps" causing graphics corruption on
>                     NV50?
>            Product: xorg
>            Version: unspecified
>           Platform: Other
>         OS/Version: All
>             Status: NEW
>           Severity: normal
>           Priority: medium
>          Component: Driver/nouveau
>         AssignedTo: nouveau@lists.freedesktop.org
>         ReportedBy: chris@chris-lamb.co.uk
>          QAContact: xorg-team@lists.x.org
>                 CC: skeggsb@gmail.com
> 
> 
> Hi,
> 
> (Shamelessly Cc'ing Ben Skeggs as he authored the offending commits)
Not necessary, unsurprisingly I'm subscribed :)

> 
> Am seeing some graphics corruption on nouveau with my 8600 GT consisting of odd
> black or white speckles on some widgets.
> 
> It's especially noticable on the folder list of the Claws Mail mail client, but
> also appears as white horizontal lines in a gnome-terminal window after some
> time. Please ask if a photo would be useful.
Yeah I'm very much aware of the issue, there's probably some gaps in our
understanding of how the tiled surface stuff works on nv5x chips.

However, the commit also allowed me to implement Xv and XRENDER
acceleration (the 3D engine *must* use tiled surfaces, it'll refuse
anything else), and the corruption is minor in most cases - so I decided
people could live with it for now.

I will note that I use the driver myself, on my main desktop machine -
so I eat my own dog food :)

We'll figure it out eventually, but as we have no nice docs like the
radeon guys it could take time.

Cheers,
Ben.
> 
> I've bisected it as follows:
> 
>  * Working version:
>    - drm
>        401f77a2ef1d55feaccc13cdae1e5379f4cfec7e
>        i915: official name for GM45 chipset
>        Zhenyu Wang <zhenyu.z.wang@intel.com>
>    - nouveau
>        5c1deac8384413dc483238f60c366e98253c11d6
>        exa: pass window coords to m2mf-based UTS/DFS
>        Ben Skeggs <skeggsb@gmail.com>
> 
>  * Broken version:
>    - drm
>        c7ed2c67916ee8058301c53b9d4690d81728fb95
>        nouveau: interface changes for nv5x 3d
>        Ben Skeggs <skeggsb@gmail.com>
>    - nouveau
>        33fad279e935a5a134ee5cc1777b8ed7510101d0
>        nv50: tile offscreen pixmaps
>        Ben Skeggs <skeggsb@gmail.com>
> 
> I don't know whether it is nouveau or drm commit that is causing the issue -
> the "bad" nouveau commit requires a newer drm than its working neighbour (bumps
> NOUVEAU_DRM_HEADER_PATCHLEVEL). I would guess it was the "tile offscreen
> pixmaps" commit though.
> 
> Am running Linux 2.6.25/2.6.26 on x86_64.
> 
> Regards,
> 
> 
Comment 2 Ben Skeggs 2009-01-08 17:49:36 UTC
Should be OK now, marking as fixed.  Please re-open if it's not :)
Comment 3 Chris Lamb 2009-01-12 17:13:15 UTC
Alas, this doesn't seem fixed for me; I'm still consistently seeing minor speckles on some widgets.

Ben, was you recent change to nouveau_xv.c intended to close this? If so, I'm fairly sure this issue is different from any xv corruption.

Regards,
Comment 4 Ben Skeggs 2009-01-12 17:28:42 UTC
No, the Xv commit was unrelated.  Did you, by any chance, see if you were still effected by this bug with the patches listed at http://nouveau.freedesktop.org/wiki/NV50Support?

An alternative to trying those patches is to use the "ng" branches of drm git, and xf86-video-nouveau git and see if the corruption appears there also.  However, this isn't an option you'll want to currently use on a day-to-day basis, it's very buggy still.

With either option you shouldn't see any rendering issues (though fwiw, I don't see any without them), if you still do, there's something else going on with you card that we'll need to track down.
Comment 5 Chris Lamb 2009-07-08 14:03:00 UTC
Unfortunately, I didn't get around to looking at those patches. However, sometime over the last few months it cleared itself up. You can probably go ahead and close this bug now. Thanks again.


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.