Subject: Possible X solutions.

From: [email-masked] (John Wiederhirn)
Date: Thu, 24 Jul 1997 13:56:34 -0700

Has anyone considered perhaps partnering with either Metrolink
or Xi Graphics (makers of Accelerated-X) and having _them_ be
the providers of the X server for SGI?

It would seem to provide some benefits...

A.  Allows us to keep gfx security.  Neither Metrolink nor
    Xi Graphics releases the source code to their servers,
    and we should be able to get them into some form of a
    confidentiality agreement.

B.  Gives us a venue by which SGI can provide optimized
    versions of OpenGL for Linux/Intel.  This is what we
    could bring to the table.

C.  Lends additional credibility to the Linux/SGI port.

Just an idea.

-- 
John Wiederhirn (DSD, Graphics Kernel MTS)        [email-masked]
       "Smithers, unleash the human insight and creativity."

---

From: [email-masked] (Alan Cox)
Date: Fri, 25 Jul 1997 09:58:42 +0100 (BST)

> the providers of the X server for SGI?

If there's not going to be a free X server for the SGI then Ariel
can keep the machine...

> C.  Lends additional credibility to the Linux/SGI port.

These two are probably good reasons for having a valued added option.
However crippling a required system component isnt.

Alan

---

From: Miguel de Icaza <[email-masked]>
Date: Fri, 25 Jul 1997 14:16:11 -0500

> If there's not going to be a free X server for the SGI then Ariel

No need for that.  I got the time to read all of the documentation on
the newport graphics.  I am da-newport-man now :-).  There is only
*one* thing I have not figured out and which is rather important:

   How can I DMA from the video card to the host memory?

I know I can set the bit that does the DMA, but I have not found how
to setup the DMA transfer to the host memory, so if a SGI graphics
hacker is reading this, I would appreciate a little hint with this. 

We will have a kick-ass X server once I start coding it (I am just
finishing the shared memory input queue driver now which is making me
suffer a bit).  

When I was reading the X11R6 porting guide there were a lot of hooks
that did not make sense.  Then I read the Mark Kilgard's paper on
direct-rendering and got the newport specs, now everything makes
sense.  I am possitively convinced that all the X speed improvements
in the IRIX server are cleanly separated and do not require changes to
the main X sample server from MIT.

So, we can get an X server pretty easily that will match the power in
Xsgi (including direct rendering, I have most of this code written,
just the actual context-switch for the rex3 is missing, will get to
rex3 context switch once I get shmiq finished :-)

>     could bring to the table.

Well, the optimizations in SGI's OpenGL require some hardware support:
starting with the direct graphics kernel support, continuing with the
kernel rendering resource manager and then having hardware
acceleration in their video cards and all kind of graphic tricks to
improve performance.

I strongly  recomend reading Mark Kilgard's papers on how they use
the hardware features of the SGI machines to make graphics scream. 

> C.  Lends additional credibility to the Linux/SGI port.

Commercial applications for Linux/SGI will appear at some point, but
rememeber, the ideal world is made up of machines running free
systems. 

Cheers,
Miguel

---

From: Alex deVries <[email-masked]>
Date: Fri, 25 Jul 1997 21:10:15 -0400 (EDT)

I cvs'd out the kernel this evening, and I tried compiling it.

The compiling tools I'm using are the same ones in the crossdev directory
on linus.linux.sgi.com (and I've converted _those_ to RPM's, for your
installation convenience).

I got the following problems with compiling it:

- in scripts/mkdep.c, in the mmap() function, references MAP_AUTOGROW,
which is unknown.  I just removed it out for my compile.

- in Ariel's instructiosn on how to cross compile a kernel, it says to use 
make CROSS_COMPILE=mips-linux CONFIG_SHELL=/usr/freeware/bin/bash

But, the compile then can't find mips-linuxgcc .  Apparantly, using:
make CROSS_COMPILE=mips-linux- CONFIG_SHELL=/usr/freeware/bin/bash
                            ^^^
works.

(I'd like to absorb this in to the HOWTO, incidentally).

- I get the following compile error:

make[3]: Entering directory `/usr/src/adevries/linux/drivers/sgi/char'
make all_targets
make[4]: Entering directory `/usr/src/adevries/linux/drivers/sgi/char'
mips-linux-gcc -D__KERNEL__ -I/usr/src/adevries/linux/include -Wall
-Wstrict-prototypes -O2 -fomit-frame-pointer -G 0 -mno-abicalls -fno-pic
-mcpu=r4600 -mips2 -pipe  -c -o graphics.o graphics.c
graphics.c:33: asm/rrm.h: No such file or directory
graphics.c: In function `sgi_graphics_ioctl':
graphics.c:56: `RRM_BASE' undeclared (first use this function)
graphics.c:56: (Each undeclared identifier is reported only once
graphics.c:56: for each function it appears in.)
graphics.c:56: `RRM_CMD_LIMIT' undeclared (first use this function)
graphics.c:57: warning: implicit declaration of function `rrm_command'
graphics.c: In function `sgi_graphics_close':
graphics.c:151: warning: implicit declaration of function `rrm_close'
graphics.c: In function `sgi_graphics_nopage':
graphics.c:168: structure has no member named `vm_inode'
graphics.c: In function `sgi_graphics_mmap':
graphics.c:225: structure has no member named `vm_inode'
graphics.c:226: warning: passing arg 2 of `atomic_add' from incompatible
pointer type
graphics.c: In function `gfx_init':
graphics.c:282: warning: implicit declaration of function `prom_halt'
make[4]: *** [graphics.o] Error 1
make[4]: Leaving directory `/usr/src/adevries/linux/drivers/sgi/char'
make[3]: *** [first_rule] Error 2
make[3]: Leaving directory `/usr/src/adevries/linux/drivers/sgi/char'
make[2]: *** [sub_dirs] Error 2
make[2]: Leaving directory `/usr/src/adevries/linux/drivers/sgi'
make[1]: *** [sub_dirs] Error 2
make[1]: Leaving directory `/usr/src/adevries/linux/drivers'
make: *** [linuxsubdirs] Error 2
lager 9:07pm {2}

- Alex

      Alex deVries              Success is realizing 
  System Administrator          attainable dreams.
   The EngSoc Project

---

From: Miguel de Icaza <[email-masked]>
Date: Fri, 25 Jul 1997 21:45:56 -0500

> graphics.c: In function `sgi_graphics_ioctl':

Ok.  This is my fault, do not compile this module and you should be
fine.  I will try to commit all of my changes tomorrow (with my shmiq
code :-).

Miguel.

---

From: Alex deVries <[email-masked]>
Date: Sat, 26 Jul 1997 01:38:50 -0400 (EDT)

I waited carefully until I was sure that everybody would be asleep, and
rearranged the FTP server.  This may not be a popular decision with some
of you, but I think this structure makes a lot more sense.

The first major change is that I've configured wu-ftpd instead of the
prepackaged ftpd that comes with Irix.

The next change is that I've moved everything to /src/ftp, so that people
aren't puzzled why we're distributing our web logs via FTP.

Also, I've shuffled some of the stuff under the former /pub/linux down
one, and put some source code (such as ktrace) where it belongs.

I've also uploaded my .rpm versions of Ralf's crossdev tools for i486
hosts.  If I had sources I could compile for binutils and gcc, I'd
generate ones for sparc-sun-linux hosted as well.

Anyway, if you don't like the FTP server structure, feel free to complain
to me.

In other news...

- the HOWTO will be seperated from the FAQ tomorrow, bringing both
  versions to 0.03. Plenty of technical details have been added

- I'm working on creating a smaller root.tar.gz package.  Having ps
  and fdisk would be very cool...

- Alex