Hi, all. I finally succeeded in compiling K6-optimized X binaries for
XF4.0.1.  So far, it's quite stable... I'm still having troubles with my
s3virge server hard-locking my box me when running moire2
screensaver...cheap card perhaps? If people would like to try these out, I
put the .debs up on ftp via
ftp://fh-wrstlr-198035.flinthills.com/pub/debian/.  Please be aware that
my DSL uplink is only 112Kbps.

I also included the patches for both the s3virge/gx2 chip and the k6
optimizations. Of course, I make no guarantees (proceed at your own
peril?) about these. Just put these into the debian/patches directory
before building X.


-- 
**  Derek J Witt                                                **
*   Email: mailto:[EMAIL PROTECTED]                             *
*   Home Page: http://www.flinthills.com/~djw/                   *
*** "Houston, the Eagle has landed and laid an egg!" -- Unknown **
--- xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_macros.h Fri Mar 31 
14:13:33 2000
+++ xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_macros2.h        Fri Nov 
 3 01:59:40 2000
@@ -97,7 +97,7 @@
 
 
 #define WAITFIFO(n) if(ps3v->NoPCIRetry) \
-        while(((INREG(SUBSYS_STAT_REG) >> 8) & 0x1f) < n){}
+        while(((INREG(SUBSYS_STAT_REG) >> 9) & 0x60) < n){}
 
 #define WAITIDLE()\
   do { int loop=0; mem_barrier(); \
--- /dev/null   Wed Jun  7 10:48:23 2000
+++ xc/config/cf/host.def       Thu Jul  6 19:05:20 2000
@@ -0,0 +1,710 @@
+XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.162 2000/05/31 07:14:52 eich Exp 
$
+/******************************************************************************/
+/*
+ * This file is to provide a quick method for most people to change the
+ * behaviour of their XFree86 installation without having to fully
+ * understand the workings of site.def and all the various '.cf' files.
+ *
+ * These are the most common settings you would choose for compiling and
+ * installing XFree86 on the systems supported by it.
+ *
+ * A good way to use this file is to copy it to host.def, and make the
+ * changes there.  That way, future patches to this file won't fail.
+ * The host.def file will never be patched.
+ *
+ * The distributed version of this file should contain no uncommented
+ * definitions.  Such default definitions belong in xfree86.cf.
+ */
+/******************************************************************************/
+
+/*
+ * If you have build-specific modifications in your host.def file, but
+ * want an empty host.def file installed when doing 'make install',
+ * uncomment the following
+ *
+ */
+#define InstallEmptyHostDef
+
+/*
+ * If you want to enable some developer settings, like more verbose
+ * compiler warnings, uncomment this.
+ *
+*/
+#define XFree86Devel   YES
+
+/*
+ * If using GCC 2.x on a system where it isn't the default, uncomment
+ * the following
+ *
+#define HasGcc2                YES
+#define HasGcc         YES
+ */
+
+/*
+ * If using GCC 2.x with C++ on a system where it isn't the default, uncomment
+ * the following.
+ *
+#define HasGcc2ForCplusplus    YES
+ */
+
+/*
+ * The default optimisation flags for GCC 2.x.  -fno-strength-reduce is
+ * here to work around a bug in -O2 for GCC 2.x on i386 platforms.
+ * If you are using a version that doesn't have this bug, you can
+ * uncomment the following line, and remove '-fno-strength-reduce'
+ * If you are building binaries for a 486, it may be beneficial to add
+ * -m486
+ */
+#define DefaultGcc2i386Opt     -O3 -fno-strength-reduce -march=k6 
-funroll-loops -finline-functions
+ 
+
+/*
+ * This allows the GCC warning flags to be set.  The default is shown here.
+ *
+#define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+                          -Wmissing-prototypes -Wmissing-declarations \
+                          -Wredundant-decls -Wnested-externs
+ */
+
+/*
+ * Sun Compiler stuff...
+ *
+#define HasSunC                         YES
+#define HasSunCplusplus                 YES
+#define CplusplusCompilerMajorVersion   5
+#define CplusplusCompilerMinorVersion   0
+#define CCompilerMajorVersion           5
+#define CCompilerMinorVersion           0
+ */
+
+/*
+ * Optimized Sun Compiler Build.
+ *
+#define DefaultCDebugFlags              -xO4 -xtarget=pentium_pro
+#define OptimizedCDebugFlags            -xO4 -xtarget=pentium_pro
+ */
+
+/*
+ * Debuggable Sun Compiler Build.
+ * Note: This builds _EVERYTHING_ as debuggable
+ *
+#define DefaultCDebugFlags              -g -xs
+#define OptimizedCDebugFlags            -g -xs
+ */
+
+/*
+ * For Linux, this should match the Binutils version you have.  This example
+ * is for 2.6.0.7.  See linux.cf for the default setting.
+ *
+ * This should automatically get set correctly by imake.
+ *
+#define LinuxBinUtilsMajorVersion      26
+ */
+
+/*
+ * For Linux, these should match the libc version you have.  This example
+ * is for libc.5.4.x.  See linux.cf for the default setting.
+ *
+ * This should automatically get set correctly by imake.
+ *
+#define LinuxCLibMajorVersion  5
+#define LinuxClibMinorVersion  4
+ */
+
+/*
+ * If you want to use the GNU malloc library, uncomment this
+ *
+#define UseGnuMalloc           YES
+ */
+
+/*
+ * Set this to whatever is required to access the GNU malloc library.
+ * The default is '-lgmalloc' unless is specified in the OS's .cf file.
+ *
+#define GnuMallocLibrary       -L/usr/local/lib -lgmalloc
+ */
+
+/*
+ * To enable the internal Xserver malloc, uncomment this
+ *
+#define UseInternalMalloc      YES
+ */
+
+/*
+ * Some Linux releases don't have a libtermcap.  In this case you may need
+ * to uncomment the following
+ *
+#define TermcapLibrary         -lncurses
+ */
+
+/*
+ * If you have Tk (which is required to build XF86Setup), uncomment this
+ * Note: version 4.0 or 4.1 is required, and XF86Setup links it statically by
+ * default.
+ *
+ */
+#define HasTk                  YES
+
+/*
+ * Set the paths and names for your Tk library if they don't match the
+ * defaults (check your OS .cf file or Imake.tmpl for the defaults).
+ *
+ * Common values for TkLibName are tk4.0, tk4.1, etc.
+ *
+ * Some Linux releases need TkIncDir set to /usr/include/tcl, and some
+ * need it set to /usr/X11R6/include.
+ *
+ * Some Linux releases need TkLibDir set to /usr/X11R6/lib
+ *
+ */
+#define TkLibDir               /usr/lib
+#define TkIncDir               /usr/include
+#define TkLibName              tk8.3
+
+/*
+ * By default, XF86Setup is linked with a static Tk library.  To change
+ * that, uncomment the following line.
+ *
+ */
+#define XF86SetupUsesStaticTk  NO
+
+/*
+ * If you have Tcl (which is required to build XF86Setup), uncomment this
+ * Note: version 7.4 or 7.5 is required, and XF86Setup links it statically by
+ * default.
+ *
+ */
+#define HasTcl                 YES
+
+/*
+ * Set the paths and names for your Tcl library if they don't match the
+ * defaults (check your OS .cf file or Imake.tmpl for the defaults).
+ *
+ * Common values for TclLibName are tcl7.4, tcl7.5, etc.
+ *
+ * Some Linux releases need TclIncDir set to /usr/include/tcl.
+ *
+ */
+#define TclLibDir              /usr/lib
+#define TclIncDir              /usr/include
+#define TclLibName             tcl8.3
+
+/*
+ * By default, XF86Setup is linked with a static Tcl library.  To change
+ * that, uncomment the following line.
+ *
+ */
+#define XF86SetupUsesStaticTcl NO
+
+/*
+ * Build a server that dynamically loads the modules by setting
+ * this to YES.  This defaults to YES on most platforms.  A static server
+ * can be built by setting this to NO.
+ *
+#define DoLoadableServer       NO
+ */
+
+/*
+ * Build dlopen() style modules instead of the standard loader modules.
+ *
+#define MakeDllModules         YES
+ */
+
+/*
+ * Which servers to build.  There is now only one XFree86 server.
+ * It can be disabled by the following.
+ *
+#define XF86Server             NO
+ */
+
+/*
+ * To disable building the Xnest server, uncomment this.
+ *
+#define XnestServer            NO
+ */
+
+/*
+ * To disable building Xvfb, uncomment this.
+ *
+#define XVirtualFramebufferServer      NO
+ */
+
+/*
+ * To disable building Xprt, uncomment this.
+ *
+#define XprtServer NO
+ */
+
+/*
+ * Set the default server (ie the one that gets the sym-link to "X")
+ *
+#define ServerToInstall                XFree86
+ */
+
+
+/*
+ * Server configuration parameters.  The defaults are shown here:
+ */
+
+/*
+ * Which drivers to build.  When building a static server, each of these
+ * will be included in it.  When building the loadable server each of these
+ * modules will be built.
+ *
+#define XF86CardDrivers                mga glint nv tga s3virge sis rendition \
+                               neomagic i740 tdfx \
+                               cirrus tseng trident chips apm \
+                               GlideDriver fbdev \
+                               ati r128 AgpGartDrivers cyrix \
+                               vga XF86OSCardDrivers XF86ExtraCardDrivers
+ */
+
+/*
+ * To add third party drivers to the standard driver list, set the
+ * following.
+ *
+#define XF86ExtraCardDrivers   extradriver1 extradriver2 ...
+ */
+
+/*
+ * Build XAA.  This can be disabled with:
+ *
+#define XF86XAA                        NO
+ */
+
+/*
+ * Build vgahw.  This can be disabled with:
+ *
+#define XF86VgaHw              NO
+ */
+
+/*
+ * Build xf1bpp.  This can be disabled with:
+ *
+#define XF1Bpp                 NO
+ */
+
+/*
+ * Build xf4bpp.  This can be disabled with:
+ *
+#define XF4Bpp                 NO
+ */
+
+/*
+ * BSD Console driver support (for FreeBSD and NetBSD).
+ *
+ * By default, support is included for pccons and pcvt for NetBSD, and
+ * pccons, syscons and pcvt for FreeBSD.
+ *
+ * To change the list of supported drivers, set the following parameter.
+ * Possible values are -DPCCONS_SUPPORT, -DSYSCONS_SUPPORT, -DPCVT_SUPPORT.
+ * The following example includes support for syscons and pcvt only.
+ *
+#define XFree86ConsoleDefines  -DSYSCONS_SUPPORT -DPCVT_SUPPORT
+ */
+
+/*
+ * If you only run the X server under xdm the X servers don't need to be
+ * installed SetUID, and you may comment out the lines below.  If you run
+ * the servers by hand (with xinit or startx), then they do need to be
+ * installed SetUID on most OSs.
+ * Consult your system administrator before making the X server setuid.
+ *
+#define InstallXserverSetUID   NO
+ */
+
+/*
+ * To disable building the font server, uncomment this.
+ *
+#define BuildFontServer                NO
+ */
+
+/*
+ * To disable support for Speedo fonts, uncomment this.
+ *
+#define BuildSpeedo            NO
+ */
+
+/*
+ * To disable support for Type1 fonts, uncomment this.
+ *
+#define BuildType1             NO
+ */
+
+/*
+ * To disable support for CID fonts, uncomment this.
+ *
+#define BuildCID               NO
+ */
+
+/*
+ * To disable support for TrueType fonts, uncomment these.
+ *
+#define BuildFreeType          NO
+#define BuildXTrueType         NO
+ */
+
+/*
+ * Do you want to Build Fonts (Usually you only want to build and install
+ * fonts once, if this is a first time install you will want to build the
+ * fonts)
+ *
+#define BuildFonts             NO
+ */
+
+/*
+ * To not build/install the 75dpi fonts, uncomment the following
+ *
+#define Build75DpiFonts                NO
+ */
+
+/*
+ * To not build/install the 100dpi fonts, uncomment the following
+ *
+#define Build100DpiFonts       NO
+ */
+
+/*
+ * To not build/install the Speedo fonts, uncomment the following
+ *
+#define BuildSpeedoFonts       NO
+ */
+
+/*
+ * To not build/install the Type1 fonts, uncomment the following
+ *
+#define BuildType1Fonts                NO
+ */
+
+/*
+ * To not build/install the CID fonts, uncomment the following
+ *
+#define BuildCIDFonts          NO
+ */
+
+/*
+ * To not build/install the Cyrillic fonts, uncomment the following
+ *
+#define BuildCyrillicFonts     NO
+ */
+
+/*
+ * To not build/install the Latin2 fonts, uncomment the following
+ *
+#define BuildLatin2Fonts       NO
+ */
+
+/*
+ * To not install the local font directory, uncomment the following
+ *
+#define MakeLocalFontDir       NO
+ */
+
+/*
+ * To build only the servers with a cut-down source tree, uncomment
+ * this.
+ *
+#define BuildServersOnly       YES
+ */
+
+/*
+ * To disable building XInput support, uncomment this
+ *
+#define BuildXInputExt         NO
+ */
+
+/*
+ * Select the XInput devices you want by uncommenting this.
+ *
+ */
+#define XInputDrivers mouse dynapro elo2300 elographics magellan microtouch \
+       mutouch spaceorb wacom void
+
+/*
+ * Uncomment this for joystick support.
+ *
+ * Note: Joystick support is only included for Linux and FreeBSD at the
+ * moment.  For Linux it requires the Joystick module to be installed (it
+ * isn't part of the standard kernel distribution).  For FreeBSD, a kernel
+ * will need to be built with the Joystick driver in order to be able to
+ * use this.
+ *
+#define JoystickSupport YES
+ */
+
+/*
+ * To disable the ScreenSaver Extension, uncomment this line.
+ *
+#define BuildScreenSaverExt    NO
+ */
+
+/*
+ * If you don't want to build PEX, uncomment this.
+ *
+#define BuildPexExt            NO
+ */
+
+/*
+ * If you don't want to build Xinerama support, uncomment this.
+ *
+#define BuildXinerama          NO
+ */
+
+/*
+ * If you don't want to build support for an external GLX server module or
+ * library, uncomment this.
+ *
+#define BuildGlxExt             NO
+ */
+
+/*
+ * If you want to build support for the old dlopen style external GLX
+ * server module or library, uncomment this.
+ *
+#define GlxStubLib              YES
+ */
+
+/*
+ * If you aren't building with support for loadable modules and wish
+ * to statically link external GLX server libs instead of the default
+ * non-functional stub library, uncomment the following define and
+ * specify the space-seperated pathnames of those libraries here.
+ *
+#define GlxStaticServerLib     /full/path/name/to/glx/servGL/libServerGlx.a \
+                               /full/path/name/to/glx/servGL/libMesaGlx.a
+ */
+
+/*
+ * If you don't want to build XIE, uncomment this.
+ *
+#define BuildXIE               NO
+ */
+
+/*
+ * If you want to build only the DIS (Document Imaging Subset of XIE)
+ * uncomment this line.  This option is only relevant when XIE is built.
+ *
+#define BuildDIS               YES
+ */
+
+/*
+ * If you don't want to build the xf86rush extension, uncomment this line.
+ *
+#define BuildXF86RushExt       NO
+ */
+
+/*
+ * If you don't want to build the client library for the xf86rush extension,
+ * uncomment this line.
+ *
+#define BuildXF86RushLibrary   NO
+ */
+
+/*
+ * By default, the sample config files for xinit, xdm and xfs are installed
+ * only when there is no pre-existing version installed.  Uncommenting the
+ * following lines will force the sample versions to be installed even if
+ * it means over-writing existing versions.
+ *
+ */
+#define InstallXinitConfig     YES
+#define InstallXdmConfig       YES
+#define InstallFSConfig                YES
+
+/*
+ * By default the application defaults files are always installed.
+ * Uncommenting the the following will prevent exising application
+ * defaults files from being over-written.
+ *
+#define InstallAppDefFiles     NO
+ */
+
+/*
+ * If you are running NetBSD 0.9C or later, and have the aperture driver
+ * installed, uncomment this.
+ *
+#define HasNetBSDApertureDriver        YES
+ */
+
+/*
+ * If you are running SVR3 and have the mmap driver installed (for linear
+ * framebuffer access) uncomment this.
+ *
+#define HasSVR3mmapDrv YES
+ */
+
+/*
+ * If you are using an SVR3 (like ISC 4.x) which supports long file names,
+ * you can * uncomment this to have manual pages installed under their
+ * full names
+ *
+#define ExpandManNames         YES
+ */
+
+/*
+ * For a POSIXized build on Interactive uncomment this
+ * Could be used with gcc 'till Version 2.6.3
+ * Should be used with gcc 2.7.2.
+ *
+#define UsePosix               YES
+ */
+
+/*
+ * If you want XDMAUTH support (if you have Wraphelp.c), uncomment this.
+ *
+ */
+#define HasXdmAuth             YES
+
+/*
+ * If you have Linux DECnet support, and want to build XFree86 with support
+ * for connections over DECnet, uncomment this.
+ *
+#define HasDECnet              YES
+ */
+
+/*
+ * To build static and shared libraries with debugging information, uncomment
+ * this. Assumes you have Gcc2.
+ * (If you don't have Gcc2, you can use the DebugLib{X11,Xt,Xaw,...} variables
+ * to build debugging versions of the libraries separately.)
+ *
+*/
+#define DebuggableLibraries    YES
+
+/*
+ * To forceably build static libraries in addition to shared libraries,
+ * uncomment this.
+ *
+ */
+#define ForceNormalLib         YES
+
+/*
+ * Uncomment this if your default tools (eg, gcc, ld, as, etc) are
+ * not the Linux ELF versions.
+ *
+#define LinuxElfDefault                NO
+ */
+
+/*
+ * To use ELF format shared libraries for supported OSs, uncomment this.
+ *
+ * For Linux the default setting of this is the same as the setting of
+ * LinuxElfDefault.
+ *
+ * For FreeBSD this should automatically be set correctly by imake.  Only
+ * change it here if you need to override the automatic setting.
+ *
+#define UseElfFormat           YES
+ */
+
+/*
+ * For FreeBSD/ELF (FreeBSD 3.0) it is possible to also build and install
+ * a.out compatibility libraries.  To enable that, uncomment this.
+ *
+#define BuildAoutLibraries     YES
+ */
+
+/*
+ * If you have trouble with make bombing out in Xlib, try uncommenting this.
+ * You will not get dependencies as a result, but better than nothing.
+ *
+#define MakeHashTableBug       YES
+ */
+
+/*
+ * If you do not want your man pages compress under SVR3 systems that
+ * support it, uncomment this.
+ *
+#define CompressManPages       NO
+ */
+
+/*
+ * If you have sgmlfmt (the XFree86 doctools package) and want to build
+ * formatted docs from the SGML source, uncomment this.
+ *
+#define HasSgmlFmt             YES
+ */
+
+/*
+ * To disable building some document formats, uncomment some of these.
+ *
+#define BuildLinuxDocText      NO
+#define BuildLinuxDocHtml      NO
+#define BuildLinuxDocPS                NO
+ */
+
+/*
+ * To install Japanese versions of the documentation uncomment this.
+ * Note: The Japanese documentation consists of a subset of the
+ * XFree86 3.1 docs.
+ *
+#define InstallJapaneseDocs    YES
+ */
+
+/*
+ * To build/install X specs docs, uncomment the following.
+ * The SpecsDocDirs setting here is recommended because it covers
+ * the docs that XFree86 has changed or added.
+ *
+ */
+#define BuildSpecsDocs         YES
+#define SpecsDocDirs           GL Xext Xv xterm
+
+/*
+ * To build all specs docs, not just those listed in SpecsDocDirs, uncomment
+ * the following.
+ *
+#define BuildAllSpecsDocs      YES
+ */
+
+/*
+ * To enable building the glide driver, you need to define
+ * HasGlide2 to YES and set the Glide2IncDir variable.
+ * HasGlide2 is per default NO.
+ *
+ */
+#define HasGlide2 YES
+
+/*
+ * Set the path to your Glide include files.
+ *
+ */
+#define Glide2IncDir /usr/include/glide
+
+/*
+ * The 3Dfx 3D DRI driver requires glide 3.
+ *
+ */
+#define HasGlide3 YES
+
+/*
+ * Set the path to your Glide 3 include files.
+ *
+ */
+#define Glide3IncDir /usr/include/glide3
+
+/*
+ * Undefine the following if you don't want to have config files and
+ * app-defaults installed in a separate directory (i.e. /etc/X11).
+ *
+#define UseSeparateConfDir NO
+ */
+
+/*
+ * If your system doesn't support vm86() mode and you have
+ * libx86emu set library path here
+ *
+#define X86EMU_LIBPATH /usr/local/lib
+ */
+#define XAppLoadDir EtcX11Directory/app-defaults
+#define XFileSearchPathDefault 
Concat4(EtcX11Directory/%L/%T/%N%C,%S:EtcX11Directory/%l/%T/%N%C,%S:EtcX11Directory/%T/%N%C,%S:EtcX11Directory/%L/%T/%N%S:EtcX11Directory/%l/%T/%N%S:EtcX11Directory/%T/%N%S):Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
+#define BuilderEMailAddr "debian-x@lists.debian.org"
+#define SharedLibXdmGreet YES
+#define LinkGLToUsrInclude NO
+#define LinkGLToUsrLib NO
+#define SharedLibFont NO
+#define SharedLibXft NO
+#define SharedLibXrender NO
+#define HasZlib YES
+#define SharedLibGlu YES
+#define NormalLibGlu YES

Reply via email to