From: tatsuro@sra.co.jp (Tatsuro Nakamura)
Subject: Re: [386BSD,XFree86] How to make '/dev/vga' on 386BSD
Followup-To: fj.os.misc
	<SEKI.92Oct13003044@nanno.tama.prug.or.jp>
Organization: Software Research Associates, Inc., Japan
Date: Tue, 13 Oct 1992 04:26:10 GMT
Distribution: fj

In article <SEKI.92Oct13003044@nanno.tama.prug.or.jp>
			 seki@tama.prug.or.jp (Isao SEKI) writes:

 > In article <KOYAMA.92Oct12173633@garamon.artstech.co.jp> koyama@artstech.co.jp (Tetsuji Koyama) writes:
 > 
 > $B$?$@!"KM$N$H$3$m$O%A%C%W%;%C%H$,(B ATI Ultra $B$J$N$G!"<B:]$K$OF0$-$^$;(B
 > $B$s!#%/%9%s!#(B

  linux $B$N(B distribution $B$NCf$K$O!"(Balpha version $B$NMM$G$9$,!"(BX8514 $B$,$"(B
$B$j$^$9!#(Bporting $B$7$F$_$F$O$$$+$,$G$9$+!)(B

  X8514 $B$O(B ftp.sra.co.jp:~ftp/pub/linux/ALPHA/X8514 $B$+$i(B ftp $B$G$-$^$9!#(B

  $B0J2<$K(B X8514 $B$N(B README $B$r(B$B$D$1$^$9!#(B
-----
Here it is!!

This is the first release of the X server for 8514/A register compatibles.

It should work for everyone with a video card that is register compatible with
the 8514/A VESA standard.  It has been tested with the ATI Graphics Ultra and
the ATI Graphics Vantage.

Requirement for running this X server:
--------------------------------------
 (1)  Of course, an 8514/A register compatible card
	** Note that the card MUST have 1Mb **
 (2)  Linux 0.96c.pl2 or better
 (3)  Orest's 1.1 release
 (4)  Xlinux8514.T.Z
 (5)  GCC 2.2.2d

(2), (3) and (5) can be obtained from many places.
(4) can be obtained from ftp.cs.unc.edu under /pub/martin.


Xlinux8514.T.Z contain the following:
-------------------------------------------
 (1)  Xlinux.8514 (the 8514/A based X server)
 (2)  Xconfig (just in case Orest's version is different)
 (3)  README (this file)
 (4)  WARRANTY (i.e., none)


To install this release:
------------------------
 - Make sure that you have Orest's release installed correctly.
 - Make sure that you are running Linux 0.97 or better.
 - Make sure that you are logged in as root.
 - Untar the release file into a temporary directory.
 - Copy the Xlinux.8514 file from the temporary directory to /usr/bin/X11.
 - Link /usr/bin/X11/Xlinux.8514 to /usr/bin/X11/X, so that startx uses the
   correct X server.  This can be a soft link (1st - rm /usr/bin/X11/X,
   2nd - ln -s /usr/bin/X11/Xlinux.8514 /usr/bin/X11/X).
 - Verify that the suid bit is set on the Xlinux.8514.  If it is not, then
   do a chmod 4755 /usr/bin/X11/Xlinux.8514.
 - Verify that the owner and group of Xlinux.8514 is root .  If it is not,
   then do a chown root /usr/bin/X11/Xlinux.8514 and/or
   a chgrp root /usr/bin/X11/Xlinux.8514.
 - Backup the old version of Xconfig (found in /usr/lib/X11) - optional.
 - Copy the Xconfig from the temporary directory to /usr/lib/X11/Xconfig
 - Modify the Xconfig you just installed to reflect your system.  This
   involves setting up the RGB and Font paths, the keyboard parameters, and
   the mouse parameters.
 - Note that in Xconfig you do not need to have special settings for anything
   under the vga256 or ModeDB except for Virtual (i.e., Clocks, Chipset, and
   all of those numbers that others have been trying to figure out for their
   monitor/graphics card combination we don't have to worry about).  Virtual
   determines the size of the screen and it can be 1024 768 or 640 480.


What I've done so far:
----------------------
 - Implemented an 8514/A based X server.
 - Optimized things that 8514/A cards do fast, including:
   o Bitblts (XCopyArea, move window, ...)
   o Rectangle fills (Solid, tiled, stippled and opaque stippled)
   o Line drawing (solid lines only)
 - Implemented simple pixmap caching and filling routines to speed up fills.
 - Implemented simple font caching and drawing routines to speed up text
   drawing.


Notes:
------
 - I don't have an ATI bus mouse, and I don't know if it will work with the
   server.  I've been told by others that the busmouse code in the kernel
   will work, but I have no way of verifying this.
 - The X server will run in both 1024x768 mode and 640x480 mode (though I
   don't know why anyone would want the smaller sized screen).  To put the
   server into 640x480 mode.  You'll need to change the line with
   Virtual 1024 768 to Virtual 640 480 in your Xconfig file (found in the
   /usr/lib/X11 directory).
 - Even though 640x480 mode has been implemented, it does not imply that the
   X server will run on a card with less than 1Mb of video memory.  Unless
   I'm mistaken, 512Kb cards are only capable of displaying 4 bits per pixel.
   Thus, cards with 512Kb of memory will not be able to run this server until
   someone implements 4 bits per pixel cfb code (I welcome anyone who has the
   time for this would be a very worth while project though it will be a very
   difficult task).
 - I recommend that everyone who has the disk space get copies of Orest's
   full release including x75dpi1.1.T.Z, xextra1.1.T.Z and xprog1.1.T.Z.
 - For those of you interested in how this is implemented, I've also included
   (at the ftp.cs.unc.edu site) the source code (/pub/martin/x.8514.src.T.Z).
   This file contains a cdiffs file relative to Orest's source code for the
   1.1 release and a new directory containing all of the 8514/A code.  Also,
   please read the special note below.


Bugs:
-----
 - If you find a bug, please send e-mail to either the X11 channel (linux
   activists mail list) or post to comp.os.linux.  The following information
   would be very helpful to those who will be debugging the server.
	(1)  A complete description of what happened.
	(2)  If possible, a small program that reproduces the problem will
	     help out _greatly_ and will speed resolution of the problem.
	(3)  Your system configuration (processor, speed, memory, graphics
	     card, and anything else you can think of).


*************
Special Note:
*************
 - I hate to release this and just leave people hanging, but unfortunately my
   time has run out, so this will also be my last release.  I've delayed my
   dissertation research during July and August to get this ready, and while
   my professor has been patient with me, I cannot push him any further.
 - So, I'm looking for someone with knowledge of the X server internals to
   take over responsibility for further development.  In particular, someone
   is needed to update the server when Orest releases new X distributions.
   Any volunteers?


Thanks go out to all the alpha testers for their testing and quick responses,
Orest for a solid base X server to work from, H.J. for the rapid turn around
in including the iopl system call in the 2.2.2d library, and Linus for a
miraculous 2 day turn around in including the iopl system call in patch #2
for the 0.96c kernel.


Thanks!
Kevin
___
Kevin E. Martin               University of North Carolina at Chapel Hill
martin@cs.unc.edu                          Department of Computer Science

------
--
	$BCfB<C#O/(B$B!w4D6-;Y1gIt!%#S#R#A(B
		tatsuro@sra.co.jp