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