Utah GLX
Der erste Versuch, XFree86 hardwarebeschleunigtes OpenGL zu verschaffen, um 1999, bei dem jeder Zeichenaufruf über den X-Server lief – und binnen eines Jahres durch DRI überflüssig gemacht.
Vor 2000 gab es im freien X keine 3D-Beschleunigung. Mesa rendete in Software, und wer mehr wollte, kaufte einen kommerziellen X-Server. Utah GLX, benannt nach der University of Utah, wo die ersten Teile entstanden, füllte die Lücke, indem es in XFree86 3.3 ein GLX-Modul lud, das OpenGL-Aufrufe an die Karte weiterreichte. Das Rendering war deshalb stets indirekt: Jeder Aufruf ging von der Anwendung über das X-Protokoll zum Server, der die Hardware ansteuerte und dabei Mesa als Grundlage nutzte. Treiber gab es für Matrox G200 und G400, ATI Rage Pro, Intel i810, S3 ViRGE und NVIDIA Riva, letzteren auf Code, den NVIDIA selbst beisteuerte, bevor die Firma zu geschlossenen Treibern wechselte.
Das Modell hatte eine Decke. Alles durch den Server zu kopieren kostete CPU und Busbandbreite, und schnelle Spiele merkten das. Precision Insight setzte stattdessen auf direktes Rendering: Der Client spricht über ein Kernelmodul selbst mit der Karte, und der Server hält nur fest, wer gerade dran ist. Das wurde DRI, ausgeliefert mit XFree86 4.0 im März 2000, und Utah GLX wurde kurz darauf still. Mehrere seiner Treiber, darunter Matrox, schafften den Umzug.