Here are a few last-minute bug-fixes which didn't make it into 1.3. If you use any of these fixes, remember that they are not part of the official 1.3 release, and you should save the 1.3 version of any files that are patched, and restore them before applying any future upgrade patches. ----------------------------------------------------------------------------- The first fix is only required when using the XFree86-1.3 patched source tree to build X on non-i386 platforms. It is NOT needed to build XFree86. *** mit/lib/Xt/Error.c-1.3 Sat May 8 23:36:35 1993 --- mit/lib/Xt/Error.c Mon Jun 7 16:29:05 1993 *************** *** 415,421 **** --- 415,423 ---- void _XtDefaultError(message) String message; { + #ifdef X_NOT_STDC_ENV extern void exit(); + #endif (void)fprintf(stderr, "%sError: %s\n", XTERROR_PREFIX, message); exit(1); *** mit/config/Project.tmpl-1.3 Sat Apr 3 15:03:25 1993 --- mit/config/Project.tmpl Mon Jun 7 21:34:16 1993 *************** *** 23,28 **** --- 23,34 ---- #ifndef BuildFonts #define BuildFonts BuildServer #endif + #ifndef Build75Dpi + #define Build75Dpi BuildFonts + #endif + #ifndef Build100Dpi + #define Build100Dpi BuildFonts + #endif #ifndef BuildFontServer #define BuildFontServer BuildServer #endif ----------------------------------------------------------------------------- The second fix is required for all platforms except 386BSD. It fixes a late bug that crept in to clients/xman/vendor.h. It is also required when when using the XFree86-1.3 patched source tree to build X on non-i386 platforms. *** mit/clients/xman/vendor.h-1.3 1993/06/02 13:47:56 --- mit/clients/xman/vendor.h 1993/06/13 04:32:24 *************** *** 127,138 **** # ifdef __386BSD__ # define FORMAT "| eqn | tbl | nroff -man" # else ! # define linux_GROFF /* undef this to use nroff instead */ # ifdef linux_GROFF ! # define FORMAT "| geqn | groff -Tascii -man" # else # define FORMAT "| neqn | nroff -man" /* The format command. */ ! # endif /* linux */ # endif #endif --- 127,140 ---- # ifdef __386BSD__ # define FORMAT "| eqn | tbl | nroff -man" # else ! # ifdef linux ! # define linux_GROFF /* undef this to use nroff instead */ ! # endif /* linux */ # ifdef linux_GROFF ! # define FORMAT "| geqn | gtbl | groff -Tascii -man" # else # define FORMAT "| neqn | nroff -man" /* The format command. */ ! # endif /* linux_GROFF */ # endif #endif ----------------------------------------------------------------------------- The third fix is only required when building PEX on systems with short (14 character) file names. One of the files in MIT's PEXlib has a name that is 15 characters long. To fix this, do the following, and then apply the patch: cd mit/extensions/lib/PEXlib mv pl_global_def.h pl_glbl_def.h *** mit/extensions/lib/PEXlib/pl_startup.c-1.3 1993/04/06 15:01:20 --- mit/extensions/lib/PEXlib/pl_startup.c 1993/06/13 05:14:55 *************** *** 27,33 **** #include "PEXlib.h" #include "PEXlibint.h" ! #include "pl_global_def.h" #include --- 27,33 ---- #include "PEXlib.h" #include "PEXlibint.h" ! #include "pl_glbl_def.h" #include ----------------------------------------------------------------------------- This fix is for a graphics bug that shows up with the colour server when using a virtual width != 1024 (this bug has been present since the X11R5 release). The operation affected is FillPolygon with OpaqueStipple. *** mit/server/ddx/x386/vga256/cfb.banked/cfbfillsp.c-1.3 1992/08/29 11:12:49 --- mit/server/ddx/x386/vga256/cfb.banked/cfbfillsp.c 1993/06/12 06:52:42 *************** *** 1053,1060 **** nlw = nlwTmp; dst = dstTmp; RESTORE_BANK(); - CHECKRWO(dst); SAVE_BANK(); dstTmp++; xor = GetFourPixels (bits); while (nlw--) --- 1053,1060 ---- nlw = nlwTmp; dst = dstTmp; RESTORE_BANK(); SAVE_BANK(); + CHECKRWO(dst); dstTmp++; xor = GetFourPixels (bits); while (nlw--) *************** *** 1080,1087 **** nlw = nlwTmp; dst = dstTmp; RESTORE_BANK(); - CHECKRWO(dst); SAVE_BANK(); dstTmp++; xor = GetFourPixels (bits); while (nlw--) --- 1080,1087 ---- nlw = nlwTmp; dst = dstTmp; RESTORE_BANK(); SAVE_BANK(); + CHECKRWO(dst); dstTmp++; xor = GetFourPixels (bits); while (nlw--) ----------------------------------------------------------------------------- The following notes apply to SVR3 only. If you build from source: 1. The shared libraries should not be built with gcc 2.4.x because it don't use its in-built strlen() where prior gcc versions did. That requires changes in the source which were too late for 1.3. Gcc 2.3.3 is a good choice. 2. Although support for XDM-AUTHORIZATION-1 is included in the shared Xlib, there is still a bug which make it impossible to use it with xdm at the moment. Hence you should 'HasXdmAuth' set to 'NO' in site.def. 3. If you want to use the chooser application with xdm you have to apply the following two patches. But note, the chooser is not tested for SVR3 systems. *** mit/clients/xdm/Imakefile-1.3 Thu May 27 15:59:45 1993 --- mit/clients/xdm/Imakefile Mon Jun 14 21:21:31 1993 *************** *** 4,8 **** #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLS)' ! #define BuildChooser !SystemV #if HasXdmAuth --- 4,8 ---- #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' ! #define BuildChooser !SystemV || defined(i386SVR3Architecture) #if HasXdmAuth *** mit/clients/xdm/chooser.c-1.3 Thu May 27 16:01:53 1993 --- mit/clients/xdm/chooser.c Mon Jun 14 21:17:43 1993 *************** *** 70,73 **** --- 70,76 ---- #include #endif + #if defined(SYSV) && defined(SYSV386) + #include + #endif #include #include ----------------------------------------------------------------------------- For SVR4: There are problems with shared libraries built with gcc 2.4.3. It is recommended that gcc 2.3.3 be used. It appears that this problem has been fixed in gcc 2.4.4 ----------------------------------------------------------------------------- For systems with an old cpp there may be problems with some #pragma lines in mit/lib/Xt/Xtos.h (line 54) and mit/server/include/os (line 62). Removing the '#' should fix the problem in these cases. ----------------------------------------------------------------------------- The ATI 18000-1 chip is falsely detected by the XF86_Mono as a cpq_avga. To work around this, put: Chipset "generic" in the VGA2 section of the Xconfig file. ----------------------------------------------------------------------------- There is a problem with Linux version of xload running out of file descriptors. This patch fixes the problem. *** mit/clients/xload/get_load.c-1.3 Mon Jun 21 23:42:36 1993 --- mit/clients/xload/get_load.c Mon Jun 21 23:43:10 1993 *************** *** 384,390 **** caddr_t closure; /* unused */ caddr_t call_data; /* pointer to (double) return value */ { ! int fd = -1, n; char buf[10]; if (fd < 0) --- 384,391 ---- caddr_t closure; /* unused */ caddr_t call_data; /* pointer to (double) return value */ { ! static int fd = -1; ! int n; char buf[10]; if (fd < 0) ----------------------------------------------------------------------------- There is a problem with the ATI driver restoring the text-mode fonts when running on some systems (including Linux and 386BSD). The following patch fixes this problem. *** mit/server/ddx/x386/vga256/drivers/ati/driver.c-1.3 Tue Jun 22 21:32:03 1993 --- mit/server/ddx/x386/vga256/drivers/ati/driver.c Tue Jun 22 21:35:12 1993 *************** *** 191,196 **** --- 191,198 ---- #define TRACE(a) /* Disable TRACE statements */ #endif + #define ATI_PATCHLEVEL 1 + typedef struct { vgaHWRec std; /* good old IBM VGA */ unsigned char ATIExtRegBank[11]; /* ATI Registers B0,B1,B2,B3,B5,B6,B8,B9,BE,A6,A7 */ *************** *** 316,321 **** --- 318,325 ---- /* Load Miscellaneous Output External Register */ outb(0x3C2, restore->std.MiscOutReg); + outw(ATIExtReg, 0x00b2); /* segment select 0 */ + /* For text modes, download Character Generator into Plane 2 */ if (restore->std.FontInfo1 || restore->std.FontInfo2 || restore->std.TextInfo) { *************** *** 1112,1117 **** --- 1116,1124 ---- close( fd ); #endif /* MACH386 */ + ErrorF("%s: ATI: driver patchlevel: %d\n", vga256InfoRec.name, + ATI_PATCHLEVEL); + ErrorF( "ATI BIOS Information Block:\n" ); ErrorF( " Signature code: %c%c = ", bios_data[ 0x40 ], bios_data[ 0x41 ] ); -----------------------------------------------------------------------------