A workaround for the Netscape font problem on Mach32 cards

A workaround for the Netscape font problem on Mach32 cards

Post by Matt D » Wed, 15 Mar 1995 11:08:34



If you have a Mach32 card and are having problems with fonts getting
munched in Netscape, I found that fix #2 from the XFree86 3.1.1
README.late file makes this problem go away.  (Actually, I've only
tried the workaround - I don't want to go to the trouble of rebuilding
my server.)

By setting my VideoRam to 1920 in my XF86Config file (I use a 1280x1024
desktop, so (1280 * 1536)/1024 = 1920), the problem went away.

Here's the fix from the README.late file:

This file contains last-minute bug fixes which didn't make it into
XFree86 3.1.1.

------------------------------------------------------------------------
List of patches:
[..]
 2. Fix Mach32 font cache corruption on 2MB boards (Mach32 Patchlevel 1).
[..]
------------------------------------------------------------------------

2.
This patch fixes a font cache problem with the Mach32 server that shows
up on boards with more than 1MB of video memory.

Note that it is possible to work around this problem without using
this patch by setting the Videoram value in the Device section of the
XF86Config file to (VirtualX * 1536)/1024 if this value is less than 2048.

------------------------------------------------------------------------

*** xc/programs/Xserver/hw/xfree86/accel/mach32/mach32.h-3.1.1  1995/01/28 16:58:27
--- xc/programs/Xserver/hw/xfree86/accel/mach32/mach32.h        1995/02/02 10:54:22
***************
*** 29,35 ****
  #ifndef MACH32_H
  #define MACH32_H

! #define MACH32_PATCHLEVEL "0"

  #define MACH32_CURSBYTES      1024
  #define MACH32_CURSMAX                64
--- 29,35 ----
  #ifndef MACH32_H
  #define MACH32_H

! #define MACH32_PATCHLEVEL "1"

  #define MACH32_CURSBYTES      1024
  #define MACH32_CURSMAX                64
*** xc/programs/Xserver/hw/xfree86/accel/mach32/mach32fcach.c-3.1.1     1995/01/28 16:58:50
--- xc/programs/Xserver/hw/xfree86/accel/mach32/mach32fcach.c   1995/02/02 10:53:50
***************
*** 71,88 ****
  mach32FontCache8Init()
  {
     static int first = TRUE;
-    int free_ram;
     int x, y, w, h;
     int BitPlane;
     CachePool FontPool;

-    /* free_ram accounts for the cursor space */
-    free_ram = mach32InfoRec.videoRam * 1024 -
-       (mach32InfoRec.virtualX * mach32InfoRec.virtualY *
-       (mach32InfoRec.bitsPerPixel / 8));
     x = 0;
     y = mach32InfoRec.virtualY;
!    h = free_ram / (mach32InfoRec.virtualX * (mach32InfoRec.bitsPerPixel / 8));
     w = mach32InfoRec.virtualX - PIXMAP_WIDTH;

     if (mach32InfoRec.bitsPerPixel == 8) {
--- 71,83 ----
  mach32FontCache8Init()
  {
     static int first = TRUE;
     int x, y, w, h;
     int BitPlane;
     CachePool FontPool;

     x = 0;
     y = mach32InfoRec.virtualY;
!    h = mach32MaxY + 1 - mach32InfoRec.virtualY;
     w = mach32InfoRec.virtualX - PIXMAP_WIDTH;

     if (mach32InfoRec.bitsPerPixel == 8) {

------------------------------------------------------------------------


 
 
 

1. Old VBE Mach32 Card Problem

About a month ago I posted here that I had been unable to get X running on
my system after several months of effort.  A number of people responded to
my post (which included a log of the problem and whatnot) that I simply had
not tuned the XF86Config file to my monitor correctly and that would solve the
problem.  Again I tried using this as a guide, and failed miserably again to
get it working.  I chalked it up to my somehow missing something really
obvious and that my karma or something has simply fated me never to run X.

A few days ago, when trying to get the SVGA version of Airwarrior up on my
machine I had a revalation.  My ATI Mach32 card was one of the first produced,
before the new standard "VESA VBE" (I'm not an expert, so feel free to point
out my misuse of terms here - I'm pretty much assembling the best explaintion
I can for what I have found).

Basically, with this airwarrior program that supposedly supports the Mach32
card I couldn't get my computer to work.  Then someone pointed me to a
program called "univbe.exe" that updated or installed a TSR that fixed the
problem.  The explaination that came with the program said that he had
written it to fix this problem with old super vga cards.

Now, with Linux I can get that sasteroids program to work in a graphical
mode.  However, after trying everything under the sun I can think of still
can't get X to come up - even trying to use the standard VGA driver.

My graphics card is an old ATI Mach32 with 2 Meg, my monitor a CS1776LE,
the computer is one of the first P5-60's to come off the assembly line
(one of the first batch of Pentiums).  I have 16 Meg of RAM and Linux in
text mode so far has worked flawlessly.  I have configured everything in
Linux myself after much difficulty (the news system, the email, the PPP
modem dialup, etc).

So, if anyone can tell me how to get around this "having an OLD super VGA
graphics card" problem I would appreciate it.  I'm sure I can't be the
first to have run into this but I can't find any reference to it anywhere in
the documentation grepping every related keyword I can think of.

--

2. taper-6.7.4 backup error: "Write child seg faulted"

3. unreadable fonts with Mach32 Driver

4. gifs on unix

5. Occasionally garbled fonts with XFree86 Mach32 *AND* Mach64

6. DHCPd with 2 interfaces?

7. Occasionally garbled fonts with XFree86 Mach32

8. Bump Error

9. Corrupt FONTS for XF86-3.1.1 for Mach32 Server

10. double-byte fonts under XFree86 3.1.2 on Mach32

11. XFree86 3.1.2 + ATI MACH32 + Netscape 3.01 = system lock up!

12. is ther a workaround - Acrobat Reader plugins on 4.4+Netscape?

13. Problem with true type fonts and Netscape