This message generated a parse failure. Raw output follows here. Please use 'back' to navigate. From devnull@lkml.org Fri Mar 31 17:16:22 2023 Received: from orchard.washtenaw.cc.mi.us (orchard.washtenaw.cc.mi.us [198.111.176.4]) by herbie.ucs.indiana.edu (8.6.12/8.6.12) with ESMTP id SAA05056 for ; Wed, 5 Jun 1996 18:16:23 -0500 Received: from vger.rutgers.edu by orchard.washtenaw.cc.mi.us (8.6.10/2.3) with ESMTP id SAA13864; Wed, 5 Jun 1996 18:55:51 -0400 Received: by vger.rutgers.edu id <105803-18356>; Wed, 5 Jun 1996 18:37:20 -0500 To: submit-linux-dev-kernel@ratatosk.yggdrasil.com Path: yop!jmcc From: jmcc@yop (Jason McMullan) Newsgroups: linux.dev.kernel Subject: Re: SVGA kernel chipset drivers. Date: 5 Jun 1996 15:56:28 GMT Organization: Fuller Theological Seminary, Pasadena, CA 91182 Lines: 67 Message-Id: <4p4anc$kfk@miriam.fuller.edu> References: NNTP-Posting-Host: yop.vi.ri.cmu.edu X-Newsreader: TIN [version 1.2 PL2] X-Submitted-Via: news@ratatosk.yggdrasil.com (linux.* gateway) Sender: owner-linux-kernel@vger.rutgers.edu Precedence: bulk  Ahemm.... The GGI concept (the 4 major pieces): 1) Kernel driver 2) User-space library 3) SVGAlib emulation library 4) GGI-based X server 1) Kernel driver The kernel driver is about 5k-30k in size. It provides: *) Mode switching *) mmap() support *) Multiple simultaneous graphics and text consoles *) IOCTLs for acceleration features. If any. (ie the VGA driver I wrote has no acceleration, but some of the S3 drivers have bitblit, font, spline, etc) *) Proprietary vendor support: - ie Matrox makes a 'millenium.o', Samsung provides a 'FM590-17.o', and it's a simple matter of setting /etc/conf.modules to: alias gfx-card /opt/matrox/millenium.o alias gfx-monitor /opt/samsung/FM590-17.o *) Kernel independence, if possible (we would like to support FreeBSD and any others that have loadable modules) 2) User-space library The library (call it libggi for now) is about 200k-400k in size. It provides: *) A full API *) Emulation for acceleration features not supported by your card. (ie I can write a spline drawing app for my VGA, and not have to change a line of code to get full acceleration under, say, a Mach32 card) *) Mouse/keyboard/etc handling 3) SVGAlib emulation library Simply drop in this 50k-100k library in /usr/lib, (and the a.out version in /usr/i486-linux-aout), run ldconfig, and DOOM, Maelstrom, etc. work. Perfectly. 4) GGI-based X server The XFree86 group could make an X-Server based on the libggi, and would have these advantages: *) Never have to hound vendors for driver specs again (especially if FreeBSD can be brought in on the GGI) *) Multiple X servers on the same machine - Test X11R7 while you use X11R6 to develop! *) Smaller XServer binaries (# X disks goes from 7 to 4!)