Date: Fri, 10 Sep 1999 02:24:28 +0200 (CEST) From: Marc van Woerkom <van.woerkom@netcologne.de> To: hasty@rah.star-gate.com, multimedia@FreeBSD.ORG Subject: Re: New 3D software available Message-ID: <199909100024.CAA02216@oranje.my.domain> In-Reply-To: <Pine.BSF.4.10.9909090939360.2081-100000@salmon.nlsystems.com> (message from Doug Rabson on Thu, 9 Sep 1999 09:42:51 %2B0100 (BST)) References: <Pine.BSF.4.10.9909090939360.2081-100000@salmon.nlsystems.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Doug: Amancio: > > Say , since I have it running on -current + XFree86 4.0 with a Riva > > TNT2 card got any ideas how can I add support for the 3d acceleration > > stuff found in XFree86 4.0? > > The 3D code in 3.9.16 is not quite ready for prime time. It only supports > one card (an expensive Glint card) and the kernel component of the driver > model hasn't been ported to FreeBSD. My present attitude regarding to DRI is to wait for the XFree86 4 release, or some really close snapshot (which won't happen during the next 4 weeks) and use the time in between to catch up, improving that parts that are likely to stay and working on documentation. Really sure I am only of the Mesa lib. I use the 3.0 from the ports collection, but the 3.1 development version has seen many fixes lately, and I want to get it running badly. In conjunction with this I need some decent benchmark running too, like glperf. > A better solution for now is to use Marc van Woerkom's port to build the > TNT glx driver for XFree86 3.3.x. This works but isn't as fast as it > should be due to the limited architecture (compared to what will be in > 4.0). Thanks to Jordan's article in FreeBSD'zine, I was able to get the glx driver released by nvidia running on a RIVA 128 card with XFree86 3.3.3.1 ftp://ftp1.detonator.nvidia.com/pub/drivers/english/riva-tnt-tnt2-vanta/linux/ I was so impressed that I put it into a port - for some reason it has never been committed to the ports tree, http://www.freebsd.org/cgi/query-pr.cgi?pr=12661 maybe because I was too sloppy with deinstallation and package building issues or none of the commiters wants to put in time until XFree86 4 shows up. When I dived deeper into the subject, I found out that this nvidia package was a snapshot from an openproject.net effort who took an older free implementation effort of GLX and the then released Matrox specs to create accelerated 3d for G200 cards. nvidia's David Schmenk took a certain glx project snapshot and added a simple driver for nvidia RIVA 128/ZX/TNT/TNT2 cards. This way nvidia's rivaglx-0.99 was born. Anyway, if you want that FreeBSD port, get it here: http://www.freebsd.org/~3d/distfiles/glx/XF3.3.3.1 This led to involvement in the glx and Mesa projects. I took a more recent snapshot from glx and adapted it to XFree86 3.3.4 that came out in the meanwhile. The snapshot is more complete than nvidia's and features Matrox G200/G400 support as well. Get this latest port here: http://www.freebsd.org/~3d/distfiles/glx/XF3.3.4 While this 3.3.4 port is more sane than the 3.3.3.1 and I got positive test reports from Matrox users plus it ran on my new TNT board, it didn't made it in the ports tree either. OK this time I didn't submit it. :) One of the various reasons was the release of XFree86 3.3.5, which is mostly a bug fixed 3.3.4. While I believe that the 3.3.4 glx.so should work together with 3.3.5 too, I had no time to test it sufficiently. Except for this test and the Mesa update, I should update glx to a newer version, now (after the project server disaster) as the tree looks sane again. But this could be wasted time, because the openprojects.net glx is expected to be replaced by a GLX from SGI! So the only bit of that project that iw likely to stay (if Precision Insight does not write their own) is the matrox and nvidia drivers. The nvidia driver is said to be not optimized yet. It would "just" require to understand nvidia's released specs https://www.nvidia.com/nv/nvarch.nsf/Home?OpenView to squeeze more performance out of it. While Matrox activity is considerable (including John Carmack happily hacking) nobody is presently working on improving the nvidia driver. Personally I would rather continue porting apps or go for something esoteric like Mesa NURBS trimming than that driver, before I not know what Precision Insight is up to. This brings me to the issue of porting. Every new nice app is a win. I am glad QDraw runs nicely under FreeBSD (rolling a port is on my list :) and am waiting eagerly what GEL will look like. Then we have Flight Gear and Space Racer, which need at least some testing with the latest stuff. While I got Myth2 running, I would love to have a foolproof guide about setting up the Quake games under FreeBSD with the latest glx. For glide we have this one: http://www.cybernet.com/~mtaylor/q3ahowto.html http://www.schrade.com/sanctum/freebsd/ and for aalib this one :) http://webpages.mr.net/bobz/ttyquake/ http://webpages.mr.net/bobz/ttyquake/ss/TTYQuakeConsole.html If that is not enough I got a mail from a GGI folks who complained that we have not ported this non-X Mesa to FreeBSD. > Why are you guys > not porting LibGGI, GGIMesa and KGI to xBSD? All the code is free, > unencumbered by the GPL (we changed our license specifically to make porting > to xBSD possible) and works well now. It is all designed from the ground up > to be cross-platform, and I just recently wrote a GLX-to-GGIMesa API bridge > which allows Quake III to run unmodified under XGGI. This is something I will definitley look into this weekend. There goes another one.. :) Because I think it is important to know a bit about the history of what happened -to make sense of all I started to write up a timeline doc with links - at work I keep a HTML version, but this isn't finished either. Probably this weekend. Here is what I got so far: ------ - GL - [~1990?] ------ Aside from various academic efforts for a 3d API (like GKS) and special solutions (like in the field of CAD/CAM) a de-facto standard was established by Silicon Graphics [1] and its GL Graphics Library plus its line of IRIS UNIX workstations that were equiped with special hardware for fast GL rendering ("the more bucks, the more GL functionality cast into silicon"). Today it is rather refered as IRIS GL to set it apart from OpenGL. ---------- - OpenGL - [1992] ---------- In 1992 SGI opened up GL by releasing OpenGL [2] and moving control to the ARB [3] which present members are 3Dlabs, Compaq/Digital Equipment, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Intergraph, Microsoft, Nvidia and SGI. Note that GL and OpenGL differ slightly [4,5]. -------- - Mesa - [Feb 1995] -------- In 1995 Brian Paul [6] started work on the Mesa library. To cite [7]: "Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL. To the extent that Mesa utilizes the OpenGL command syntax or state machine, it is being used with authorization from Silicon Graphics, Inc(SGI)." ----------- - GLQuake - [1997?] ----------- After starting the 3d shooter game genre (and PC 3d craze in general) with the technical brilliant (while ethical questionable) Wolfenstein 3d and topping it with titles like Doom, Doom II and Quake, id Software [8] created an OpenGL version of Quake, helping enourmously to fight Microsofts proprietary DirectX 3d API [9] from overtaking the PC market. --------- - Glide - [March 1998] --------- The first big step towards accelerated 3d for the free UNIX systems has been taken by 3dfx [10] who released the specs [9] to their Glide API for their Voodoo series of 3d only cards. This led to a glide version of Mesa and finally a playable glquake [11, 12]. -------------------- - Open GLX efforts - [Mid 1998] -------------------- According to the XFree86 3D Status Report [13], efforts for an free implementation of GLX (the glue between OpenGL and the X windows system) started in 1998 with Steve Parker [14], then Henry Worth, Simon Pogarcic [15] and Terence Ripperda [16]. In February the open glx project starts. [17] ---------- - Matrox - [March 1999] ---------- The second big card maker, Matrox [18], released [19] specs to their G200 cards. ---------- - nvidia - [June 1999] ---------- Third of the big graphics board makers, nvidia releases an open source driver for the glx project. Around the same time they provide specs. (..) References [1] sgi http://www.sgi.com [2] OpenGL Architecture Review Board (ARB) http://www.sgi.com/software/opengl/faq.html#15 [3] OpenGL Architecture http://www.opengl.org/About/Architecture.html [4] OpenGL History http://www.sgi.com/software/opengl/glandx/intro/subsection3_1_2.html [5] OpenGL versus IRIS GL http://trant.sgi.com/opengl/docs/white_papers/ogl_vs_igl.html [6] Precision Insight Team (Brian Paul, http://www.precisioninsight.com/our_team.html [7] Mesa 3d Site http://www.mesa3d.org/#Introduction [8] id Software http://www.idsoftware.com/ [9] Microsoft DirectX http://www.microsoft.com/directx/ [10] 3dfx Interactive http://www.3dfx.com/ [11] 3Dfx Support Status http://glide.xxedgexx.com/status.html [12] The Mesa Voodoo GLQuake home page http://www-hmw.caribel.pisa.it/fxmesa/fxquake.html [13] XFree86 3D Status Report (cf GLX and XFree86) http://www.dpmms.cam.ac.uk/~werdna/XFree86-3D-status.html [14] The as-yet-unnamed implementation of the GLX protocol http://www.cs.utah.edu/~sparker/xfree86-3d/ [15] Simon Pogarcic http://www.suse.de/~sim/ [16] GLX Acceleration for XFree86 and Linux http://reality.sgi.com/ripperda_engr/glx/old_news.html3 [17] Open GLX Project http://glx.on.openprojects.net/ [18] Matrox http://www.matrox.com [19] Linux 3d News http://www.linux3d.org/news.html Good night! Marc P.S. I got the OpenGL green book and the brandnew 1.2 red book in my mail - excellent stuff! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909100024.CAA02216>