[comp.os.minix] X on Minix

haynes@island.COM (Rob Haynes) (06/01/91)

What are the problems in getting an X server to work on PC Minix?  I'm
assuming that if it were easy, it would have already been done.

Is the Minix compiler inssuficient?
Does Minix support sufficient system calls?
Is X just to pickn' big?
No one thinks they know enough to do it?
Is this a stupid question (the answer is obvious)?

awb@ed.ac.uk (Alan W Black) (06/01/91)

Ok, I'll bite, I haven't seen this one answered for awhile.

In article <4132@island.COM> haynes@island.COM (Rob Haynes) writes:
>
>   What are the problems in getting an X server to work on PC Minix?  I'm
>   assuming that if it were easy, it would have already been done.
>

No its not easy and as far as I'm aware hasn't been done, and I think
unlikely to be done.  (Note that it is impossible under standard Minix
PC due to the restrictions in sizes of executables.  The 386 and 68k
versions are the only ones that have a chance.)

>   Is the Minix compiler inssuficient?

gcc has been ported to the 386 version (and 68k version) of Minix.  Gcc
is the default compiler used by the X Consortium for compiling
the MIT X distribution.  I have installed X on a number of machines and
alway used gcc as the compiler as it usually produces smaller and 
faster binaries.  The other compilers available under Minix might be able
to do it, but X is huge and few compilers can cope, also there are things
in the code which aren't all that portable and because the X Consortium
use gcc, gcc is probably the best one to use.

>   Does Minix support sufficient system calls?

Yes (sort of).  There things missing in Minix which are used in X but
but they are not necessary for X.  Sockets are used in X, but not in 
Minix (though might be in Advanced Minix), though you could
probably use named pipes.  The main thing that would be difficult 
is the screen driver.  This would have to be written from scratch (or
based on the work done by David Bell in mini-x).  There is, I believe,
VGA driver code in the X distribution but it would require a lot of
work to make it work with Minix.

>   Is X just to pickn' big?

The core distribution of X is about 40M, when compiled you need at
least that again.  The run-time system (assuming you don't have shared
libraries which would make the binaries a lot smaller) would be about
30-40M.  Thus you would need around 100M of disk free before you start
(yes you could do it in less but it would make life a lot harder).
Merely installing X on system that its supposed to run on is very
difficult.  I've once tried to put it on a new machine (Xlib and
clients only) which was not part of the standard distribution (an
orion), but it is very close to many other machines (vax running BSD),
it was still very difficult and made me learn far more about that
machine than I really wanted to know :-)

>   No one thinks they know enough to do it?

We (Richard Tobin and I) have seriously considered porting X but have
decided against it.  It would be a lot of work and its unlcear what
the benefit would really be.  For a reasonable port it would probably
require a fair number of kernel changes (the screen driver at least).
It would take a very long time to do.  The result would be very large.
Few Minix people would have machines big enough to run it and it would
be difficult to have a VGA driver that would work on other peoples
machines (VGAs are not very standard).

>   Is this a stupid question (the answer is obvious)?

No I don't think its a stupid question, and the answer isn't very
obvious, it was one of my early questions about Minix.  

However, I now think that X is the wrong way to go for Minix.  I do
think Minix should get some form of window system but X is just too
big.  David Bell's mini-x looks like a possible alternative, it is
small and X-like but doesn't require so many resources to install or
run.  The MGR window system is another alternative which looks
promising.  But building a window system (or porting one) is not easy
and will take time.  The screen drivers are the main problem, they are
not the same on every machine and its difficult to find out the
information.

I think eventually we will run X on our machine but not by porting it
to Minix, but by changing from Minix to an alternative operating systems
(like BSD 4.4, Mach or GNU -- or some combination of them).

Alan

Alan W Black                          80 South Bridge, Edinburgh, UK
Dept of Artificial Intelligence       tel: (+44) -31 650 2713
University of Edinburgh               email: awb@ed.ac.uk

gdtltr@brahms.udel.edu (gdtltr@limbo.org (The Befuddled One)) (06/03/91)

In article <AWB.91Jun1132613@stoat.uk.ac.ed.aipna> awb@ed.ac.uk (Alan W Black) writes:
=>
=>>   Is this a stupid question (the answer is obvious)?
=>
=>No I don't think its a stupid question, and the answer isn't very
=>obvious, it was one of my early questions about Minix.  
=>
=>However, I now think that X is the wrong way to go for Minix.  I do
=>think Minix should get some form of window system but X is just too
=>big.  David Bell's mini-x looks like a possible alternative, it is
=>small and X-like but doesn't require so many resources to install or
=>run.  The MGR window system is another alternative which looks
=>promising.  
=>
   I wonder if the windowing system originally designed for Amoeba could
be made to work on 386/68K Minix?

                                        Gary Duzan
                                        Time  Lord
                                    Third Regeneration



-- 
                            gdtltr@brahms.udel.edu
   _o_                      ----------------------                        _o_
 [|o o|]                   To be is to be networked.                    [|o o|]
  |_o_|        Disclaimer: I have no idea what I am talking about.       |_o_|