Bug 16859 - blank screen with S3 driver v0.6.0 and with "86C775 Trio64V2/DX, 86C785 Trio64V2/GX" chipset
Summary: blank screen with S3 driver v0.6.0 and with "86C775 Trio64V2/DX, 86C785 Trio6...
Status: RESOLVED MOVED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/s3 (show other bugs)
Version: 7.2 (2007.02)
Hardware: x86 (IA32) Linux (All)
: medium major
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard: 2011BRB_Reviewed
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-26 00:20 UTC by Uwe Galle
Modified: 2018-08-10 20:45 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log generated by sax2 (22.74 KB, text/x-log)
2008-07-26 00:20 UTC, Uwe Galle
no flags Details

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.