Bug 3198 - Savage crashes with bus type PCI
Summary: Savage crashes with bus type PCI
Status: RESOLVED WONTFIX
Alias: None
Product: DRI
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-03 16:54 UTC by Johan Brannlund
Modified: 2005-10-18 22:16 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Johan Brannlund 2005-05-03 16:54:06 UTC
On the savage list, Felix Kühling recently suggested
(http://probo.probo.com/pipermail/savage40/2005-March/000331.html) using 'Option
"BusType"  "PCI"' as a workaround for a bug in the kernel agpgart code that
causes crashes on resume. 

However, with this option I get crashes and graphics corruption on my Acer
Aspire with a Twister chip, using the binary DRI driver snapshots. A good
program for triggering the crashes is the Helios screensaver from rss-glx
(http://rss-glx.sourceforge.net), this locks the system hard within a few minutes.

Without the BusType option everything (except resuming from suspend) works fine.

The relevant portion of my xorg.conf is

Section "Device"
        Identifier      "S3 Inc. VT8636A [ProSavage KN133] AGP4X VGA Controller
(TwisterK)"
        Driver          "savage"
        BusID           "PCI:1:0:0"
        Option "HWCursor" "on"
        Option "AGPMode" "4"
        Option "BusType" "PCI"  # This option causes crashes
EndSection

I'm using Ubuntu xorg version 6.8.2-10 and I've tried different snapshots from
the past few months, all of them eventually crash after the screensaver has
kicked in (ordinary 2D graphics works fine).
Comment 1 Felix Kühling 2005-05-04 18:44:28 UTC
I've seen corruption in PCI Vertex DMA mode on my SavageIX. The Twister will use
PCI Command DMA with your configuration. So my theory is that commands get
corrupted on the way to the hardware so you get lockups. I suspect this is some
weird hardware problem given that PCI mode works just fine on my ProSavageDDR
(at least it did last time I checked ...).

You may be able to work around it by disabling DMA completely. Set Option
"DmaMode" "None" in xorg.conf in the Savage device section. Please let us know
if this helps.
Comment 2 Johan Brannlund 2005-05-05 00:09:48 UTC
(In reply to comment #1)
> The Twister will use PCI Command DMA with your configuration. So my theory is
> that commands get corrupted on the way to the hardware so you get lockups. 

> You may be able to work around it by disabling DMA completely. Set Option
> "DmaMode" "None" in xorg.conf in the Savage device section. Please let us know
> if this helps.

Well, it helps a bit. I haven't seen any lockups after enabling that option, but
there are still graphics glitches: OpenGL screensavers that operate on a
screenshot no longer work. 

For instance, GFlux which shows a screenshot being shaken like a carpet now only
shows a solid grey colour moving about. MirrorBlob, which used to show something
like a magnifying glass moving across the screen doesn't show anything at all.

By the way, do you know if the agpgart bug is likely to be fixed?

Comment 3 Felix Kühling 2005-05-05 02:31:43 UTC
(In reply to comment #2)
> For instance, GFlux which shows a screenshot being shaken like a carpet now only
> shows a solid grey colour moving about. MirrorBlob, which used to show something
> like a magnifying glass moving across the screen doesn't show anything at all.

That's probably because you don't have enough texture memory without using AGP.
See if you can increase the shared graphics memory size in the BIOS setup. If
you run with 32bpp color depth reducing it to 16bpp will free up more memory for
textures too. Another trick is to use only one texture unit. You can configure
this for specific screen savers with driconf.

> 
> By the way, do you know if the agpgart bug is likely to be fixed?

I'm not sure if anyone reported it to the kernel bugzilla. I havn't got around
to it yet. It would be great if you could check this if you're interested in
getting this problem fixed. See if the latest kernel version still has the
problem and if it has report it to the kernel bugzilla.

I'm closing this bug now as WONTFIX since I don't know how to fix the original
problem (lockups with PCI DMA). Don't even know if it's fixable at all. :-/
Comment 4 Johan Brannlund 2005-05-09 18:34:12 UTC
The agpgart issue has been reported to the kernel bugzilla as
http://bugme.osdl.org/show_bug.cgi?id=4607 . Please comment there if you have
any more detailed information than I could give.


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.