Yup! I pulled the code for this out of GIT just last night. Kind of unstable, though, as Compiz instantly freezes everything. Xfce4's compositor still works.
Phoronix: Intel Driver Gets DRI2, KMS Approaching
Times are already exciting within the X.Org development community thanks to the Graphics Execution Manager entering Linux 2.6.28 and the release of X Server 1.6 quickly approaching, but still there's more good news to report this week. The Direct Rendering Infrastructure 2 support has entered the mainline xf86-video-intel driver and DRM mode-setting (commonly referred to as kernel mode-setting) has appeared in the drm-intel-next branch. Intel's driver has worked with DRI2 already, but now it's finally entering their mainline tree to appear in Intel's next driver release (xf86-video-intel 2.6)...
Wow, that is great!
January will be a fantastic month with GEM in 2.6.28, Xserver 1.6, Intel 2.6 and KDE 4.2!
The dri2 introduction will improve the 3d performances of intel and ati drivers?
Thanks for the news Phoronix. Don't think I don't think you guys do a good job.
Probably not right away. The X/Kernel hackers are going to concentrate more on getting it stable and such before they worry about performance issues too much... but what it is is a huge step in the right direction.The dri2 introduction will improve the 3d performances of intel and ati drivers?
All of this is essentially taking the X/Linux driver model and dragging it out of the mid-1990's era technology and into something that is much more capable and modern. A big change.
This means that it opens up the way for stable composited desktops, nicer graphical experiences, support for programmable shaders, and better video acceleration.
GEM is what will increase the performance of the drivers.
does gallium3d use dri2? otherwise asked: if we ever have gallium3d, do we still need dri2 or is it obsolete by this date? (don't get it :/ )
Finally we will have the graphics subsystem that we were supposed to have, only a year later than originally planned. Hopefully everything will be in place when 2.6.29 lands, whenever that will be.
It's kind of sad that Windows Vista has had this ability since it launched.
Well as you probably know the OpenGL acceleration for Linux is provided by 2 sets of drivers. There is a userspace part and then a kernel part.
The userspace part is the DRI driver.
The kernel part is the DRM driver.
The DRI drivers talk to the kernel DRM driver using the DRI protocol.
Originally DRI rendered OpenGL acceleration directly to the video card's video RAM. Which is why it's ugly on composited desktops.
So DRI2 was made to match the requirements of new hardware. It also renders graphics to offscreen buffers which then can be incorporated into your desktop via compositing, which makes everything much nicer looking.
In order to get DRI2 working more effectively we need advanced memory management facilities. That's what GEM gives us. GEM is part of DRM.
Also in order to get DRI2 working a new DRI2 interface with DRM was created.
Soo.... How does Gallium come into it?
Well a DRI-style driver is very complicated. It provides a lot of functionality, but only a small part of the functionality is really hardware-specific.
So Gallium is a modular DRI2 driver. It communicates with the in-kernel DRM via the DRI2 protocol and it tries to divide up the hardware-specific portions from the OpenGL stuff. The hardware-specific part is called 'Winsys' (I think).
By doing this then Gallium can be used to accelerate lots of different APIs instead of OpenGL. OpenCL... OpenRT... video playback acceleration. etc etc.
Last edited by drag; 12-07-2008 at 05:20 AM.