Bug 125866

Summary: Use Xorg's "s3virge" driver instead of "vesa" for Trio3D.
Product: [Fedora] Fedora Reporter: Dr. Tilmann Bubeck <tilmann>
Component: hwdataAssignee: X/OpenGL Maintenance List <xgl-maint>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 2CC: barryn
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-04-04 17:43:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 136451    
Attachments:
Description Flags
lspci -vn
none
XFree86 log file
none
lspci -vn
none
Xorg.0.log none

Description Dr. Tilmann Bubeck 2004-06-12 20:21:32 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-AT; rv:1.6) Gecko/20040113

Description of problem:
I have a Trio3D VGA card in my IBM GL300 PC. Anaconda properly detects
the chipset of the graphics card but selects the "vesa" driver instead
of the better "s3virge". Please change Anaconda, so that it selects
"s3virge".

[root@localhost root]# lspci
00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host
bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge
(rev 03)
00:02.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
00:02.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
00:02.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:14.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
(rev 08)
01:01.0 VGA compatible controller: S3 Inc. Trio 64 3D (rev 01)

01:01.0 VGA compatible controller: S3 Inc. Trio 64 3D (rev 01)
(prog-if 00 [VGA])
        Subsystem: IBM Integrated Trio3D
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium
>TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (1000ns min, 63750ns max)
        Interrupt: pin A routed to IRQ 0
        Region 0: Memory at f4000000 (32-bit, non-prefetchable)
[size=768K]
        Expansion ROM at 00010000 [disabled]
        Capabilities: [44] Power Management version 1
                Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-



Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Install FC2
2.
3.
    

Additional info:

Comment 1 Mike A. Harris 2004-07-06 16:31:21 UTC
I need an X server log from while you're using the s3virge driver
in order to get the specific PCI ID and implement this change
properly.  Please attach using the link below.

Thanks in advance.

Comment 2 Mike A. Harris 2004-07-11 13:22:40 UTC
ping

We need an X server log, or "lspci -vn" to get the PCI ID, or we
can't make this change.

Thanks in advance.

Comment 3 Dr. Tilmann Bubeck 2004-07-11 18:16:48 UTC
Created attachment 101796 [details]
lspci -vn

output from lspci -vn

Comment 4 Dr. Tilmann Bubeck 2004-07-11 18:17:53 UTC
Created attachment 101797 [details]
XFree86 log file

This is /var/log/XFree86.0.log from a FC1 system.

Comment 5 Kai Bolay 2004-08-26 14:28:05 UTC
Created attachment 103118 [details]
lspci -vn

Comment 6 Kai Bolay 2004-08-26 14:29:39 UTC
Created attachment 103119 [details]
Xorg.0.log

Comment 7 Mike A. Harris 2004-08-30 05:56:01 UTC
The driver for this video hardware was changed from the "s3virge"
driver to the "vesa" driver in 2002, due to a bug report from IBM
stating the s3virge driver gave corrupted video.

Please review bug #59956 to confirm the problem experienced by
that person does not occur for you at all.  I'll update that
bug to request the reporter of that bug test against rawhide also.

Thanks in advance.


Comment 8 Mike A. Harris 2004-08-30 06:19:37 UTC
New entry added to "pcitable" which specifies this card exactly,
including subvendor/subdevice fields, so this specific chip can
have the driver assigned individually.  I added a new entry
to the "Cards" file named "S3 Trio64 3D" which this pcitable
entry now maps to (the previous mapping was to the "S3 Trio3D"
entry).

I also changed both the old entry and the new entry to the "s3virge"
driver, so all hardware reporting device ID 0x8903 and 0x8904 will
now map to the same "s3virge" driver.  Under the new mapping scheme,
should anyone out there encounter problems now under the current
"s3virge" driver, we can reassign individual devices or subdevices
to a particular driver, rather than an all or nothing assignment.

Since there aren't a lot of people usually testing the S3 drivers
nowadays, I urge all S3 Trio users to test the new assignements
in rawhide as soon as possible, because it is very likely the
Fedora Core 3 release will ship with the new assignments as-is,
and if there are problems with this, we'll need to know far
in advance of the FC3 final release in order to have time to try
and fix the driver assignments.

Also, please report any actual "s3virge" driver bugs directly
to X.Org bugzilla, in order that the driver maintainers are
aware of any problems and may fix them.  We do not directly
maintain the driver, and our support for this hardware will mostly
be limited to driver reassignments and similar workarounds.

Thanks in advance for testing!

The new package is hwdata-0.124-1


Comment 9 Dr. Tilmann Bubeck 2004-09-26 20:02:55 UTC
The "bug" is still there.

I installed FC3-test2 and still got "vesa" instead of "s3virge".
(FC3-test2 has hwdata-0.131-1).

Comment 12 Mike A. Harris 2005-04-04 17:43:56 UTC
Here are the current hardware database entries for this hardware
in hwdata CVS head:

[pcitable]
0x5333  0x8904  "Card:S3 Trio3D"
0x5333  0x8904  0x1014  0x00db  "Card:S3 Trio64 3D"
0x5333  0x8904  0x1014  0x305c  "Card:S3 Trio64 3D"

I just added the entry for the specific subvendor/subdevice you guys
have, however it would have defaulted to the master entry previously,
and both of them are pointing to the same driver currently, so my recent
addition shouldn't change anything.


[Cards]
# Changed default driver for S3 Trio3D from "s3virge" to "vesa" driver as per
# bug #59956 in bugzilla.  The bug reporter of the above report should be
# consulted before changing this back to a native driver in the future.  This
# is changed for 4.2.0 post RHL 7.3.  --  July 26, 2002 - Mike A. Harris
# Update:  Bug #125866 has requested the driver for this hardware be changed
# to use the "s3virge" driver.  I've investigated the original bug #59956 and
# the PCI IDs are identical for all 3 users in those 2 bug reports, so I
# assume the "s3virge" driver works now in X.Org X11 6.7.99.903 et al.  I'm
# changing the default back from "vesa" to "s3virge" for the "S3 Trio3D" entry
# here, but I've added a new one named "S3 Trio64 3D" as well, which also
# defaults to the "s3virge" driver.  I've left the pcitable->Cards mapping
# alone for the 0x8904 and 0x8903 entries so that they can be changed in the
# future if a problem is discovered, however the new entry added to pcitable
# is for the specific card referenced in these above bug reports, specified
# including the subvendor/subdevice fields, so that we can assign drivers for
# these card ranges in a more finely grained manner.
NAME S3 Trio3D
CHIPSET S3 Trio3D
NOCLOCKPROBE
DRIVER s3virge
# See above comment for "S3 Trio3D" as it applies to this one as well.
# This "S3 Trio64 3D" entry is specifically for:
#       01:01.0 Class 0300: 5333:8904 (rev 01) Subsystem: 1014:00db
NAME S3 Trio64 3D
CHIPSET S3 Trio3D
NOCLOCKPROBE
DRIVER s3virge


It's possible the previous updates might have gotten the chip ID wrong,
but I've now manually confirmed this is correct in hwdata in rawhide,
so I'm closing this as "RAWHIDE" now.

If there are further problems, please reopen.

Thanks guys.

Comment 13 Dr. Tilmann Bubeck 2005-04-04 19:12:21 UTC
it works in FC3 (final).

Thanks.