Talk:Direct Rendering Infrastructure

Not always kernel modules for DRM
For example on OpenBSD, there are no kernel modules, but there is DRI via some DRM compiled into the kernel: http://undeadly.org/cgi?action=article&sid=20081029164221 85.177.255.57 (talk) 14:35, 1 January 2009 (UTC)

How widely supported?
Are there video cards made at this point which are not supported by DRI under Linux? —Darxus (talk) 17:52, 14 November 2010 (UTC)

DRI is not a linux kernel feature
Recently the article was added to the "Linux kernel features" category. Well, that is wrong. DRI is not in kernel space, Direct Rendering Manager is. DRI is the infrastructure --the glue-- between X Window, Mesa, and the 3D drivers, and lives in user space. DRM refers to the part of the drivers that lives in kernel space. --JavierCantero (talk) 15:04, 24 March 2014 (UTC)

DRI is a interface of the X Server, not a "Interface of the Linux kernel". The DRI code lives in user space, in the internals of X Server (see http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/dri http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/dri2 and http://cgit.freedesktop.org/xorg/xserver/tree/dri3) and in Mesa, and is written by Keith Packard and other X devs, not by kernel developers. So please, stop associating it with the kernel. --JavierCantero (talk) 09:51, 16 April 2014 (UTC)

DRI verses Gallium3D
This page and the Gallium3D page and the Mesa page all fail to say what the story is between these two driver api models. Questions I cannot answer from reading the text:

Which one is newer? There are not enough dates on DRI article to figure this out.

Which one is better? (Or a list of trade-offs)

If Mesa was rewritten from scratch and only one of them could be used, and only present-day hardware was to be supported, which api would be used?

The Mesa software renderer in in effect one of these, right? Is it DRI or Gallium3D?

My guess is that Gallium3D is the newer one, but clarifying this would help a lot. Spitzak (talk) 17:06, 13 May 2016 (UTC)
 * That's mainly a fault of the Gallium3D page. Gallium3D is a new architecture for writing Mesa drivers, so it's a internal matter of Mesa not directly related to the DRI architecture (which works the same way with an old Mesa "native" driver or with a new Gallium3D one). That should be clear after reading the Mesa and Gallium3D pages (which by the way should be merged into one page) --JavierCantero (talk) 15:12, 18 May 2016 (UTC)


 * The Mesa page still talks about "DRI" and "Gallium3D" as alternative driver models. You seem to be saying that "DRI" is the OpenGL api. Are there perhaps 2 things called "DRI"?Spitzak (talk) 01:05, 19 May 2016 (UTC)


 * The Mesa page is wrong, it's mixing concepts. See for example this for a better explanation. About DRI: it's the technology that binds the direct rendering application and the X Server. DRI is sort of a "glue", distributed in several places including the client application, the X Server and even the kernel. DRI is not "the OpenGL API" but one of those pieces that form DRI is a driver (called the "DRI driver") that is wrapped to look like an OpenGL library to the client application using it (see what I've added to this article for a more detailed explanation). Mesa is where those "DRI drivers" live, but Mesa also implements OpenGL using other methods (like software rendering) that don't access to the hardware of a video card and therefore they are not DRI drivers. There are DRI drivers that are implemented using the Gallium3D architecture (such as nouveau and radeonSI) but there are also Gallium3D software rendered drivers such as swrast and llvmpipe. On the other hand there is the "classic" (not Gallium3D) intel DRI driver and the classic software rendering (non-DRI) implementation &mdash;the original one that Brian Paul wrote. In short, the concepts DRI/non-DRI and classic/Gallium3D are orthogonal. --JavierCantero (talk) 09:22, 19 May 2016 (UTC)
 * I've modified the Mesa (computer graphics) page, but maybe we should copy this conversation into Talk:Mesa (computer graphics) to show the reason for the change --JavierCantero (talk) 09:44, 19 May 2016 (UTC)

Modesetting DIX Display Driver
The current page incarnation ignores existence of the modesetting DIX display driver. The DIX is hardware independent, and has been around something like 8 or more years, initially available in xf86-video-modesetting package, which was later merged into xorg-x11-server to serve as the default display driver. It can be used in place of any supported DDX that has KMS support, which includes most non-ancient devices from AMD, Intel and NVidia, among others. Mrmazda (talk) 05:16, 31 August 2022 (UTC)


 * For inspiration: X.Org Server describes Glamor, the backend for modesetting's hardware independent DDX for translating Xorg render calls to OpenGL commands. -- CodingKoopa (talk) 18:19, 31 August 2022 (UTC)