Solved Shocking X performance on S3 Prosavage DDR

Well this is a curious one:

Have some old machines that need converting into essentially thin clients for a terminal server environment so they just need to stagger into X (using LXDE as the display manager) and start FreeRDP.

When I first installed X (7.5.2) I complied packages from the ports on a different machine and then copied packages which I had created from this to the clients. Missing the S3 driver out. Now here is the rub. X performance was great (in fact "quicker" than when XP was installed), but the X server would crash leaving a blank screen on logout and an inability to communicate with the machine via normal inputs or SSH.

So, I faffed on and recompiled the xorg-drivers port to include S3 support. Copied that across to the client and installed. This cured the X crashing and showed proper detection of the graphics card; however, X performance is poor beyond belief. Hard to illustrate but as one types the characters literally appear in one second intervals. Open lxterminal or other window and watch as the system draws each element of the window. Title bar, minimise, maximise finally close button.

Any suggestions\experience?

I wondered if I would have to recompile xorg with the S3 enabled in the drivers dependant package as perhaps it needed the drivers? I am staggered at how a wonderfully fast system (with buggy shutdown) now drags it's behind so much.

The hardware details can be found from Gigabyte's website. Model GA-7VKMP. Just in case I missed something glaringly obvious that means it won't run X well. Although I have had Lubuntu working fine with this.

Would it be worth installing Lubuntu, nicking the xorg.conf file and sticking that in the FreeBSD version? Any mucking about needed with AGPGART?

xorg.conf as follows:

Code:
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
	ModulePath   "/usr/local/lib/xorg/modules"
	FontPath     "/usr/local/lib/X11/fonts/misc/"
	FontPath     "/usr/local/lib/X11/fonts/TTF/"
	FontPath     "/usr/local/lib/X11/fonts/OTF"
	FontPath     "/usr/local/lib/X11/fonts/Type1/"
	FontPath     "/usr/local/lib/X11/fonts/100dpi/"
	FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
	Load  "dbe"
	Load  "dri"
	Load  "dri2"
	Load  "extmod"
	Load  "record"
	Load  "glx"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/sysmouse"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	#DisplaySize	  320   240	# mm
	Identifier   "Monitor0"
	VendorName   "STN"
	ModelName    "SAMTRON"
	HorizSync    30.0 - 71.0
	VertRefresh  50.0 - 160.0
	Option	    "DPMS"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"            	# [<bool>]
        #Option     "AccelMethod"        	# <str>
        #Option     "HWCursor"           	# [<bool>]
        #Option     "SWCursor"           	# [<bool>]
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "Rotate"             	# [<str>]
        #Option     "UseBIOS"            	# [<bool>]
        #Option     "LCDClock"           	# <freq>
        #Option     "ShadowStatus"       	# [<bool>]
        #Option     "CrtOnly"            	# [<bool>]
        #Option     "TvOn"               	# [<bool>]
        #Option     "PAL"                	# [<bool>]
        #Option     "ForceInit"          	# [<bool>]
        #Option     "Overlay"            	# [<str>]
        #Option     "TransparencyKey"    	# [<str>]
        #Option     "ForceInit"          	# [<bool>]
        #Option     "DisableXVMC"        	# [<bool>]
        #Option     "DisableTile"        	# [<bool>]
        #Option     "DisableCOB"         	# [<bool>]
        #Option     "BCIforXv"           	# [<bool>]
        #Option     "DVI"                	# [<bool>]
        #Option     "IgnoreEDID"         	# [<bool>]
        #Option     "BusType"            	# [<str>]
        #Option     "DmaType"            	# [<str>]
        #Option     "DmaMode"            	# [<str>]
        #Option     "AGPMode"            	# <i>
        #Option     "AGPSize"            	# <i>
        #Option     "DRI"                	# [<bool>]
        #Option     "AGPforXv"           	# [<bool>]
	Identifier  "Card0"
	Driver      "savage"
	VendorName  "S3 Inc."
	BoardName   "VT8375 [ProSavage8 KM266/KL266]"
	BusID       "PCI:1:0:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Any help gratefully received as I hope I'm not doing something dumb with the driver options as never seen those before! :)
 
There's no need to "recompile" x11-drivers/xorg-drivers. It's a meta-port and as such doesn't contain anything by itself. It simply installs a few drivers as dependencies. Simply installing x11-drivers/xf86-video-s3 would have worked too.

S3 cards are quite old and I don't think the driver has seen much action over the last couple of years.
 
I had similar problems with old motherboards that had Savage and ProSavage graphics on board. And much older versions of FreeBSD. Later versions of xorg seemed to work better. That would have been about four years ago. If I had to use those... fine things again, I'd experiment with the driver settings. Things like AccelMethod could be the problem, or maybe composite or some other feature newer stuff expects by default.

Copying an xorg.conf from Linux is probably not going to help unless it uses a similar version of xorg. Maybe not even then, but it's worth comparing settings. Device and Screen are important.

If you post the /var/log/Xorg.0.log from the working but slow configuration to pastebin.com, maybe we can spot something in it.
 
Good Morning Chaps!

First of all I recompiled the x11-drivers/xorg-drivers as from looking at what Windows had detected I noticed Mirage AND S3 drivers. (See bottom attached file) so that meta port gave me a nice way of selecting to compile the S3 and Mirage drivers, just in case. I am new to Xorg and haven't fully figured out how the drivers work yet.

Right pasted the Xorg.0.log to pastebin. First time I had used that nifty tool thanks for pointing me in that direction!

I have a feeling that turning features off will be the answer as I did a
Code:
pkg_add -r xorg lxde-meta
and had lovely performance but exit crashing. Might try re-installing and configuring Xorg and comparing the difference between the two xorg.conf.

Had a look at the Ubuntu box that I had running but it appears that it doesn't generate an xorg.conf.

I am off to tinker and if you spot anything in the log let me know :)

Many thanks
 

Attachments

  • 20130124_110502.jpg
    20130124_110502.jpg
    25.1 KB · Views: 790
Solved

Not quite sure how to mark this as solved but get back my performance of uncommenting (duh!)
Code:
Option "NoAccel" "on"
in the xorg.conf.

Hours spent trawling and printing manuals and blurry eyed late night sessions too! Grrrrr......thanks for your help though!:)
 
Back
Top