Bug 6357 - savage problem: glxgears produce black window - locking problems with DRIClipNotify
Summary: savage problem: glxgears produce black window - locking problems with DRIClip...
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: General (show other bugs)
Version: XOrg git
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: xorg-7.2
  Show dependency treegraph
 
Reported: 2006-03-23 04:46 UTC by Massimiliano Mirabello
Modified: 2006-10-21 02:30 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.log with common-20060311 (41.35 KB, text/plain)
2006-03-27 18:31 UTC, Massimiliano Mirabello
no flags Details
Xorg.log with common-20060324 (44.94 KB, text/plain)
2006-03-27 18:32 UTC, Massimiliano Mirabello
no flags Details
Latest Kernel configuration (34.19 KB, text/plain)
2006-03-27 18:33 UTC, Massimiliano Mirabello
no flags Details
Latest Xorg configuration (4.33 KB, text/plain)
2006-03-27 18:34 UTC, Massimiliano Mirabello
no flags Details
savage-disable-dri-bug196011.patch (2.21 KB, patch)
2006-07-24 22:54 UTC, Mike A. Harris
no flags Details | Splinter Review
DRI Patch (1.51 KB, patch)
2006-09-17 18:25 UTC, Pascal Sclafer
no flags Details | Splinter Review
Savage Driver patch (539 bytes, patch)
2006-09-17 18:26 UTC, Pascal Sclafer
no flags Details | Splinter Review
not-working possible fix (1.93 KB, patch)
2006-09-17 22:32 UTC, Alex Deucher
no flags Details | Splinter Review

Description Massimiliano Mirabello 2006-03-23 04:46:54 UTC
Hi all,
after install latest last savage snapshot (20060311) and common libraries. After 
reloading drm modules glxgears command open a black window and don't show 
anything. I must give "Ctrl-C"  to close this window.

After this glxinfo shows only:

massi@mirabell2:~/downloads$ glxinfo
name of display: :0.0
  ...

with no prompt return.

Before launching glxgears after X startup glxinfo reports :
Direct Rendering: Yes


dmesg reports:

mtrr: no MTRR for 92020000,10000 found
mtrr: no MTRR for 92030000,8000 found
mtrr: no MTRR for 92038000,2000 found
mtrr: MTRR 5 not used
mtrr: MTRR 6 not used
mtrr: MTRR 7 not used
mtrr: no more MTRRs available
mtrr: no more MTRRs available
mtrr: 0x90000000,0x8000000 overlaps existing 0x96000000,0x1000000
mtrr: no more MTRRs available
mtrr: base(0x92000000) is not aligned on a size(0x5000000) boundary
mtrr: 0x90000000,0x8000000 overlaps existing 0x96000000,0x1000000
mtrr: no more MTRRs available
mtrr: base(0x92000000) is not aligned on a size(0x5000000) boundary
mtrr: 0x90000000,0x8000000 overlaps existing 0x96000000,0x1000000
mtrr: no more MTRRs available
mtrr: base(0x92000000) is not aligned on a size(0x5000000) boundary
agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.
agpgart: Putting AGP V2 device at 0000:00:00.0 into 4x mode
agpgart: Putting AGP V2 device at 0000:01:00.0 into 4x mode



Xorg.0.log reports:
X Window System Version 6.9.0 (Minimal DRI build from X.org tree)
Release Date: 21 December 2005
X Protocol Version 11, Revision 0, Release 6.9
Build Operating System: Linux 2.6.15.4 i686 [ELF]
Current Operating System: Linux mirabell2 2.6.15.4 #1 Sun Feb 19 16:22:50 CET 
2006 i686
Build Date: 17 February 2006
        Before reporting problems, check http://wiki.X.Org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sun Mar 12 09:30:06 2006
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Default Layout"
(**) |-->Screen "Default Screen" (0)
(**) |   |-->Monitor "Generic Monitor"
(**) |   |-->Device "Generic Video Card"
(**) |-->Input Device "Generic Keyboard"
(**) |-->Input Device "Synaptics Mouse"
(WW) The directory "/usr/lib/X11/fonts/CID" does not exist.
        Entry deleted from font path.
(WW) The directory "/usr/lib/X11/fonts/cyrillic" does not exist.
        Entry deleted from font path.
(WW) The directory "/usr/local/share/fonts/Windows" does not exist.
        Entry deleted from font path.
(**) FontPath set to 
"unix/:7100,/usr/lib/X11/fonts/Type1,/usr/lib/X11/fonts/Speedo,/usr/lib/X11/fonts/misc,/usr/lib/X11/fonts/100dpi,/usr/lib/X11/fonts/75dpi,unix/:7101,/usr/X11R6/lib/X11/fonts/misc"
(==) RgbPath set to "/usr/X11R6/lib/X11/rgb"
(==) ModulePath set to "/usr/X11R6/lib/modules"
(II) Open ACPI successful (/var/run/acpid.socket)
(II) Module ABI versions:
        X.Org ANSI C Emulation: 0.2
        X.Org Video Driver: 0.8
        X.Org XInput driver : 0.5
        X.Org Server Extension : 0.2
        X.Org Font Renderer : 0.4
(II) Loader running on linux
(II) LoadModule: "bitmap"
(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.so
(II) Module bitmap: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.0.0
        Module class: X.Org Font Renderer
        ABI class: X.Org Font Renderer, version 0.4
(II) Loading font Bitmap
(II) LoadModule: "pcidata"
(II) Loading /usr/X11R6/lib/modules/libpcidata.so
(II) Module pcidata: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.0.0
        ABI class: X.Org Video Driver, version 0.8
(--) using VT number 7

(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:00:0: chip 1106,3156 card 1071,8375 rev 00 class 06,00,00 hdr 00
(II) PCI: 00:01:0: chip 1106,b091 card 0000,0000 rev 00 class 06,04,00 hdr 01
(II) PCI: 00:09:0: chip 1524,1410 card 1800,0000 rev 00 class 06,07,00 hdr 02
(II) PCI: 00:0b:0: chip 1106,3044 card 1071,8375 rev 80 class 0c,00,10 hdr 00
(II) PCI: 00:10:0: chip 1106,3038 card 1071,8375 rev 80 class 0c,03,00 hdr 80
(II) PCI: 00:10:1: chip 1106,3038 card 1071,8375 rev 80 class 0c,03,00 hdr 80
(II) PCI: 00:10:3: chip 1106,3104 card 1071,8375 rev 82 class 0c,03,20 hdr 00
(II) PCI: 00:11:0: chip 1106,3177 card 1071,8375 rev 00 class 06,01,00 hdr 80
(II) PCI: 00:11:1: chip 1106,0571 card 1071,8375 rev 06 class 01,01,8a hdr 00
(II) PCI: 00:11:5: chip 1106,3059 card 1071,8375 rev 50 class 04,01,00 hdr 00
(II) PCI: 00:11:6: chip 1106,3068 card 1071,8375 rev 80 class 07,80,00 hdr 00
(II) PCI: 00:12:0: chip 1106,3065 card 1071,8375 rev 74 class 02,00,00 hdr 00
(II) PCI: 01:00:0: chip 5333,8d04 card 1071,8375 rev 00 class 03,00,00 hdr 00
(II) PCI: End of PCI scan
(II) Host-to-PCI bridge:
(II) Bus 0: bridge is at (0:0:0), (0,0,2), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 0 I/O range:
        [0] -1  0       0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) Bus 0 non-prefetchable memory range:
        [0] -1  0       0x00000000 - 0xffffffff (0x0) MX[B]
(II) Bus 0 prefetchable memory range:
        [0] -1  0       0x00000000 - 0xffffffff (0x0) MX[B]
(II) PCI-to-PCI bridge:
(II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 1 I/O range:
        [0] -1  0       0x0000c000 - 0x0000dfff (0x2000) IX[B]
(II) Bus 1 non-prefetchable memory range:
        [0] -1  0       0xe0000000 - 0xefffffff (0x10000000) MX[B]
(II) Bus 1 prefetchable memory range:
        [0] -1  0       0x90000000 - 0x9fffffff (0x10000000) MX[B]
(II) PCI-to-CardBus bridge:
(II) Bus 2: bridge is at (0:9:0), (0,2,5), BCTRL: 0x03c0 (VGA_EN is cleared)
(II) Bus 2 I/O range:
        [0] -1  0       0x00001800 - 0x000018ff (0x100) IX[B]
        [1] -1  0       0x00001c00 - 0x00001cff (0x100) IX[B]
(II) Bus 2 prefetchable memory range:
        [0] -1  0       0x30000000 - 0x31ffffff (0x2000000) MX[B]
        [1] -1  0       0x32000000 - 0x33ffffff (0x2000000) MX[B]
(II) PCI-to-ISA bridge:
(II) Bus -1: bridge is at (0:17:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)
(--) PCI:*(1:0:0) S3 Inc. VT8375 [ProSavage8 KM266/KL266] rev 0, Mem @ 
0xe0000000/19, 0x90000000/27, BIOS @ 0x000c0000/16
(II) Addressable bus resource ranges are
        [0] -1  0       0x00000000 - 0xffffffff (0x0) MX[B]
        [1] -1  0       0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) OS-reported resource ranges:
        [0] -1  0       0xffe00000 - 0xffffffff (0x200000) MX[B](B)
        [1] -1  0       0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [2] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [3] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [4] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [5] -1  0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [6] -1  0       0x00000000 - 0x000000ff (0x100) IX[B]
(II) PCI Memory resource overlap reduced 0xa0000000 from 0xa3ffffff to 
0x9fffffff
(II) Active PCI resource ranges:
        [0] -1  0       0xf0000100 - 0xf00001ff (0x100) MX[B]
        [1] -1  0       0xf0000000 - 0xf00000ff (0x100) MX[B]
        [2] -1  0       0xfedff800 - 0xfedfffff (0x800) MX[B]
        [3] -1  0       0xa0000000 - 0x9fffffff (0x0) MX[B]O
        [4] -1  0       0x98000000 - 0x9800ffff (0x10000) MX[B](B)
        [5] -1  0       0x90000000 - 0x97ffffff (0x8000000) MX[B](B)
        [6] -1  0       0xe0000000 - 0xe007ffff (0x80000) MX[B](B)
        [7] -1  0       0x0000e300 - 0x0000e3ff (0x100) IX[B]
        [8] -1  0       0x0000e200 - 0x0000e2ff (0x100) IX[B]
        [9] -1  0       0x0000e100 - 0x0000e1ff (0x100) IX[B]
        [10] -1 0       0x00001100 - 0x0000110f (0x10) IX[B]
        [11] -1 0       0x00001300 - 0x0000131f (0x20) IX[B]
        [12] -1 0       0x00001200 - 0x0000121f (0x20) IX[B]
        [13] -1 0       0x0000ff00 - 0x0000ff7f (0x80) IX[B]
(II) Active PCI resource ranges after removing overlaps:
        [0] -1  0       0xf0000100 - 0xf00001ff (0x100) MX[B]
        [1] -1  0       0xf0000000 - 0xf00000ff (0x100) MX[B]
        [2] -1  0       0xfedff800 - 0xfedfffff (0x800) MX[B]
        [3] -1  0       0xa0000000 - 0x9fffffff (0x0) MX[B]O
        [4] -1  0       0x98000000 - 0x9800ffff (0x10000) MX[B](B)
        [5] -1  0       0x90000000 - 0x97ffffff (0x8000000) MX[B](B)
        [6] -1  0       0xe0000000 - 0xe007ffff (0x80000) MX[B](B)
        [7] -1  0       0x0000e300 - 0x0000e3ff (0x100) IX[B]
        [8] -1  0       0x0000e200 - 0x0000e2ff (0x100) IX[B]
        [9] -1  0       0x0000e100 - 0x0000e1ff (0x100) IX[B]
        [10] -1 0       0x00001100 - 0x0000110f (0x10) IX[B]
        [11] -1 0       0x00001300 - 0x0000131f (0x20) IX[B]
        [12] -1 0       0x00001200 - 0x0000121f (0x20) IX[B]
        [13] -1 0       0x0000ff00 - 0x0000ff7f (0x80) IX[B]
(II) OS-reported resource ranges after removing overlaps with PCI:
        [0] -1  0       0xffe00000 - 0xffffffff (0x200000) MX[B](B)
        [1] -1  0       0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [2] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [3] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [4] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [5] -1  0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [6] -1  0       0x00000000 - 0x000000ff (0x100) IX[B]
(II) All system resource ranges:
        [0] -1  0       0xffe00000 - 0xffffffff (0x200000) MX[B](B)
        [1] -1  0       0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [2] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [3] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [4] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [5] -1  0       0xf0000100 - 0xf00001ff (0x100) MX[B]
        [6] -1  0       0xf0000000 - 0xf00000ff (0x100) MX[B]
        [7] -1  0       0xfedff800 - 0xfedfffff (0x800) MX[B]
        [8] -1  0       0xa0000000 - 0x9fffffff (0x0) MX[B]O
        [9] -1  0       0x98000000 - 0x9800ffff (0x10000) MX[B](B)
        [10] -1 0       0x90000000 - 0x97ffffff (0x8000000) MX[B](B)
        [11] -1 0       0xe0000000 - 0xe007ffff (0x80000) MX[B](B)
        [12] -1 0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [13] -1 0       0x00000000 - 0x000000ff (0x100) IX[B]
        [14] -1 0       0x0000e300 - 0x0000e3ff (0x100) IX[B]
        [15] -1 0       0x0000e200 - 0x0000e2ff (0x100) IX[B]
        [16] -1 0       0x0000e100 - 0x0000e1ff (0x100) IX[B]
        [17] -1 0       0x00001100 - 0x0000110f (0x10) IX[B]
        [18] -1 0       0x00001300 - 0x0000131f (0x20) IX[B]
        [19] -1 0       0x00001200 - 0x0000121f (0x20) IX[B]
        [20] -1 0       0x0000ff00 - 0x0000ff7f (0x80) IX[B]
(II) LoadModule: "bitmap"
(II) Reloading /usr/X11R6/lib/modules/fonts/libbitmap.so
(II) Loading font Bitmap
(II) LoadModule: "dbe"
(II) Loading /usr/X11R6/lib/modules/extensions/libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.0.0
        Module class: X.Org Server Extension
        ABI class: X.Org Server Extension, version 0.2
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "ddc"
(II) Loading /usr/X11R6/lib/modules/libddc.so
(II) Module ddc: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.0.0
        ABI class: X.Org Video Driver, version 0.8
(II) LoadModule: "dri"
(II) Loading /usr/X11R6/lib/modules/extensions/libdri.so
(II) Module dri: vendor="X.Org Foundation"
        compiled for 7.0.0, module version = 1.0.0
        ABI class: X.Org Server Extension, version 0.2
(II) Loading sub module "drm"
(II) LoadModule: "drm"
(II) Loading /usr/X11R6/lib/modules/linux/libdrm.so
(II) Module drm: vendor="X.Org Foundation"
        compiled for 7.0.0, module version = 1.0.0
        ABI class: X.Org Server Extension, version 0.2
(II) Loading extension XFree86-DRI
(II) LoadModule: "extmod"
(II) Loading /usr/X11R6/lib/modules/extensions/libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.0.0
        Module class: X.Org Server Extension
        ABI class: X.Org Server Extension, version 0.2
(II) Loading extension SHAPE
(II) Loading extension MIT-SUNDRY-NONSTANDARD
(II) Loading extension BIG-REQUESTS
(II) Loading extension SYNC
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XC-MISC
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-Misc
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension TOG-CUP
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "freetype"
(II) Loading /usr/X11R6/lib/modules/fonts/libfreetype.so
(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
        compiled for 6.9.0, module version = 2.1.0
        Module class: X.Org Font Renderer
        ABI class: X.Org Font Renderer, version 0.4
(II) Loading font FreeType
(II) LoadModule: "glx"
(II) Loading /usr/X11R6/lib/modules/extensions/libglx.so
(II) Module glx: vendor="X.Org Foundation"
        compiled for 7.0.0, module version = 1.0.0
        ABI class: X.Org Server Extension, version 0.2
(II) Loading sub module "GLcore"
(II) LoadModule: "GLcore"
(II) Loading /usr/X11R6/lib/modules/extensions/libGLcore.so
(II) Module GLcore: vendor="X.Org Foundation"
        compiled for 7.0.0, module version = 1.0.0
        ABI class: X.Org Server Extension, version 0.2
(II) Loading extension GLX
(II) LoadModule: "int10"
(II) Loading /usr/X11R6/lib/modules/linux/libint10.so
(II) Module int10: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.0.0
        ABI class: X.Org Video Driver, version 0.8
(II) LoadModule: "record"
(II) Loading /usr/X11R6/lib/modules/extensions/librecord.so
(II) Module record: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.13.0
        Module class: X.Org Server Extension
        ABI class: X.Org Server Extension, version 0.2
(II) Loading extension RECORD
(II) LoadModule: "type1"
(II) Loading /usr/X11R6/lib/modules/fonts/libtype1.so
(II) Module type1: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.0.2
        Module class: X.Org Font Renderer
        ABI class: X.Org Font Renderer, version 0.4
(II) Loading font Type1
(II) Loading font CID
(II) LoadModule: "vbe"
(II) Loading /usr/X11R6/lib/modules/libvbe.so
(II) Module vbe: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.1.0
        ABI class: X.Org Video Driver, version 0.8
(II) LoadModule: "synaptics"
(II) Loading /usr/X11R6/lib/modules/input/synaptics_drv.o
(II) Module synaptics: vendor="The XFree86 Project"
        compiled for 4.2.0, module version = 1.0.0
        Module class: XFree86 XInput Driver
        ABI class: XFree86 XInput driver, version 0.3
(II) LoadModule: "vgahw"
(II) Loading /usr/X11R6/lib/modules/libvgahw.so
(II) Module vgahw: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 0.1.0
        ABI class: X.Org Video Driver, version 0.8
(II) LoadModule: "fbdevhw"
(II) Loading /usr/X11R6/lib/modules/linux/libfbdevhw.so
(II) Module fbdevhw: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 0.0.2
        ABI class: X.Org Video Driver, version 0.8
(II) LoadModule: "savagefb"
(WW) Warning, couldn't open module savagefb
(II) UnloadModule: "savagefb"
(EE) Failed to load module "savagefb" (module does not exist, 0)
(II) LoadModule: "savage"
(II) Loading /usr/X11R6/lib/modules/drivers/savage_drv.so
(II) Module savage: vendor="X.Org Foundation"
        compiled for 7.0.0, module version = 2.0.2
        Module class: X.Org Video Driver
        ABI class: X.Org Video Driver, version 0.8
(II) LoadModule: "kbd"
(II) Loading /usr/X11R6/lib/modules/input/kbd_drv.so
(II) Module kbd: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.0.1
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 0.5
(II) LoadModule: "synaptics"
(II) Reloading /usr/X11R6/lib/modules/input/synaptics_drv.o
(II) SAVAGE: driver (version 2.0.2) for S3 Savage chipsets: Savage4,
        Savage3D, Savage3D-MV, Savage2000, Savage/MX-MV, Savage/MX,
        Savage/IX-MV, Savage/IX, ProSavage PM133, ProSavage KM133,
        Twister PN133, Twister KN133, SuperSavage/MX 128, SuperSavage/MX 64,
        SuperSavage/MX 64C, SuperSavage/IX 128, SuperSavage/IX 128,
        SuperSavage/IX 64, SuperSavage/IX 64, SuperSavage/IXC 64,
        SuperSavage/IXC 64, ProSavage DDR, ProSavage DDR-K
(II) Primary Device is: PCI 01:00:0
(--) Assigning device section with no busID to primary device
(--) Chipset ProSavageDDR found
(II) resource ranges after xf86ClaimFixedResources() call:
        [0] -1  0       0xffe00000 - 0xffffffff (0x200000) MX[B](B)
        [1] -1  0       0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [2] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [3] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [4] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [5] -1  0       0xf0000100 - 0xf00001ff (0x100) MX[B]
        [6] -1  0       0xf0000000 - 0xf00000ff (0x100) MX[B]
        [7] -1  0       0xfedff800 - 0xfedfffff (0x800) MX[B]
        [8] -1  0       0xa0000000 - 0x9fffffff (0x0) MX[B]O
        [9] -1  0       0x98000000 - 0x9800ffff (0x10000) MX[B](B)
        [10] -1 0       0x90000000 - 0x97ffffff (0x8000000) MX[B](B)
        [11] -1 0       0xe0000000 - 0xe007ffff (0x80000) MX[B](B)
        [12] -1 0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [13] -1 0       0x00000000 - 0x000000ff (0x100) IX[B]
        [14] -1 0       0x0000e300 - 0x0000e3ff (0x100) IX[B]
        [15] -1 0       0x0000e200 - 0x0000e2ff (0x100) IX[B]
        [16] -1 0       0x0000e100 - 0x0000e1ff (0x100) IX[B]
        [17] -1 0       0x00001100 - 0x0000110f (0x10) IX[B]
        [18] -1 0       0x00001300 - 0x0000131f (0x20) IX[B]
        [19] -1 0       0x00001200 - 0x0000121f (0x20) IX[B]
        [20] -1 0       0x0000ff00 - 0x0000ff7f (0x80) IX[B]
(II) resource ranges after probing:
        [0] -1  0       0xffe00000 - 0xffffffff (0x200000) MX[B](B)
        [1] -1  0       0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [2] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [3] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [4] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [5] -1  0       0xf0000100 - 0xf00001ff (0x100) MX[B]
        [6] -1  0       0xf0000000 - 0xf00000ff (0x100) MX[B]
        [7] -1  0       0xfedff800 - 0xfedfffff (0x800) MX[B]
        [8] -1  0       0xa0000000 - 0x9fffffff (0x0) MX[B]O
        [9] -1  0       0x98000000 - 0x9800ffff (0x10000) MX[B](B)
        [10] -1 0       0x90000000 - 0x97ffffff (0x8000000) MX[B](B)
        [11] -1 0       0xe0000000 - 0xe007ffff (0x80000) MX[B](B)
        [12] 0  0       0x000a0000 - 0x000affff (0x10000) MS[B]
        [13] 0  0       0x000b0000 - 0x000b7fff (0x8000) MS[B]
        [14] 0  0       0x000b8000 - 0x000bffff (0x8000) MS[B]
        [15] -1 0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [16] -1 0       0x00000000 - 0x000000ff (0x100) IX[B]
        [17] -1 0       0x0000e300 - 0x0000e3ff (0x100) IX[B]
        [18] -1 0       0x0000e200 - 0x0000e2ff (0x100) IX[B]
        [19] -1 0       0x0000e100 - 0x0000e1ff (0x100) IX[B]
        [20] -1 0       0x00001100 - 0x0000110f (0x10) IX[B]
        [21] -1 0       0x00001300 - 0x0000131f (0x20) IX[B]
        [22] -1 0       0x00001200 - 0x0000121f (0x20) IX[B]
        [23] -1 0       0x0000ff00 - 0x0000ff7f (0x80) IX[B]
        [24] 0  0       0x000003b0 - 0x000003bb (0xc) IS[B]
        [25] 0  0       0x000003c0 - 0x000003df (0x20) IS[B]
(II) Setting vga for screen 0.
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"
(II) Reloading /usr/X11R6/lib/modules/libvgahw.so
(**) SAVAGE(0): Depth 16, (--) framebuffer bpp 16
(==) SAVAGE(0): RGB weight 565
(==) SAVAGE(0): Default visual is TrueColor
(II) SAVAGE(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 
0x0000
(**) SAVAGE(0): Option "UseBIOS" "off"
(**) SAVAGE(0): Option "LCDClock" "220MHz"
(**) SAVAGE(0): Option "ForceInit"
(**) SAVAGE(0): Option "DmaType" "AGP"
(**) SAVAGE(0): Option "AGPMode" "4"
(==) SAVAGE(0): Using HW cursor
(**) SAVAGE(0): Not using video BIOS to set modes
(**) SAVAGE(0): Option: LCDClock 220.00 MHz
(**) SAVAGE(0): Option: ForceInit enabled
(II) Loading sub module "vbe"
(II) LoadModule: "vbe"
(II) Reloading /usr/X11R6/lib/modules/libvbe.so
(II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Reloading /usr/X11R6/lib/modules/linux/libint10.so
(II) SAVAGE(0): initializing int10
(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000
(II) SAVAGE(0): VESA BIOS detected
(II) SAVAGE(0): VESA VBE Version 3.0
(II) SAVAGE(0): VESA VBE Total Mem: 31680 kB
(II) SAVAGE(0): VESA VBE OEM: S3 Graphics ProSavage DDR Family BIOS
(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0
(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Garphics Incorporated.
(II) SAVAGE(0): VESA VBE OEM Product: VBE 3.0
(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 0.0
(--) SAVAGE(0): Chip: id 8d04, "ProSavage DDR-K"
(--) SAVAGE(0): Engine: "ProSavageDDR"
(--) SAVAGE(0): AGP card detected
(**) SAVAGE(0): Using AGP DMA
(==) SAVAGE(0): Will try command and vertex DMA mode
(**) SAVAGE(0): Using AGP 4x mode
(==) SAVAGE(0): Using 16 MB AGP aperture
(II) SAVAGE(0): mapping MMIO @ 0xe0000000 with size 0x80000
(==) SAVAGE(0): Using gamma correction (1.0, 1.0, 1.0)
(**) SAVAGE(0): videoram =  33000k
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"
(II) Reloading /usr/X11R6/lib/modules/libddc.so
(--) SAVAGE(0): No DDC signal
(II) Loading sub module "i2c"
(II) LoadModule: "i2c"
(II) Loading /usr/X11R6/lib/modules/libi2c.so
(II) Module i2c: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.2.0
        ABI class: X.Org Video Driver, version 0.8
(II) SAVAGE(0): I2C bus "I2C bus" initialized.
(II) SAVAGE(0): I2C device "I2C bus:ddc2" registered at address 0xA0.
(II) SAVAGE(0): I2C device "I2C bus:ddc2" removed.
(--) SAVAGE(0): Detected current MCLK value of 465.341 MHz
(--) SAVAGE(0): 1024x768 TFT LCD panel detected and active
(--) SAVAGE(0): - Limiting video mode to 1024x768
(**) SAVAGE(0): - Limiting dot clock to 220.00 MHz
(II) SAVAGE(0): Generic Monitor: Using hsync range of 30.00-70.00 kHz
(II) SAVAGE(0): Generic Monitor: Using vrefresh range of 50.00-80.00 Hz
(II) SAVAGE(0): Clock range:  10.00 to 220.00 MHz
(II) SAVAGE(0): Not using default mode "640x350" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "320x175" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "640x400" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "320x200" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "720x400" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "360x200" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "640x480" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "320x240" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "800x600" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "400x300" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "1024x768" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "512x384" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "1024x768" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "512x384" (vrefresh out of range)
(II) SAVAGE(0): Not using default mode "1152x864" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "1280x960" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "1280x960" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "640x480" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1280x1024" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "1280x1024" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "640x512" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1280x1024" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "640x512" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1600x1200" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1600x1200" (bad mode 
clock/interlace/doublescan)
(II) SAVAGE(0): Not using default mode "800x600" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1792x1344" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "896x672" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1792x1344" (bad mode 
clock/interlace/doublescan)
(II) SAVAGE(0): Not using default mode "896x672" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1856x1392" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "928x696" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1856x1392" (bad mode 
clock/interlace/doublescan)
(II) SAVAGE(0): Not using default mode "928x696" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1920x1440" (bad mode 
clock/interlace/doublescan)
(II) SAVAGE(0): Not using default mode "960x720" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1920x1440" (bad mode 
clock/interlace/doublescan)
(II) SAVAGE(0): Not using default mode "960x720" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1152x768" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "1400x1050" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "1400x1050" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "700x525" (hsync out of range)
(II) SAVAGE(0): Not using default mode "1600x1024" (exceeds panel dimensions)
(II) SAVAGE(0): Not using default mode "1920x1440" (bad mode 
clock/interlace/doublescan)
(II) SAVAGE(0): Not using default mode "960x720" (hsync out of range)
(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode 
clock/interlace/doublescan)
(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)
(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode 
clock/interlace/doublescan)
(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)
(II) SAVAGE(0): Not using default mode "2048x1536" (bad mode 
clock/interlace/doublescan)
(II) SAVAGE(0): Not using default mode "1024x768" (hsync out of range)
(--) SAVAGE(0): Virtual size is 1024x768 (pitch 1024)
(**) SAVAGE(0): *Default mode "1024x768": 78.8 MHz, 60.1 kHz, 75.1 Hz
(II) SAVAGE(0): Modeline "1024x768"   78.80  1024 1040 1136 1312  768 769 772 
800 +hsync +vsync
(**) SAVAGE(0): *Default mode "800x600": 49.5 MHz, 46.9 kHz, 75.0 Hz
(II) SAVAGE(0): Modeline "800x600"   49.50  800 816 896 1056  600 601 604 625 
+hsync +vsync
(**) SAVAGE(0):  Default mode "1024x768": 75.0 MHz, 56.5 kHz, 70.1 Hz
(II) SAVAGE(0): Modeline "1024x768"   75.00  1024 1048 1184 1328  768 771 777 
806 -hsync -vsync
(**) SAVAGE(0):  Default mode "1024x768": 65.0 MHz, 48.4 kHz, 60.0 Hz
(II) SAVAGE(0): Modeline "1024x768"   65.00  1024 1048 1184 1344  768 771 777 
806 -hsync -vsync
(**) SAVAGE(0):  Default mode "832x624": 57.3 MHz, 49.7 kHz, 74.6 Hz
(II) SAVAGE(0): Modeline "832x624"   57.28  832 864 928 1152  624 625 628 667 
-hsync -vsync
(**) SAVAGE(0):  Default mode "800x600": 50.0 MHz, 48.1 kHz, 72.2 Hz
(II) SAVAGE(0): Modeline "800x600"   50.00  800 856 976 1040  600 637 643 666 
+hsync +vsync
(**) SAVAGE(0):  Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
(II) SAVAGE(0): Modeline "800x600"   40.00  800 840 968 1056  600 601 605 628 
+hsync +vsync
(**) SAVAGE(0):  Default mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz
(II) SAVAGE(0): Modeline "800x600"   36.00  800 824 896 1024  600 601 603 625 
+hsync +vsync
(**) SAVAGE(0):  Default mode "700x525": 61.0 MHz, 64.9 kHz, 60.0 Hz (D)
(II) SAVAGE(0): Modeline "700x525"   61.00  700 744 820 940  525 526 532 541 
doublescan +hsync +vsync
(**) SAVAGE(0):  Default mode "640x512": 54.0 MHz, 64.0 kHz, 60.0 Hz (D)
(II) SAVAGE(0): Modeline "640x512"   54.00  640 664 720 844  512 512 514 533 
doublescan +hsync +vsync
(**) SAVAGE(0):  Default mode "640x480": 31.5 MHz, 37.5 kHz, 75.0 Hz
(II) SAVAGE(0): Modeline "640x480"   31.50  640 656 720 840  480 481 484 500 
-hsync -vsync
(**) SAVAGE(0):  Default mode "640x480": 31.5 MHz, 37.9 kHz, 72.8 Hz
(II) SAVAGE(0): Modeline "640x480"   31.50  640 664 704 832  480 489 491 520 
-hsync -vsync
(**) SAVAGE(0):  Default mode "640x480": 25.2 MHz, 31.5 kHz, 60.0 Hz
(II) SAVAGE(0): Modeline "640x480"   25.20  640 656 752 800  480 490 492 525 
-hsync -vsync
(**) SAVAGE(0):  Default mode "640x480": 54.0 MHz, 60.0 kHz, 60.0 Hz (D)
(II) SAVAGE(0): Modeline "640x480"   54.00  640 688 744 900  480 480 482 500 
doublescan +hsync +vsync
(**) SAVAGE(0):  Default mode "576x432": 54.0 MHz, 67.5 kHz, 75.0 Hz (D)
(II) SAVAGE(0): Modeline "576x432"   54.00  576 608 672 800  432 432 434 450 
doublescan +hsync +vsync
(**) SAVAGE(0):  Default mode "576x384": 32.5 MHz, 44.2 kHz, 54.8 Hz (D)
(II) SAVAGE(0): Modeline "576x384"   32.50  576 589 657 736  384 385 388 403 
doublescan +hsync +vsync
(**) SAVAGE(0):  Default mode "512x384": 39.4 MHz, 60.1 kHz, 75.1 Hz (D)
(II) SAVAGE(0): Modeline "512x384"   39.40  512 520 568 656  384 384 386 400 
doublescan +hsync +vsync
(**) SAVAGE(0):  Default mode "512x384": 37.5 MHz, 56.5 kHz, 70.1 Hz (D)
(II) SAVAGE(0): Modeline "512x384"   37.50  512 524 592 664  384 385 388 403 
doublescan -hsync -vsync
(**) SAVAGE(0):  Default mode "512x384": 32.5 MHz, 48.4 kHz, 60.0 Hz (D)
(II) SAVAGE(0): Modeline "512x384"   32.50  512 524 592 672  384 385 388 403 
doublescan -hsync -vsync
(**) SAVAGE(0):  Default mode "416x312": 28.6 MHz, 49.7 kHz, 74.7 Hz (D)
(II) SAVAGE(0): Modeline "416x312"   28.64  416 432 464 576  312 312 314 333 
doublescan -hsync -vsync
(**) SAVAGE(0):  Default mode "400x300": 24.8 MHz, 46.9 kHz, 75.1 Hz (D)
(II) SAVAGE(0): Modeline "400x300"   24.75  400 408 448 528  300 300 302 312 
doublescan +hsync +vsync
(**) SAVAGE(0):  Default mode "400x300": 25.0 MHz, 48.1 kHz, 72.2 Hz (D)
(II) SAVAGE(0): Modeline "400x300"   25.00  400 428 488 520  300 318 321 333 
doublescan +hsync +vsync
(**) SAVAGE(0):  Default mode "400x300": 20.0 MHz, 37.9 kHz, 60.3 Hz (D)
(II) SAVAGE(0): Modeline "400x300"   20.00  400 420 484 528  300 300 302 314 
doublescan +hsync +vsync
(**) SAVAGE(0):  Default mode "400x300": 18.0 MHz, 35.2 kHz, 56.3 Hz (D)
(II) SAVAGE(0): Modeline "400x300"   18.00  400 412 448 512  300 300 301 312 
doublescan +hsync +vsync
(**) SAVAGE(0):  Default mode "320x240": 15.8 MHz, 37.5 kHz, 75.0 Hz (D)
(II) SAVAGE(0): Modeline "320x240"   15.75  320 328 360 420  240 240 242 250 
doublescan -hsync -vsync
(**) SAVAGE(0):  Default mode "320x240": 15.8 MHz, 37.9 kHz, 72.8 Hz (D)
(II) SAVAGE(0): Modeline "320x240"   15.75  320 332 352 416  240 244 245 260 
doublescan -hsync -vsync
(**) SAVAGE(0):  Default mode "320x240": 12.6 MHz, 31.5 kHz, 60.1 Hz (D)
(II) SAVAGE(0): Modeline "320x240"   12.60  320 328 376 400  240 245 246 262 
doublescan -hsync -vsync
(++) SAVAGE(0): DPI set to (100, 100)
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/X11R6/lib/modules/libfb.so
(II) Module fb: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.0.0
        ABI class: X.Org ANSI C Emulation, version 0.2
(II) Loading sub module "xaa"
(II) LoadModule: "xaa"
(II) Loading /usr/X11R6/lib/modules/libxaa.so
(II) Module xaa: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 1.2.0
        ABI class: X.Org Video Driver, version 0.8
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"
(II) Loading /usr/X11R6/lib/modules/libramdac.so
(II) Module ramdac: vendor="X.Org Foundation"
        compiled for 6.9.0, module version = 0.1.0
        ABI class: X.Org Video Driver, version 0.8
(II) do I need RAC?  No, I don't.
(II) resource ranges after preInit:
        [0] 0   0       0x90000000 - 0x97ffffff (0x8000000) MS[B]
        [1] 0   0       0xe0000000 - 0xe007ffff (0x80000) MS[B]
        [2] -1  0       0xffe00000 - 0xffffffff (0x200000) MX[B](B)
        [3] -1  0       0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
        [4] -1  0       0x000f0000 - 0x000fffff (0x10000) MX[B]
        [5] -1  0       0x000c0000 - 0x000effff (0x30000) MX[B]
        [6] -1  0       0x00000000 - 0x0009ffff (0xa0000) MX[B]
        [7] -1  0       0xf0000100 - 0xf00001ff (0x100) MX[B]
        [8] -1  0       0xf0000000 - 0xf00000ff (0x100) MX[B]
        [9] -1  0       0xfedff800 - 0xfedfffff (0x800) MX[B]
        [10] -1 0       0xa0000000 - 0x9fffffff (0x0) MX[B]O
        [11] -1 0       0x98000000 - 0x9800ffff (0x10000) MX[B](B)
        [12] -1 0       0x90000000 - 0x97ffffff (0x8000000) MX[B](B)
        [13] -1 0       0xe0000000 - 0xe007ffff (0x80000) MX[B](B)
        [14] 0  0       0x000a0000 - 0x000affff (0x10000) MS[B](OprD)
        [15] 0  0       0x000b0000 - 0x000b7fff (0x8000) MS[B](OprD)
        [16] 0  0       0x000b8000 - 0x000bffff (0x8000) MS[B](OprD)
        [17] -1 0       0x0000ffff - 0x0000ffff (0x1) IX[B]
        [18] -1 0       0x00000000 - 0x000000ff (0x100) IX[B]
        [19] -1 0       0x0000e300 - 0x0000e3ff (0x100) IX[B]
        [20] -1 0       0x0000e200 - 0x0000e2ff (0x100) IX[B]
        [21] -1 0       0x0000e100 - 0x0000e1ff (0x100) IX[B]
        [22] -1 0       0x00001100 - 0x0000110f (0x10) IX[B]
        [23] -1 0       0x00001300 - 0x0000131f (0x20) IX[B]
        [24] -1 0       0x00001200 - 0x0000121f (0x20) IX[B]
        [25] -1 0       0x0000ff00 - 0x0000ff7f (0x80) IX[B]
        [26] 0  0       0x000003b0 - 0x000003bb (0xc) IS[B](OprU)
        [27] 0  0       0x000003c0 - 0x000003df (0x20) IS[B](OprU)
(II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Reloading /usr/X11R6/lib/modules/linux/libint10.so
(II) SAVAGE(0): initializing int10
(II) SAVAGE(0): Primary V_BIOS segment is: 0xc000
(II) SAVAGE(0): VESA BIOS detected
(II) SAVAGE(0): VESA VBE Version 3.0
(II) SAVAGE(0): VESA VBE Total Mem: 31680 kB
(II) SAVAGE(0): VESA VBE OEM: S3 Graphics ProSavage DDR Family BIOS
(II) SAVAGE(0): VESA VBE OEM Software Rev: 2.0
(II) SAVAGE(0): VESA VBE OEM Vendor: S3 Garphics Incorporated.
(II) SAVAGE(0): VESA VBE OEM Product: VBE 3.0
(II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 0.0
(--) SAVAGE(0): mapping framebuffer @ 0x90000000 with size 0x203a000
(II) SAVAGE(0): Splitting WC range: base: 0x90000000, size: 0x203a000
(II) SAVAGE(0): Splitting WC range: base: 0x92000000, size: 0x3a000
(II) SAVAGE(0): Splitting WC range: base: 0x92020000, size: 0x1a000
(II) SAVAGE(0): Splitting WC range: base: 0x92030000, size: 0xa000
(==) SAVAGE(0): Write-combining range (0x92038000,0x2000)
(==) SAVAGE(0): Write-combining range (0x92030000,0xa000)
(==) SAVAGE(0): Write-combining range (0x92020000,0x1a000)
(WW) SAVAGE(0): Failed to set up write-combining range (0x92000000,0x3a000)
(WW) SAVAGE(0): Failed to set up write-combining range (0x90000000,0x203a000)
(==) SAVAGE(0): Removed MMIO write-combining range (0x92038000,0x2000)
(==) SAVAGE(0): Removed MMIO write-combining range (0x92030000,0x8000)
(==) SAVAGE(0): Removed MMIO write-combining range (0x92020000,0x10000)
(II) SAVAGE(0): Splitting WC range: base: 0x92000000, size: 0x5000000
(II) SAVAGE(0): Splitting WC range: base: 0x94000000, size: 0x3000000
(==) SAVAGE(0): Write-combining range (0x96000000,0x1000000)
(==) SAVAGE(0): Write-combining range (0x94000000,0x3000000)
(==) SAVAGE(0): Write-combining range (0x92000000,0x5000000)
(II) SAVAGE(0): map aperture:0xb081a000
(II) SAVAGE(0): 4740 kB of Videoram needed for 3D; 33000 kB of Videoram 
available
(II) SAVAGE(0): Sufficient Videoram available for 3D
(II) SAVAGE(0): [drm] bpp: 16 depth: 16
(II) SAVAGE(0): [drm] Sarea 2200+284: 2484
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenByBusid: Searching for BusID pci:0000:01:00.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenByBusid: drmOpenMinor returns 8
drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
(II) SAVAGE(0): [drm] DRM interface version 1.2
(II) SAVAGE(0): [drm] created "savage" driver at busid "pci:0000:01:00.0"
(II) SAVAGE(0): [drm] added 8192 byte SAREA at 0xeeaa4000
(II) SAVAGE(0): [drm] mapped SAREA 0xeeaa4000 to 0xb0818000
(II) SAVAGE(0): [drm] framebuffer handle = 0x90000000
(II) SAVAGE(0): [drm] added 1 reserved context for kernel
(II) SAVAGE(0): [agp] Mode 0x1f000207 [AGP 0x1106/0x3156; Card 0x5333/0x8d04]
(II) SAVAGE(0): [agp] 16384 kB allocated with handle 0x00000001
(II) SAVAGE(0): [agp] command DMA handle = 0xa0000000
(II) SAVAGE(0): [agp] agpTextures handle = 0xa0100000
(II) SAVAGE(0): [drm] aperture handle = 0x92000000
(II) SAVAGE(0): [drm] Enabling ShadowStatus for DRI.
(II) SAVAGE(0): [drm] Status handle = 0x22595000
(II) SAVAGE(0): [drm] Status page mapped at 0xb0817000
(II) SAVAGE(0): [dri] visual configs initialized
(**) SAVAGE(0): DRI is enabled
(II) SAVAGE(0): virtualX:1024,virtualY:768
(II) SAVAGE(0): bpp:16,tiledwidthBytes:2048,tiledBufferSize:1572864
(II) SAVAGE(0): bpp:16,widthBytes:2048,BufferSize:1572864
(II) SAVAGE(0): videoRambytes:0x0203a000
(II) SAVAGE(0): textureSize:0x01999000
(II) SAVAGE(0): textureSize:0x01999000
(II) SAVAGE(0): textureOffset:0x00680000
(II) SAVAGE(0): depthOffset:0x00500000,depthPitch:2048
(II) SAVAGE(0): backOffset:0x00380000,backPitch:2048
(II) SAVAGE(0): Memory manager initialized to (0,0) (1024,1791)
(II) SAVAGE(0): Largest offscreen area available: 1024 x 1023
(II) SAVAGE(0): Reserved back buffer at offset 0x380000
(II) SAVAGE(0): Reserved depth buffer at offset 0x500000
(II) SAVAGE(0): Reserved 26212 kb for textures at offset 0x680000
(II) SAVAGE(0): Using XFree86 Acceleration Architecture (XAA)
        Screen to screen bit blits
        Solid filled rectangles
        8x8 mono pattern filled rectangles
        Indirect CPU to Screen color expansion
        Solid Lines
        Image Writes
        Offscreen Pixmaps
        Setting up tile and stipple cache:
                28 128x128 slots
                7 256x256 slots
(==) SAVAGE(0): Backing store disabled
(**) Option "dpms"
(**) SAVAGE(0): DPMS enabled
(II) SAVAGE(0): X context handle = 0x1
(II) SAVAGE(0): [DRI] installation complete
(II) SAVAGE(0): [junkers]pSAVAGEDRIServer:
(II) SAVAGE(0): [junkers]       reserved_map_agpstart:0x00000000
(II) SAVAGE(0): [junkers]       reserved_map_idx:0x00000000
(II) SAVAGE(0): [junkers]       sarea_priv_offset:0x00000000
(II) SAVAGE(0): [junkers]       chipset:0x00000000
(II) SAVAGE(0): [junkers]       sgram:0x00000000
(II) SAVAGE(0): [junkers]       frontbufferSize:0x00180000
(II) SAVAGE(0): [junkers]       frontOffset:0x00000000
(II) SAVAGE(0): [junkers]       frontPitch:0x00000800
(II) SAVAGE(0): [junkers]       backbufferSize:0x00180000
(II) SAVAGE(0): [junkers]       backOffset:0x00380000
(II) SAVAGE(0): [junkers]       backPitch:0x00000800
(II) SAVAGE(0): [junkers]       depthbufferSize:0x00180000
(II) SAVAGE(0): [junkers]       depthOffset:0x00500000
(II) SAVAGE(0): [junkers]       depthPitch:0x00000800
(II) SAVAGE(0): [junkers]       textureOffset:0x00680000
(II) SAVAGE(0): [junkers]       textureSize:0x01999000
(II) SAVAGE(0): [junkers]       textureSize:0x01999000
(II) SAVAGE(0): [junkers]       logTextureGranularity:0x00000000
(II) SAVAGE(0): [junkers]       agp:handle:0x00000001
(II) SAVAGE(0): [junkers]       agp:offset:0x01000000
(II) SAVAGE(0): [junkers]       agp:size:0x01000000
(II) SAVAGE(0): [junkers]       agp:map:0x00000000
(II) SAVAGE(0): [junkers]       registers:handle:0xe0000000
(II) SAVAGE(0): [junkers]       registers:offset:0x00000000
(II) SAVAGE(0): [junkers]       registers:size:0x00080000
(II) SAVAGE(0): [junkers]       registers:map:0x00000000
(II) SAVAGE(0): [junkers]       status:handle:0x22595000
(II) SAVAGE(0): [junkers]       status:offset:0x00000000
(II) SAVAGE(0): [junkers]       status:size:0x00001000
(II) SAVAGE(0): [junkers]       status:map:0xb0817000
(II) SAVAGE(0): [junkers]       agpTextures:handle:0xa0100000
(II) SAVAGE(0): [junkers]       agpTextures:offset:0x00100000
(II) SAVAGE(0): [junkers]       agpTextures:size:0x00f00000
(II) SAVAGE(0): [junkers]       apgTextures:map:0x00000000
(II) SAVAGE(0): [junkers]       logAgpTextureGranularity:0x00000000
(II) SAVAGE(0): [junkers]       cmdDma:handle:0xa0000000
(II) SAVAGE(0): [junkers]       cmdDma:offset:0x00000000
(II) SAVAGE(0): [junkers]       cmdDma:size:0x00100000
(II) SAVAGE(0): [junkers]       cmdDma:map:0x00000000
(II) SAVAGE(0): [junkers]pSAVAGEDRI:
(II) SAVAGE(0): [junkers]       chipset:0x00000006
(II) SAVAGE(0): [junkers]       width:0x00000400
(II) SAVAGE(0): [junkers]       height:0x00000300
(II) SAVAGE(0): [junkers]       mem:0x0203a000
(II) SAVAGE(0): [junkers]       cpp:2
(II) SAVAGE(0): [junkers]       zpp:2
(II) SAVAGE(0): [junkers]       agpMode:4
(II) SAVAGE(0): [junkers]       bufferSize:65536
(II) SAVAGE(0): [junkers]       frontbufferSize:0x00180000
(II) SAVAGE(0): [junkers]       frontOffset:0x00000000
(II) SAVAGE(0): [junkers]       backbufferSize:0x00180000
(II) SAVAGE(0): [junkers]       backOffset:0x00380000
(II) SAVAGE(0): [junkers]       depthbufferSize:0x00180000
(II) SAVAGE(0): [junkers]       depthOffset:0x00500000
(II) SAVAGE(0): [junkers]       textureOffset:0x00680000
(II) SAVAGE(0): [junkers]       textureSize:0x01800000
(II) SAVAGE(0): [junkers]       logTextureGranularity:0x00000015
(II) SAVAGE(0): [junkers]       agpTextureHandle:0xa0100000
(II) SAVAGE(0): [junkers]       agpTextureSize:0x00f00000
(II) SAVAGE(0): [junkers]       logAgpTextureGranularity:0x00000014
(II) SAVAGE(0): [junkers]       apertureHandle:0x92000000
(II) SAVAGE(0): [junkers]       apertureSize:0x05000000
(II) SAVAGE(0): [junkers]       aperturePitch:0x00001000
(II) SAVAGE(0): [junkers]       statusHandle:0x22595000
(II) SAVAGE(0): [junkers]       statusSize:0x00001000
(II) SAVAGE(0): [junkers]       sarea_priv_offset:0x00000898
(II) SAVAGE(0): Direct rendering enabled
(==) RandR enabled
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension LBX
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
(II) Initializing built-in extension XFree86-Bigfont
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) Initializing built-in extension XEVIE
(**) Option "CoreKeyboard"
(**) Generic Keyboard: Core Keyboard
(**) Option "Protocol" "standard"
(**) Generic Keyboard: Protocol: standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xfree86"
(**) Generic Keyboard: XkbRules: "xfree86"
(**) Option "XkbModel" "pc104"
(**) Generic Keyboard: XkbModel: "pc104"
(**) Option "XkbLayout" "it"
(**) Generic Keyboard: XkbLayout: "it"
(**) Option "CustomKeycodes" "off"
(**) Generic Keyboard: CustomKeycodes disabled
(II) Synaptics touchpad driver version 0.14.4 (1404)
(--) Synaptics Mouse auto-dev sets device to /dev/input/event1
(**) Option "Device" "/dev/input/event1"
(**) Option "SHMConfig" "on"
(**) Option "LeftEdge" "1700"
(**) Option "RightEdge" "5300"
(**) Option "TopEdge" "1700"
(**) Option "BottomEdge" "4200"
(**) Option "FingerLow" "20"
(**) Option "FingerHigh" "25"
(**) Option "MaxTapTime" "180"
(**) Option "MaxTapMove" "220"
(**) Option "VertScrollDelta" "100"
(--) Synaptics Mouse touchpad found
(**) Option "CorePointer"
(**) Synaptics Mouse: Core Pointer
(II) XINPUT: Adding extended input device "Synaptics Mouse" (type: MOUSE)
(II) XINPUT: Adding extended input device "Generic Keyboard" (type: KEYBOARD)
Synaptics DeviceInit called
SynapticsCtrl called.
Synaptics DeviceOn called
(--) Synaptics Mouse auto-dev sets device to /dev/input/event1
(**) Option "Device" "/dev/input/event1"
(--) Synaptics Mouse touchpad found
Warning: font renderer for ".pcf" already registered at priority 0
Warning: font renderer for ".pcf.Z" already registered at priority 0
Warning: font renderer for ".pcf.gz" already registered at priority 0
Warning: font renderer for ".snf" already registered at priority 0
Warning: font renderer for ".snf.Z" already registered at priority 0
Warning: font renderer for ".snf.gz" already registered at priority 0
Warning: font renderer for ".bdf" already registered at priority 0
Warning: font renderer for ".bdf.Z" already registered at priority 0
Warning: font renderer for ".bdf.gz" already registered at priority 0
Warning: font renderer for ".pmf" already registered at priority 0
Could not init font path element /usr/lib/X11/fonts/Speedo, removing from 
list!
SynapticsCtrl called.

With previous snapshots glxgear caused lockups with DmaMode "None" or "Command" 
and were killed each time wid DmaMode "Vertex".

that's my xorg.conf:
massi@mirabell2:~$ cat /etc/X11/xorg.conf

# Debian X Configuration tool, using values from the debconf database.
#
# Edit this file with caution, and see the XF86Config-4 manual page.
# (Type "man XF86Config-4" at the shell prompt.)
#
# This file is automatically updated on xserver-xfree86 package upgrades 
*only*
# if it has not been modified since the last upgrade of the xserver-xfree86
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
#   cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
#   md5sum /etc/X11/XF86Config-4 > /var/lib/xfree86/XF86Config-4.md5sum
#   dpkg-reconfigure xserver-xfree86

Section "Files"
        FontPath        "unix/:7100"                    # local font server
        # if the local font server has problems, we can fall back on these
        FontPath        "/usr/lib/X11/fonts/Type1"
        FontPath        "/usr/lib/X11/fonts/CID"
        FontPath        "/usr/lib/X11/fonts/Speedo"
        FontPath        "/usr/lib/X11/fonts/misc"
        FontPath        "/usr/lib/X11/fonts/cyrillic"
        FontPath        "/usr/lib/X11/fonts/100dpi"
        FontPath        "/usr/lib/X11/fonts/75dpi"
        FontPath        "unix/:7101"
        FontPath        "/usr/X11R6/lib/X11/fonts/misc"
        FontPath        "/usr/local/share/fonts/Windows"
EndSection

Section "Module"
        #Load   "GLcore"
        Load    "bitmap"
        Load    "dbe"
        Load    "ddc"
        Load    "dri"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "record"
        #Load   "speedo"
        Load    "type1"
        Load    "vbe"
        Load    "synaptics"
        Load    "vgahw"
        Load    "fbdevhw"
        Load    "savagefb"
        #Load   "savage"
EndSection

Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "kbd"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xfree86"
        Option          "XkbModel"      "pc104"
        Option          "XkbLayout"     "it"
EndSection

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "PS/2"
        Option          "Emulate3Buttons"       "true"
        Option          "ZAxisMapping"          "4 5"
EndSection

Section "InputDevice"
        Identifier      "Generic Mouse"
        Driver          "mouse"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "ImPS/2"
        Option          "Emulate3Buttons"       "true"
        Option          "ZAxisMapping"          "4 5"
EndSection

Section "Device"
        Identifier      "Generic Video Card"
        Driver          "savage"
        #VideoRam       33000
        #Option         "UseFBDev"              "true"
        #Option         "DmaMode"       "None"
        Option          "DmaType"       "AGP"
        Option          "AGPMode"       "4"
        #Option          "BusType"      "PCI"
EndSection

Section "InputDevice"
        Identifier    "Synaptics Mouse"
        Driver        "synaptics"
        Option        "Device"        "/dev/psaux"
        Option        "Protocol"      "auto-dev"
        Option        "LeftEdge"      "1700"
        Option        "RightEdge"     "5300"
        Option        "TopEdge"       "1700"
        Option        "BottomEdge"    "4200"
        Option        "FingerLow"     "20"
        Option        "FingerHigh"    "25"
        Option        "MaxTapTime"    "180"
        Option        "MaxTapMove"    "220"
        Option        "VertScrollDelta" "100"
        Option        "MinSpeed"      "0.06"
        Option        "MaxSpeed"      "0.12"
        Option        "AccelFactor" "0.0010"
        Option        "SHMConfig"     "on"
        #Option "CorePointer"
        #  Option       "Repeater"      "/dev/ps2mouse"
EndSection

Section "Monitor"
        Identifier      "Generic Monitor"
        HorizSync       30-70
        VertRefresh     50-80
        Option          "DPMS"
        Option "LCDClock" "200MHz"
        #Option "UseBIOS" "off"
        Option "ForceInit"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Device          "Generic Video Card"
        Monitor         "Generic Monitor"
        DefaultDepth    16
        #SubSection "Display"
        #       Depth           1
        #       Modes           "1024x768" "800x600"
        #EndSubSection
        #SubSection "Display"
        #       Depth           4
        #       Modes           "1024x768" "800x600"
        #EndSubSection
        #SubSection "Display"
        #       Depth           8
        #       Modes           "1024x768" "800x600"
        #EndSubSection
        #SubSection "Display"
        #       Depth           15
        #       Modes           "1024x768" "800x600"
        #EndSubSection
        SubSection "Display"
                Depth           16
                Modes           "1024x768" "800x600"
        EndSubSection
        SubSection "Display"
                Depth           24
                Modes           "1024x768" "800x600"
        EndSubSection
        Option "LCDClock" "220MHz"
EndSection

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        #InputDevice    "Configured Mouse"
        #InputDevice    "Generic Mouse"
        InputDevice     "Synaptics Mouse"       "CorePointer"
EndSection

Section "DRI"
        Mode    0666
EndSection

My video is a ProSavageDDR-K.

Any ideas to make my DRI working?


Regards,
Massimiliano
Comment 1 Massimiliano Mirabello 2006-03-27 18:27:22 UTC
A little update. I tried latest snapshot and common libraries (20060324). Now X
won't start and gives a black screen. With previows  common libraries (20060311)
glxgears gives always a little black screen (and 99% CPU usage).
Comment 2 Massimiliano Mirabello 2006-03-27 18:31:10 UTC
Created attachment 5080 [details]
Xorg.log with common-20060311
Comment 3 Massimiliano Mirabello 2006-03-27 18:32:37 UTC
Created attachment 5081 [details]
Xorg.log with common-20060324
Comment 4 Massimiliano Mirabello 2006-03-27 18:33:14 UTC
Created attachment 5082 [details]
Latest Kernel configuration
Comment 5 Massimiliano Mirabello 2006-03-27 18:34:11 UTC
Created attachment 5083 [details]
Latest Xorg configuration
Comment 6 Joachim Frieben 2006-05-30 03:04:27 UTC
I have the same problem w/Fedora Core development on an "IBM ThinkPad T23"
(SuperSavage/IXC 64). This does not mean however, that "DRI" is not working.
"GL" screensavers work, so does "ppracer".
Comment 7 Daniel Neve 2006-06-14 13:09:32 UTC
I've got this problem too. I think it's related to the problem with Xorg 7.1 and
the apparent problems this version has with the nvidia and ati drivers - might
be graphics in general.
I've got a Targa Visionary 1600 laptop, which has a "VGA compatible controller:
S3 Inc. VT8636A [ProSavage KN133] AGP4X VGA Controller (TwisterK) (rev 01)"
according to lspci
I'm a gentoo user, with kernel 2.6.16
I have the following packages (installed by portage):
x11-drivers/xf86-video-savage 2.1.1
media-libs/mesa 6.5
x11-apps/mesa-progs 6.5
x11-base/xorg-x11 7.1
x11-base/xorg-server 1.1.0

Programs like Dosbox and scummvm seem to work still, but glxgears displays a
black window, and an opengl game that I'm making (that does not use the SDL)
creates a window, but doesn't ever draw to it, so you can still see the window
underneath (or what was there before the window appeared).
Comment 8 Johan Ehnberg 2006-06-17 12:34:02 UTC
Hi,

I can second this bug. My box is a portable HP OmniBook XE3 with a S3 Inc.
86C270-294 Savage/IX-MV (rev 13) running (all plain vanilla packaged) Ubuntu
6.06 with available updates as of 2006-06-17. A little more detail:

Device: 5333:8c12
X.org: 7.0.0
Kernel: 2.6.15

The reason why people are reporting this bug with their 3D is because (at least
it suspect so) 3D support is new in the driver for the affected cards. Out of
the box this problem is worse that having no support for 3D at all of course, as
software rendering worked for the affected cards.

I realize there is not much joy or power in this chip anymore, and this box is
being used primarily for productivity anyway, so it's not a big deal. If you
need more info I will be available for this bug until august, when my work here
is done and I no longer have access to the computer :).

Cheers,
Johan Ehnberg
johan at ehnberg dot net
Comment 9 Alex Deucher 2006-06-17 12:58:59 UTC
I'm not able to reproduce the problem.  You might try some combination of the
following options and see if they help:

Option "BusType" "PCI"
Option "DmaMode" "None"
Option "AGPMode" "2" # or 4 depending on what the max speed you chip supports

You also may want to try the latest drm from drm cvs.
Comment 10 Joachim Frieben 2006-06-18 04:52:20 UTC
(In reply to comment #9)

None of your suggestions brings any improvement. I am running Fedora rawhide,
and here, the kernel modules are already at their latest versions. Furthermore,
adding your suggested options to my "xorg.conf" has no effect. "Xorg" is version
7.1. The standard "xscreensaver" modules such as "juggler3d", etc. work
flawlessly with hardware rendering, but when I launch "glxgears" or use
"OpenDX", the respective windows is plain black, and CPU load jumps to 100%.
However, nothing (visible) is ever rendered to the screen. The graphics chips is
a "SuperSavage/IXC 64". Btw, the "composite" extension is not enabled.
Comment 11 Joachim Frieben 2006-06-18 08:24:54 UTC
(In reply to comment #8)

I cannot confirm this for an "IBM ThinkPd T23" and a "SuperSavage/IXC 64" chip
which is very similar to the "Savage/IX-MV". When I boot from a "Ubuntu 6.06
LTS" live CD, hardware rendering is up and running without any hassle. At a
resolution of 1024x768@16bpp, "glxgears" paces along nicely at 500 fps. The
issue appeared in my case only with some RC of "Xorg" 7.1, not for "Xorg" 7.0.0
used by "Ubuntu 6.06 LTS".
Comment 12 Daniel Neve 2006-06-20 09:30:49 UTC
(In reply to comment #11)
> (In reply to comment #8)
> 
> I cannot confirm this for an "IBM ThinkPd T23" and a "SuperSavage/IXC 64" chip
> which is very similar to the "Savage/IX-MV". When I boot from a "Ubuntu 6.06
> LTS" live CD, hardware rendering is up and running without any hassle. At a
> resolution of 1024x768@16bpp, "glxgears" paces along nicely at 500 fps. The
> issue appeared in my case only with some RC of "Xorg" 7.1, not for "Xorg" 7.0.0
> used by "Ubuntu 6.06 LTS".

I had no problems with Xorg 7.0 - This laptop didn't have linux installed on it
before then. this problem has only emerged with the recent 7.1 release
Comment 13 Mike A. Harris 2006-07-24 20:33:36 UTC
I've updated the Fedora bug for this issue:

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

I've attempted a workaround for this issue and put it in an updated savage
driver in rawhide, however it is completely untested as I do not have
savage video hardware to test with.

Fedora users, please test the new rawhide driver.  Users of other distros
can snag the src.rpm and rebuild with my patch, or grab everything from
Fedora CVS.

TIA
Comment 14 Daniel Stone 2006-07-24 21:20:34 UTC
can you please just attach the patch?
Comment 15 Mike A. Harris 2006-07-24 22:54:23 UTC
Created attachment 6334 [details] [review]
savage-disable-dri-bug196011.patch

Sure..	here she be (completely untested)
Comment 16 Joachim Frieben 2006-07-25 02:51:13 UTC
(In reply to comment #15)
Come on, disabling "DRI" completely is not an acceptable suggestion. This is
maybe admissible for fixing

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

as a distribution related patch in order to ensure the necessary reliability for
upcoming FC6. Upstream "bugs.freedesktop.org" is the place to investigate the
issue and to actually track down the bug. I recall that the current issue was
not present in "Xorg 7.0". It is hence a mere regression with respect to a
previous, working release.
Comment 17 Mike A. Harris 2006-07-26 06:56:05 UTC
(In reply to comment #16)
> (In reply to comment #15)
> Come on, disabling "DRI" completely is not an acceptable suggestion. This is
> maybe admissible for fixing
> 
>   https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=196011
> 
> as a distribution related patch in order to ensure the necessary reliability for
> upcoming FC6. Upstream "bugs.freedesktop.org" is the place to investigate the
> issue and to actually track down the bug.

There seems to be a misunderstanding here, so let me try to resolve it
by explaining things, at least how I see it.

The savage driver seems to have regressed at some point, and it appears
that it was due to the integration of DRI support for newer hardware
from the troubleshooting present in the linked Red Hat bug report and
this one.  Ultimately, the only "good" solution is for the savage driver
to be fixed so that there are no problems with or without DRI on any
hardware.  Additionally, IMHO at least, the driver should "just work"
by default on all hardware without requiring the end user to provide
any special configuration options.

That would be the ideal situation at least.  Right now however, there is
no real fix available yet, so it makes sense to provide users with a
workaround if possible.  Disabling DRI on the affected systems seems to
work around the issue, so in order to have an out of the box working
setup for /all/ Fedora users, it makes sense to disable DRI by default
on the chips which have been reported to not work properly if DRI is
enabled, until there is a better fix available.

My untested patch intends to disable DRI by default on the chips that
are known to not work right when it is enabled, and to allow users
to forcibly re-enable DRI by configuration if desired.  This patch
was intended as a Fedora workaround until a newer savage driver is
available upstream at X.Org which has resolved the problem.  Since the
problem isn't Fedora specific, and also since I'd like other people
to test it who may or may not be using Fedora, I commented about my
proposed workaround here to give others the opportunity to test it,
and in case other distributions were interested in the workaround as
well.

Wether X.Org is interested in providing this workaround in the official
savage driver or not does not matter to me.  Personally I'd prefer to
see a proper fix than have the workaround, but right now for Fedora at
least we need a workaround until a proper fix is available.

I only attached the patch here because Daniel asked me to.  If I had written
the patch with the intention of getting X.Org to include it in the official
driver, I'd have attached the patch to the bug report initially, and explicitly
asked for it to be committed to CVS.  I didn't do that however, as that was
not my intention.

Hopefully this clarifies any misunderstanding you have now.


> I recall that the current issue was not present in "Xorg 7.0". It is
> hence a mere regression with respect to a previous, working release.

Hopefully that will help those working on Savage DRI support to narrow
down the problem and fix it in a future driver update.  Once a fix is
available, we can disable the Fedora workaround.


I'm still interested in good/bad feedback from those affected by the
problem as to wether the patch works right for them or not.  It's in
rawhide right now.

Thanks in advance.
Comment 18 hansheng 2006-08-30 22:46:31 UTC
very bad~~ can run Google Earth, 3d games...  when i upgrade to last Ubuntu 
Edgy.  S3 Graphics ProSavage DDR.  may any nice man help improve this?  TQ.  ^O^
Comment 19 Pascal Sclafer 2006-09-16 01:11:27 UTC
The bug comes from a lock on drawable acquirered in the function DRIClipNotify
of the file dri.c from the X server. The lock is after that never released. 
And because of this lock the Mesa driver enters in a endless loop, for instance
in  DoBindContext of dri_util.c waiting for this lock to be released.

The guilty modification has been done between the 1.16 and 1.17 revisions of
dri.c . This change was trying to correct an ugly hack in the file dri.c

A DRI guru should have a look on that, and help us to correct that issue.

 In a couple of day, I could propose a corrective patch, but I'm not sure of
what I could do, because I have only a limited comprehension of the DRI system. 
Comment 20 Alex Deucher 2006-09-16 13:11:39 UTC
(In reply to comment #19)
> The bug comes from a lock on drawable acquirered in the function DRIClipNotify
> of the file dri.c from the X server. The lock is after that never released. 
> And because of this lock the Mesa driver enters in a endless loop, for instance
> in  DoBindContext of dri_util.c waiting for this lock to be released.
> 
> The guilty modification has been done between the 1.16 and 1.17 revisions of
> dri.c . This change was trying to correct an ugly hack in the file dri.c
> 
> A DRI guru should have a look on that, and help us to correct that issue.
> 
>  In a couple of day, I could propose a corrective patch, but I'm not sure of
> what I could do, because I have only a limited comprehension of the DRI system. 


Does the DRI work if you disable AIGLX?  ALso have you tried with the latest X
server from git?  There were some locking changes that might help.  I'll try and
look into this as well, but I'm not too familiar with the dri locking myself. 
Thanks for tracking this down.
Comment 21 gpovero 2006-09-17 02:46:06 UTC
(In reply to comment #20)
> (In reply to comment #19)
> > The bug comes from a lock on drawable acquirered in the function DRIClipNotify
> > of the file dri.c from the X server. The lock is after that never released. 
> > And because of this lock the Mesa driver enters in a endless loop, for instance
> > in  DoBindContext of dri_util.c waiting for this lock to be released.
> > 
> > The guilty modification has been done between the 1.16 and 1.17 revisions of
> > dri.c . This change was trying to correct an ugly hack in the file dri.c
> > 
> > A DRI guru should have a look on that, and help us to correct that issue.
> > 
> >  In a couple of day, I could propose a corrective patch, but I'm not sure of
> > what I could do, because I have only a limited comprehension of the DRI system. 
> 
> 
> Does the DRI work if you disable AIGLX?  ALso have you tried with the latest X
> server from git?  There were some locking changes that might help.  I'll try and
> look into this as well, but I'm not too familiar with the dri locking myself. 
> Thanks for tracking this down.
> 

i have disabled AIGLX, nothing changes!!!
Comment 22 Pascal Sclafer 2006-09-17 18:24:14 UTC
I found how to correct the bug.
The SAREA drawable lock must be released in the BlockHandler overloaded by the
savage DRI driver, as it is done in the original BlockHandler function.
I post two patches to resolve the problem.
They first apply on the xserver tree, and the second on the savage-driver tree.
Comment 23 Pascal Sclafer 2006-09-17 18:25:34 UTC
Created attachment 7035 [details] [review]
DRI Patch
Comment 24 Pascal Sclafer 2006-09-17 18:26:04 UTC
Created attachment 7036 [details] [review]
Savage Driver patch
Comment 25 Alex Deucher 2006-09-17 22:32:58 UTC
Created attachment 7041 [details] [review]
not-working possible fix

Ajax and I were discussing this on IRC today.  Savage takes and releases the
context lock in its wakeup and block handlers which screws up the ref counting
and because it replaces the DRI's blockhandler chain, core blockhandler changes
never make their way to the driver.  the attached non-functioning patch based
on ajax's is I think a step in the right direction, but something's still not
right.
Comment 26 gpovero 2006-09-18 01:50:55 UTC
(In reply to comment #22)
> I found how to correct the bug.
> The SAREA drawable lock must be released in the BlockHandler overloaded by the
> savage DRI driver, as it is done in the original BlockHandler function.
> I post two patches to resolve the problem.
> They first apply on the xserver tree, and the second on the savage-driver tree.

howto can i apply these patches?
Comment 27 Pascal Sclafer 2006-09-18 08:18:11 UTC
The patch proposed by Alex Deucher works fine. I tested it. I think, it is
better to call the original block handler, instead of trying to copy its behaviour.

I think, that this patch should be commited on the official driver.

Comment 28 Alex Deucher 2006-09-18 08:44:45 UTC
(In reply to comment #27)
> The patch proposed by Alex Deucher works fine. I tested it. I think, it is
> better to call the original block handler, instead of trying to copy its
behaviour.
> 
> I think, that this patch should be commited on the official driver.
> 
> 

Hmmm... there may be other problems with the savage 3D driver in xorg 7.1
then...  I'm still getting lockups.  Perhaps it's an issue with my setup.  I'll
apply the patch soon.  Thanks again for tracking this down!
Comment 29 Joachim Frieben 2006-09-18 09:28:49 UTC
(In reply to comment #25)
Great work! I have applied your patch to the current "Fedora rawhide" package
"xorg-x11-drv-savage-2.1.1-5.fc6", and it works nicely. Finally, "glxgears" is
back, and moreover, the patch also fixes
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=196011 and
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=195851
which means it kills 3 birds with one stone :)
Comment 30 Alex Deucher 2006-09-18 19:33:21 UTC
pushed to savage git master.


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.