Bug 89678 - SiS 530 Hardware 3D Acceleration Enabling Problem
SiS 530 Hardware 3D Acceleration Enabling Problem
Status: CLOSED WONTFIX
Product: Red Hat Linux
Classification: Retired
Component: redhat-config-xfree86 (Show other bugs)
8.0
i586 Linux
medium Severity medium
: ---
: ---
Assigned To: Brent Fox
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-04-25 17:34 EDT by Kenneth R. Fish
Modified: 2007-04-18 12:53 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-04-25 20:35:08 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Kenneth R. Fish 2003-04-25 17:34:57 EDT
Description of problem:  
  
When I open up the Red Hat X Display settings and click on the Advanced Tab, 
under the Video Card title I noticed the 
feature: 
 
Enable Hardware 3D Acceleration 
 
is non-existent (not turned on). This means I can't check off the box to get 
this feature. What is troubling is the fact that in XFree86 4.2 (which is in 
Red Hat 8), which is installed on my system, has the driver(s): 
 
    Kernel Module: sis.o 
2D XFree86 Driver: sis_drv.0 
      Driver Name: sis_dri.so 
       
Although I have an SiS 530 chipset, when using the probe feature, the Red Hat 
configurator points to a SiS 620 chipset. 
So, I used that. Any suggestions on fixing this problem/bug? Thank you very 
much. 
 
[root@localhost root]# glxinfo 
name of display: :0.0 
display: :0  screen: 0 
direct rendering: No 
server glx vendor string: SGI 
server glx version string: 1.2 
server glx extensions: 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context 
client glx vendor string: SGI 
client glx version string: 1.2 
client glx extensions: 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context 
GLX extensions: 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context 
OpenGL vendor string: VA Linux Systems, Inc. 
OpenGL renderer string: Mesa GLX Indirect 
OpenGL version string: 1.2 Mesa 3.4.2 
OpenGL extensions: 
    GL_ARB_multitexture, GL_EXT_abgr, GL_EXT_blend_color, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract 
glu version: 1.3 
glu extensions: 
    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess 
 
   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav 
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat 
---------------------------------------------------------------------- 
0x22 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None 
0x23 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 None 
 
[root@localhost root]# lspci 
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 530 Host (rev 02) 
00:00.1 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0) 
00:01.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513 (rev b1) 
00:01.1 Class ff00: Silicon Integrated Systems [SiS] ACPI 
00:01.2 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 11) 
00:02.0 PCI bridge: Silicon Integrated Systems [SiS] 5591/5592 AGP 
00:0a.0 Communication controller: Lucent Microelectronics Venus Modem (V90, 
56KFlex) 
00:0c.0 Multimedia audio controller: C-Media Electronics Inc CM8338B (rev 10) 
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 6306 
3D-AGP (rev a2) 
 
[root@localhost root]# xdpyinfo 
name of display:    :0.0 
version number:    11.0 
vendor string:    The XFree86 Project, Inc 
vendor release number:    40200000 
XFree86 version: 4.2.0 
maximum request size:  4194300 bytes 
motion buffer size:  256 
bitmap unit, bit order, padding:    32, LSBFirst, 32 
image byte order:    LSBFirst 
number of supported pixmap formats:    7 
supported pixmap formats: 
    depth 1, bits_per_pixel 1, scanline_pad 32 
    depth 4, bits_per_pixel 8, scanline_pad 32 
    depth 8, bits_per_pixel 8, scanline_pad 32 
    depth 15, bits_per_pixel 16, scanline_pad 32 
    depth 16, bits_per_pixel 16, scanline_pad 32 
    depth 24, bits_per_pixel 32, scanline_pad 32 
    depth 32, bits_per_pixel 32, scanline_pad 32 
keycode range:    minimum 8, maximum 255 
focus:  window 0x180000f, revert to PointerRoot 
number of extensions:    29 
    BIG-REQUESTS 
    DOUBLE-BUFFER 
    DPMS 
    Extended-Visual-Information 
    FontCache 
    GLX 
    LBX 
    MIT-SCREEN-SAVER 
    MIT-SHM 
    MIT-SUNDRY-NONSTANDARD 
    RECORD 
    RENDER 
    SECURITY 
    SGI-GLX 
    SHAPE 
    SYNC 
    TOG-CUP 
    X-Resource 
    XC-APPGROUP 
    XC-MISC 
    XFree86-Bigfont 
    XFree86-DGA 
    XFree86-DRI 
    XFree86-Misc 
    XFree86-VidModeExtension 
    XInputExtension 
    XKEYBOARD 
    XTEST 
    XVideo 
default screen number:    0 
number of screens:    1 
 
screen #0: 
  dimensions:    1024x768 pixels (347x260 millimeters) 
  resolution:    75x75 dots per inch 
  depths (7):    16, 1, 4, 8, 15, 24, 32 
  root window id:    0x36 
  depth of root window:    16 planes 
  number of colormaps:    minimum 1, maximum 1 
  default colormap:    0x20 
  default number of colormap cells:    64 
  preallocated pixels:    black 0, white 65535 
  options:    backing-store NO, save-unders NO 
  largest cursor:    64x64 
  current input event mask:    0xda4031 
    KeyPressMask             EnterWindowMask          LeaveWindowMask 
    KeymapStateMask          StructureNotifyMask      SubstructureNotifyMask 
    SubstructureRedirectMask PropertyChangeMask       ColormapChangeMask 
  number of visuals:    2 
  default visual id:  0x22 
  visual: 
    visual id:    0x22 
    class:    TrueColor 
    depth:    16 planes 
    available colormap entries:    64 per subfield 
    red, green, blue masks:    0xf800, 0x7e0, 0x1f 
    significant bits in color specification:    6 bits 
  visual: 
    visual id:    0x23 
    class:    TrueColor 
    depth:    16 planes 
    available colormap entries:    64 per subfield 
    red, green, blue masks:    0xf800, 0x7e0, 0x1f 
    significant bits in color specification:    6 bits 
 
 
XF86 CONFIGURATION FILE: 
 
# File generated by anaconda. 
 
Section "ServerLayout" 
	Identifier     "Anaconda Configured" 
	Screen      0  "Screen0" 0 0 
	InputDevice    "Mouse0" "CorePointer" 
	InputDevice    "Mouse1" "SendCoreEvents" 
	InputDevice    "Keyboard0" "CoreKeyboard" 
EndSection 
 
Section "Files" 
# The location of the RGB database.  Note, this is the name of the 
# file minus the extension (like ".txt" or ".db").  There is normally 
# no need to change the default. 
# Multiple FontPath entries are allowed (they are concatenated together) 
# By default, Red Hat 6.0 and later now use a font server independent of 
# the X server to render fonts. 
	RgbPath      "/usr/X11R6/lib/X11/rgb" 
	FontPath     "unix/:7100" 
EndSection 
 
Section "Module" 
	Load  "dbe" 
	Load  "extmod" 
	Load  "fbdevhw" 
	Load  "dri" 
	Load  "glx" 
	Load  "record" 
	Load  "freetype" 
	Load  "type1" 
EndSection 
 
Section "InputDevice" 
#	Option	"AutoRepeat"	"500 5" 
# when using XQUEUE, comment out the above line, and uncomment the 
# following line 
#	Option	"Protocol"	"Xqueue" 
# Specify which keyboard LEDs can be user-controlled (eg, with xset(1)) 
#	Option	"Xleds"		"1 2 3" 
# To disable the XKEYBOARD extension, uncomment XkbDisable. 
#	Option	"XkbDisable" 
# To customise the XKB settings to suit your keyboard, modify the 
# lines below (which are the defaults).  For example, for a non-U.S. 
# keyboard, you will probably want to use: 
#	Option	"XkbModel"	"pc102" 
# If you have a US Microsoft Natural keyboard, you can use: 
#	Option	"XkbModel"	"microsoft" 
# 
# Then to change the language, change the Layout setting. 
# For example, a german layout can be obtained with: 
#	Option	"XkbLayout"	"de" 
# or: 
#	Option	"XkbLayout"	"de" 
#	Option	"XkbVariant"	"nodeadkeys" 
# 
# If you'd like to switch the positions of your capslock and 
# control keys, use: 
#	Option	"XkbOptions"	"ctrl:swapcaps" 
	#Option	"XkbOptions"	"" 
	Identifier  "Keyboard0" 
	Driver      "keyboard" 
	Option	    "XkbRules" "xfree86" 
	Option	    "XkbModel" "pc105" 
	Option	    "XkbLayout" "us"	#Option	"XkbVariant"	"" 
EndSection 
 
Section "InputDevice" 
	Identifier  "Mouse0" 
	Driver      "mouse" 
	Option	    "Protocol" "PS/2" 
	Option	    "Device" "/dev/psaux" 
	Option	    "ZAxisMapping" "4 5" 
	Option	    "Emulate3Buttons" "no" 
EndSection 
 
Section "InputDevice" 
	Identifier  "Mouse1" 
	Driver      "mouse" 
	Option	    "Device" "/dev/input/mice" 
	Option	    "Protocol" "IMPS/2" 
	Option	    "Emulate3Buttons" "no" 
	Option	    "ZAxisMapping" "4 5" 
EndSection 
 
Section "Monitor" 
	Identifier   "Monitor0" 
	VendorName   "Monitor Vendor" 
	ModelName    "Panasonic SL70i(TX-D7S36)" 
	HorizSync    30.0 - 70.0 
	VertRefresh  50.0 - 180.0 
	Option	    "dpms" 
EndSection 
 
Section "Device" 
        #BusID 
	Identifier  "SiS 530" 
	Driver      "sis" 
	VendorName  "SiS 530" 
	BoardName   "SiS 620" 
	VideoRam    4096 
EndSection 
 
Section "Screen" 
	Identifier "Screen0" 
	Device     "SiS 530" 
	Monitor    "Monitor0" 
	DefaultDepth     16 
	SubSection "Display" 
		Depth     16 
		Modes    "1024x768" "800x600" "640x480" 
	EndSubSection 
EndSection 
 
Section "DRI" 
	Mode         0666 
EndSection
Comment 1 Mike A. Harris 2003-04-25 20:35:08 EDT
SiS 3D acceleration is officially "unsupported" by Red Hat.  In some releases
we have shipped the SiS driver DRI enabled, and have shipped the kernel DRM
module required for it as well.  It has _never_ worked on "all" SiS hardware
to my knowledge.  I'm only aware of it working on SiS620 before, as Alan Cox
had it going on that chip IIRC.

It's basically one of those things that "if the community can make it work,
and keep it working, fine, we'll probably ship it", but we don't maintain
it or support it.

The "3d accel" checkbox in our config tool isn't very accurate.  There is
no simple way for us to let the tool know what specific video cards have
DRI support in XFree86, and which ones have it enabled, etc. in a given
build, so there is no way to make it greyed out easily and accurately.

Basically, in RHL 8.0, redhat-config-xfree86 decides wether it will display
the 3D checkbox or not based on a driver list it is built with.  If the
driver is "radeon", "r128", it displays the 3D setting box, and it has
absolutely no idea (or way of knowing) wether or not the specific video
card one has actually has DRI support in XFree86 or not.  In RHL 9, I asked
for the list to include every driver that has DRI support for at least one
card, so that it is more useful to people.

The downside, is if you have a card that is NOT supported by DRI, but
which any other card supported by the same driver DOES have DRI support,
you will see and be able to toggle the 3D settings checkbox.

So yes, the config tool is a bit misleading with it's 3D checkbox, however
that isn't something easily solveable other than by removing the 3D
checkbox completely, and making people edit the config file to disable 3D.

That's not part of XFree86 in any case, so I won't go into it in any more
detail here.

I guess the short story is, if you want SiS 3D acceleration to work, and
it doesn't, it is probably not supported.  You should contact the DRI
project if you wish to work with them in order to get DRI working on any
SiS hardware, or to possibly test anything that someone else is working on.

Comment 2 Kenneth R. Fish 2003-06-13 16:08:43 EDT
I was very curious. When checking out the new kernel 2.6, I found this:  http://www.linuxhq.com/kernel/v2.5/70/drivers/char/agp/sis-agp.c  What do you think? Will this fix the problem? Thank you. 
Comment 3 Kenneth R. Fish 2003-10-12 17:06:50 EDT
Actually, after checking out: 
 
http://www.winischhofer.net/ 
 
(2. The XFree86 driver), it appears that the SiS 530/6306 chipset is "not supported by design" 
with respect to a DRI driver. Meaning that the Direct Rendering Infrastructure does NOT exist 
for the SiS 530/6306 chip. Oops! Sorry about that. And a large "Thank You" to Thomas 
Winischhofer, who happens to have an excellent site. 
Comment 4 Kenneth R. Fish 2004-06-30 16:23:33 EDT
This just keeps getting better and better:

http://dri.sourceforge.net/cgi-bin/moin.cgi/SiS

http://dri.sourceforge.net/cgi-bin/moin.cgi/SiS530

Wow! Talk about being technical. Whew!

http://softpixel.com/~cwright/papers/tech/0530DS10.PDF

From the looks of it, it would appear that SiS, or anyone else for 
that matter, NEVER made a "3-D" driver SPECIFICALLY for linux. The "2-
D" driver works great. But try playing Advanced Tactical Fighter Gold 
with WineX (any version) using Indirect Rendering (software 
acceleration). Starts extremely slow, then the program crashes. Too 
much work for my AMD K6-2 550 MHz processor to process. That "3-D" 
driver is needed very badly. For games or anything else (like CAD) to 
work properly.
Comment 5 Mike A. Harris 2004-06-30 18:23:03 EDT
The DRI project is always looking for new volunteers to write and/or
maintain code for new chipsets.  If you're a developer and have
a background in C programming and a good enough understanding of
assembler and register level programming, you might want to
consider joining the DRI project.

http://dri.sf.net is the homepage for the DRI project, which has
links to documentation for new developers to get started.  You may
also want to consider joining the weekly meetings on IRC on freenode:

irc.freenode.net #dri-devel on Mondays

I'm currently not aware of any project underway to implement 3D
acceleration on SiS chipsets, nor anyone who has expressed interest
in doing so yet.  Thomas Winisshofer is the best person to get in
touch with if you're interested in giving it a shot.

Hope this helps.

Good luck!

Note You need to log in before you can comment on or make changes to this bug.