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