Bug 2627 - Neomagic 256AV (NM2200) rendering artifacts from XAA solid fills
Summary: Neomagic 256AV (NM2200) rendering artifacts from XAA solid fills
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Neomagic (show other bugs)
Version: 6.8.2
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Egbert Eich
QA Contact:
URL:
Whiteboard:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2005-02-28 04:41 UTC by Joachim Frieben
Modified: 2005-07-05 13:47 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
X.org 6.8.2 Neomagic 256AV (NM2200) screenshot on TP 600E (16.64 KB, image/png)
2005-02-28 04:42 UTC, Joachim Frieben
no flags Details
Fix for several issues (hopefully including the one reported here) (2.33 KB, patch)
2005-04-11 02:46 UTC, Egbert Eich
eich: 6.8-branch?
Details | Splinter Review

Description Joachim Frieben 2005-02-28 04:41:33 UTC
After upgrading from release 6.8.1 to release 6.8.2 for an IBM Thinkpad 600E
notebook running FC3, artifacts appear in the upper part of the desktop which
result from erroneous mirroring of objects in the lower part of the screen. The
operating mode is 1280x1024 pixel ("externdisp") at 16 bpp which requires the
total 2560 KB of video memory available on this notebook. The artifacts
(screenshot attached) disappear when clicking the background.
The phenomenon only becomes visible for resolutions higher than the standard
1024 x 768 pixels of the internal LCD. The ghost images can be by prevented by
adding the "ShadowFB" option to the "xorg.conf" device section.
It is also worth mentioning that this behaviour which had been absent from
release 6.7.0 showed up for some 6.8 prerelease, but had gone away as the final
6.8 release went public.
Comment 1 Joachim Frieben 2005-02-28 04:42:54 UTC
Created attachment 1988 [details]
X.org 6.8.2 Neomagic 256AV (NM2200) screenshot on TP 600E
Comment 2 Joachim Frieben 2005-02-28 04:54:02 UTC
Initially posted by myself as Red Hat Bugzilla Bug (#127574):

https://bugzilla.redhat.com/beta/show_bug.cgi?id=127574

Accordingly, I have to correct myself: it got posted as a 6.7.0 bug in the first
place. My previous comment that the artifacts only appeared for some 6.8 beta
release was wrong.
Comment 3 Adam Jackson 2005-02-28 09:11:51 UTC
Do the artifacts go away if you turn XAA off?  If so, could you locate which XAA
operation is causing the problem?

You can disable XAA entirely using Option "NoAccel", and individual XAA
operations with Option "XaaNo...", where the available operations are documented
in xorg.conf.  All of these options go in your xorg.conf's Screen section.
Comment 4 Joachim Frieben 2005-03-01 01:25:46 UTC
As I wrote in my original posting, the "ShadowFB" option cures the artifact
flaw. Adding the plain "noaccel" option is an utterly worse choice because in
this case, there is no acceleration at all, and X becomes extremely sluggish.
I have localized the accelerated feature which is responsible of the reported
behaviour: by no surprise at all, adding the "XaaNoSolidFillRect" option to the
"xorg.conf" file solves the problem. The X desktop remains quite responsive in
this case, comparable to adding the "ShadowFB" option itself.
Comment 5 Adam Jackson 2005-03-01 08:35:37 UTC
I wasn't suggesting that NoAccel was a usable configuration, just that it would
help us in localizing the problem.
Comment 6 Egbert Eich 2005-03-03 10:34:33 UTC
OK, I'll take a look at this once I find time.
Comment 7 Egbert Eich 2005-04-11 02:46:27 UTC
Created attachment 2386 [details] [review]
Fix for several issues (hopefully including the one reported here)

This fix 
- eliminates the doublescan modes above 1024 lines hight.
- eliminates interlaced modes (as we don't know how to activate them)
- fixes pixel clock calculation to prevent lockups.
Comment 8 Egbert Eich 2005-04-11 02:51:01 UTC
Committed, please test.

2005-04-11  Egbert Eich  <eich-at-freedesktop-dot-org>

        * programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c:
        (NEOPreInit), (NEOValidMode), (neoRestore), (neoModeInit),
        (neoCalcVCLK):
        Fix several mode setting issues:
          - eliminates DoubleScan modes above height == 1024.
          - eliminates interlaced modes as we don't know how to turn
            on interlace.
          - Fixes clock calculation to prevent lockups.
Comment 9 Egbert Eich 2005-07-06 06:47:12 UTC
This one has been committed some time ago. No further comments seem to have been
added here. Therefore I'm closing it now.


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.