SUMMARY: Classic running 4.1.3C

From: Peter Sivo (peter@key.amdahl.com)
Date: Fri Sep 10 1993 - 09:56:35 CDT


Original question:

> Help!
>
> I am helping out a friend and we just got into a bind.
>
> Before, he had an IPC running 4.1.3 and would bringup X11R5 by typing
> 'xinit' and the such....
>
> Now, we just finished loading up a new SparcClassic running 4.1.3C and
> when he types 'xinit', he gets:
>
> Mapping cg3c: No such device or address
>
> What? Both the IPC and the Classic have cgthree boards..and I am running
> a GENERIC kernel, so it's not like I did not include it.

Well, I got 2 responses basically stating the same thing....

Many thanks to 2 individuals who saved my butt! :-)

    poffen@sj.ate.slb.com (Russ Poffenberger)
    Mark.McIntosh@Engr.UVic.CA (Mark J. McIntosh)

Their answers are below.

Peter J. Sivo
Amdahl/Advanced Systems
peter@key.amdahl.com

#########################################################################3

The proper way to start X11 is to use the "startx" script. Also, what screen
resolution is the Classic? If it is the cheapo 1024 X 768, then the standard
X11 distribution has a bug with that resolution. You have 2 options, one
is to set it to the 1152 X 900 resolution (kinda fuzzy on the small monitor)
or change the following lines in the file

"path/X11R5/src/mit/server/ddx/sun/sunCG3C.c"

typedef struct cg3bc {
#ifdef sparc
        u_char mpixel[128*1024]; /* bit-per-pixel memory */
        u_char epixel[128*1024]; /* enable plane */
#endif
        u_char cpixel[CG3B_HEIGHT][CG3B_WIDTH]; /* byte-per-pixel memory */
} CG3BC, CG3BCRec, *CG3BCPtr;

to

typedef struct cg3bc {
#ifdef sparc
        u_char mpixel[96*1024]; /* bit-per-pixel memory */
        u_char epixel[96*1024]; /* enable plane */
#endif
        u_char cpixel[CG3B_HEIGHT][CG3B_WIDTH]; /* byte-per-pixel memory */
} CG3BC, CG3BCRec, *CG3BCPtr;

(note the use of 96 instead of 128).

Russ Poffenberger DOMAIN: poffen@sj.ate.slb.com
Schlumberger Technologies ATE UUCP: {uunet,decwrl,amdahl}!sjsca4!poffen
1601 Technology Drive CIS: 72401,276
San Jose, Ca. 95110 Voice: (408)437-5254 FAX: (408)437-5246
#########################################################################3

There's a typo in the X11R5 source that prevents the server from
finding the cg3 in some situations. I've attached an article from the
comp.windows.x newsgroup that shows a fix. This could be the problem.

---
Mark J. McIntosh <Mark.McIntosh@Engr.UVic.CA>, Programmer/Analyst
University of Victoria, Faculty of Engineering - Dean's Office, EOW 248
Box 3055, Victoria, BC            \ "...the mystery of life isn't a problem to
V8W 3P6       Voice: 604-721-6049  \    solve but a reality to experience." 
CANADA          FAX: 604-721-8676   \       -- from Dune

==================== From: envbvs@epb12.lbl.gov (Brian V. Smith) Newsgroups: comp.windows.x Subject: Re: X11R5 on Sparc Classic running 4.1.3C Date: 30 Aug 1993 21:24:54 GMT Organization: lbl Distribution: world NNTP-Posting-Host: 128.3.13.123 Keywords: Sparc Classic 4.1.3C

In article <CCL67q.86G@bisco.kodak.com>, bilbo@bisco.kodak.com (Charles Tryon) writes: |> |> It seems like SOMEBODY must have tried this before... |> |> I am trying to run X11R5 on a Sparc Classic running SunOS 4.1.3C with |> the small (1024x768) monitor attached, and the X server barfs when |> trying to start up. The mmap() call (in sunCG3C.c) returns failure (-1) |> when trying to map the cgthree0 device. (The same thing happens if I |> remove /dev/cgthree0 and try to use /dev/fb.) If I attach the older, |> larger (1152x900) monitor, IT WORKS FINE. |> |> Am I doing something really stupid, or does this just not work? Has |> anyone else tried this configuration? |> |> Any hints would be most welcome!

There is a typo in mit/server/ddx/sun/sunCG3C.c where an array is mis-sized (is that even a word?). Here is a patch:

*** sunCG3C.c.orig Fri May 31 13:06:24 1991 --- sunCG3C.c Mon Aug 9 15:40:18 1993 *************** *** 68,75 **** typedef struct cg3bc { #ifdef sparc ! u_char mpixel[128*1024]; /* bit-per-pixel memory */ ! u_char epixel[128*1024]; /* enable plane */ #endif u_char cpixel[CG3B_HEIGHT][CG3B_WIDTH]; /* byte-per-pixel memory */ } CG3BC, CG3BCRec, *CG3BCPtr; --- 68,75 ---- typedef struct cg3bc { #ifdef sparc ! u_char mpixel[96*1024]; /* bit-per-pixel memory */ ! u_char epixel[96*1024]; /* enable plane */ #endif u_char cpixel[CG3B_HEIGHT][CG3B_WIDTH]; /* byte-per-pixel memory */ } CG3BC, CG3BCRec, *CG3BCPtr;

-- Brian V. Smith (bvsmith@lbl.gov) Lawrence Berkeley Laboratory I don't speak for LBL; they don't pay me enough for that. ====================



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:08:10 CDT