Bug 16859

Summary: blank screen with S3 driver v0.6.0 and with "86C775 Trio64V2/DX, 86C785 Trio64V2/GX" chipset
Product: xorg Reporter: Uwe Galle <uga>
Component: Driver/s3Assignee: Xorg Project Team <xorg-team>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium CC: hhielscher, zoubok
Version: 7.2 (2007.02)   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard: 2011BRB_Reviewed
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log generated by sax2 none

Description Uwe Galle 2008-07-26 00:20:57 UTC
Created attachment 17906 [details]
Xorg.0.log generated by sax2

I am using openSUSE 10.3 with Xorg 7.2.0. According to hwinfo --gfxcard I have a "86C775 Trio64V2/DX, 86C785 Trio64V2/GX" on board controller. I cloned the latest git commit (with git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-s3), qgit shows that this is the version of 07.07.08. I compiled this driver with

autoreconf -fi
./configure --prefix=/usr
make
make install

I restarted the system in runlevel 3 and invoked sax2 what results in a blank screen. This shows that the system is not configurable with the S3 driver. With Ctrl-Alt-del the system can be restarted.

My hwinfo --gfxcard shows

15: PCI 0f.0: 0300 VGA compatible controller (VGA)              
  [Created at pci.301]
  UDI: /org/freedesktop/Hal/devices/pci_5333_8901
  Unique ID: _+Pw.zRTkGjKA2qF
  SysFS ID: /devices/pci0000:00/0000:00:0f.0
  SysFS BusID: 0000:00:0f.0
  Hardware Class: graphics card
  Model: "S3 86C775 Trio64V2/DX, 86C785 Trio64V2/GX"
  Vendor: pci 0x5333 "S3 Inc."
  Device: pci 0x8901 "Trio 64V2/DX or /GX"
  SubVendor: pci 0x5333 "S3 Inc."
  SubDevice: pci 0x8901 "86C775 Trio64V2/DX, 86C785 Trio64V2/GX"
  Revision: 0x16
  Memory Range: 0xf8000000-0xfbffffff (rw,non-prefetchable)
  Memory Range: 0x70100000-0x7010ffff (ro,prefetchable,disabled)
  IRQ: 18 (15 events)
  I/O Ports: 0x3c0-0x3df (rw)
  Module Alias: "pci:v00005333d00008901sv00005333sd00008901bc03sc00i00"
  Driver Info #0:
    XFree86 v4 Server Module: s3
  Config Status: cfg=no, avail=yes, need=no, active=unknown

Primary display adapter: #15


The essential parts of My Xorg.0.log are

(II) Host-to-PCI bridge:
(II) Bus 1: bridge is at (0:0:0), (1,1,0), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 1 I/O range:
	[0] -1	0	0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) Bus 1 non-prefetchable memory range:
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX[B]
(II) Bus 1 prefetchable memory range:
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX[B]
(--) PCI:*(0:15:0) S3 Inc. 86c775/86c785 [Trio 64V2/DX or /GX] rev 22, Mem @ 0xf8000000/26
(II) Addressable bus resource ranges are
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX[B]
	[1] -1	0	0x00000000 - 0x0000ffff (0x10000) IX[B]

...

(II) Loading sub module "xaa"
(II) LoadModule: "xaa"
(II) Loading /usr/lib/xorg/modules//libxaa.so
(II) Module xaa: vendor="X.Org Foundation"
	compiled for 7.2.0, module version = 1.2.0
	ABI class: X.Org Video Driver, version 1.2
(II) do I need RAC?  No, I don't.
(II) resource ranges after preInit:
	[0] 0	0	0xf8000000 - 0xfbffffff (0x4000000) MS[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	0xf7e00000 - 0xf7efffff (0x100000) MX[B]
	[6] -1	0	0xf7fffc00 - 0xf7fffcff (0x100) MX[B]
	[7] -1	0	0xfebfdc00 - 0xfebfdc1f (0x20) MX[B]
	[8] -1	0	0xfebfe000 - 0xfebfffff (0x2000) MX[B]
	[9] -1	0	0xf8000000 - 0xfbffffff (0x4000000) MX[B](B)
	[10] 0	0	0x000a0000 - 0x000affff (0x10000) MS[B](OprD)
	[11] 0	0	0x000b0000 - 0x000b7fff (0x8000) MS[B](OprD)
	[12] 0	0	0x000b8000 - 0x000bffff (0x8000) MS[B](OprD)
	[13] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[14] -1	0	0x00000000 - 0x000000ff (0x100) IX[B]
	[15] -1	0	0x00004800 - 0x000048ff (0x100) IX[B]
	[16] -1	0	0x00004700 - 0x000047ff (0x100) IX[B]
	[17] -1	0	0x0000ff00 - 0x0000ff1f (0x20) IX[B]
	[18] -1	0	0x0000ffa0 - 0x0000ffaf (0x10) IX[B]
	[19] -1	0	0x00002180 - 0x0000219f (0x20) IX[B]
	[20] -1	0	0x00002000 - 0x000020ff (0x100) IX[B]
	[21] 0	0	0x000003b0 - 0x000003bb (0xc) IS[B]
	[22] 0	0	0x000003c0 - 0x000003df (0x20) IS[B]
(==) s3(0): Write-combining range (0xf8000000,0x100000)


Here stops Xorg.0.log without preceding error message.

At the moment I don't want to upgrade to openSUSE 11.0 and Xorg 7.3.x because I have an application what is not fully tested on this release. So I need a solution for 7.2.0.

I attach the complete Xorg.0.log. Note that the configuration already hangs with sax2 so that I cannot provide a xorg.conf. I can start my X server with the vesa driver. I also tested the version 0.6.0 as of 19.03.08.
Comment 1 Evgeny Zubok 2008-07-29 14:28:22 UTC
The xorg.conf can be found here:

(++) Using config file: "/tmp/sax2-6970/xorg.conf" 

This is string from your log file.
Comment 2 Evgeny Zubok 2008-08-01 15:09:27 UTC
I also have S3 Trio64V2 but I haven't any problems with 0.4.0 to 0.6.0 versions. However my card is inserted into very, very old motherboard.

Have you second (e.g. Intel) videochip on motherboard? I have a few bug reports about the strange behaviour of S3 Trio64V/V+ with i965G and i810 chipsets during initialization phase and/or first minutes of working (the system hangs after this period). Your log breaks before or during the ScreenInit() phase (when your chip is configured by programming the registers) and doesn't go to the end. It looks like I/O conflict or something similar.

I'm preparing a patch for S3 driver, but it doesn't ready yet. So here are the first steps that come to mind.

1. If you have the skills to compile driver, I recommend you to enable PCI read burst in the driver. It can be done by searching the following part in s3_driver.c:

if (pS3->SlowDRAMRefresh)
	new->cr3a = 0xb7;
else
	new->cr3a = 0xb5;


and replacing it with:

if (pS3->SlowDRAMRefresh)
	new->cr3a = 0x37;
else
	new->cr3a = 0x35;


These changes will enable PCI read bursts in videochip.


2. Also you can try to disable MTRR by

"Option"  "NoMtrr"

This change will disable Write-combining (your log breaks after that message).

The next steps depends from results. And could you attach 'lspci -v' and 'cat /proc/ioports' output?
Comment 3 Jeremy Huddleston Sequoia 2011-10-16 15:09:15 UTC
Is this still an issue?  What is the status of the changes you mentioned in the 
previous comment?
Comment 4 GitLab Migration User 2018-08-10 20:45:36 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-s3/issues/1.

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.