linux-mips
[Top] [All Lists]

Linux/SGI: IRIX X server -- kind-of-works-now status.

To: linux@fir.engr.sgi.com
Subject: Linux/SGI: IRIX X server -- kind-of-works-now status.
From: Miguel de Icaza <miguel@nuclecu.unam.mx>
Date: Fri, 19 Sep 1997 14:28:38 -0500
Sender: owner-linux@cthulhu.engr.sgi.com
Hello guys, 

   Well, my IRIX Xsgi server is running on Linux/SGI without aborting
now.  It displays the nice X cursor and a black background (ie, no
nice X background yet.

   This is caused -I believe- because I am not actually loading the
xmap9 modes as kindly described by Bill.  I have not yet debugged that
problem (for some reason the display control bus locks out most of the
kernel, I will look into fixing this on the afternoon).

   There are a couple of problems here and there, but at least it
seems to be working, here is my list of known bugs for the emulation
bits of IRIX Xsgi:

1. Keymaps are hossed, trivial to fix.

2. Remote clients can not connect (but then, I believe this is caused
   because of some faulty bit on query-net-devices-ioctl emulation).

3. /dev/mouse is hosed: the shmiq device is broken; trivial to fix as well.

4. psaux device is not working, I do not have any idea of how this
   works, so I have to sit down and read docs.

5. my xmap9 loading routine has problems talking to the display
   bus.  This ought to be pretty easy to fix.  Right now, I am using
   the DCB real slow protocol to talk to the xmap9, probably this is
   the culprit:

        relevant dcbmode bits: 
        CSHOLD = 12;  CSSETUP = 12; CSWIDTH = 0

   On the xmap9.h include file, the macro that loads values into the 
   xmap9 (xmapSetModeRegs) chooses the values for CSHOLD, CSSETUP and
   CSWIDTH based on the cfreq argument.  On the sample code that Bill
   showed me, this value was passed like this (last parameter):

 xmap9SetModeReg( rex3, wid, displaymode, ng1_video_timing[bd->boardnum]->cfreq 
);

   I am passing a 0 there which forces the cs values I showed previously.       

6. The rrm code is not quite what an IRIX X server expects, so more
   work on this area is required.  Which brings up an interesting
   question:

        I have the impression that you need to get a rendering node
        before you get permission to do direct rendering.  My guess is
        that the context switch information should not be stored on
        the per-process task_struct but on the rendering node
        instead.  Is this the case on IRIX?  I have not really though
        very well about this.

Thanks to all of the kind people at SGI who have helped me with
explanations, documentation and helpful advise in the past for getting
the X server up and running.

best wishes and have a nice day,
Miguel

<Prev in Thread] Current Thread [Next in Thread>