DRI2
Andra generationens direktrendering under X, där varje fönster fick egna buffertar och 3D-program äntligen fungerade ihop med komponerande fönsterhanterare.
Ursprungliga DRI delade en enda bakre buffert för hela skärmen och lät program rita rakt in i den under ett gemensamt lås. Det gick inte ihop med Compiz och liknande, som ville ha varje fönster som en egen bild. Kristian Høgsberg på Red Hat ritade om protokollet 2008, och det kom med X-servern 1.6 året därpå. Nu allokerade servern privata buffertar per fönster, klienten bad om dem med DRI2GetBuffers och lämnade tillbaka bilden med DRI2SwapBuffers. Låset försvann.
Buffertarna identifierades med GEM:s globala namn, 32-bitars tal som vilken process som helst med åtkomst till grafikenheten kunde gissa sig fram till och öppna. Varje storleksändring krävde dessutom en rundresa till servern. Båda problemen löstes av DRI3.