1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems

Facebook RSS Twitter Twitter Google Plus

Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

X.Org GSoC 2010 With KMS, Cairo, Etc. What Was Done?


Published on 11 November 2010 01:12 PM EST
Written by Michael Larabel in X.Org

Two days ago there were some ATI R300 GLSL compiler optimizations made to the open-source Radeon driver stack by Tom Stellar as part of his Google Summer of Code project as a student developer to improve the R300 GLSL compiler support. This code is still living in a branch outside of Mesa, but some progress has been made. Though the R300 GLSL compiler optimization work was just one of five projects that were part of the 2010 Google Summer of Code for X.Org. Here's a few words on the other student projects.

While most of the X.Org GSoC 2010 projects are centered around graphics (and that's where our interest happens to be too), one of the input-related projects was improving input within XCB (the X-protocol C-language Bindings) by Christoph Reimann. Christoph wanted to add XKB protocol bindings and other utility functions to XCB via the XML protocol description and writing a Python code generator. Unfortunately, this work hasn't made its way into any mainline code-bases for X.Org and the code appears to have not been touched in around three months.

The last XCB mailing list message we found by Reimann was in August when getting ready to test new libxcb and xcb-proto code that seemed to be working at least somewhat for XKB access via XCB. There wasn't much of a discussion that ensued from that announcement and the code hasn't really been touched since then. His Google Summer of Code work can be found in this xcb_proto branch and in this libxcb branch. The last code commits made were from mid-August and we haven't been able to find any activity since that point.

Another one of the 2010 projects for X.Org was creating a Cairo Gallium3D state tracker. This state tracker by Igor Trindade Oliveira would accelerate Cairo operations directly atop the Gallium3D driver architecture rather than needing to use Cairo with a DRM or OpenGL back-end (among others) that in turn would be indirectly communicating with the graphics hardware. Igor wrote a few times on his blog about progress on the Cairo state tracker with the last update being in August. The Cairo state tracker is working atop Gallium3D for some operations and there is Git code available. This code, however, has not been touched since the end of August and there's no sign of it going into the mainline code-base anytime soon.

Lucas Ferreira, another student developer, took a different look at things by trying to use upstream software components to create a fully plug-and-play USB multi-seat solution on the X.Org Server. On his blog are a few posts about creating a setup with Plug-able Dock Stations, GDM, ConsoleKit, and X.Org Server 1.8 using Ubuntu 10.04 LTS. For this, many components from Git need to be pulled manually and the upstream code isn't quite yet ready to make such USB multi-seat solutions an "out of the box" process. The last blog post on the matter was in late July.

One of the other graphics projects this summer was creating a kernel mode-setting driver for the Permedia 3/4 graphics processor and then writing documentation for others to utilize on how to write a KMS-enabled Linux kernel driver. The Permedia GPU came out from 3Dlabs as the first low-cost OpenGL GPU more than a decade ago. The goal wasn't to make the KMS driver itself useful seeing as there aren't many 3Dlabs Permedia GPUs still around and being used, but more importantly to produce some clear and proper documentation for other developers so they can more easily create their own KMS driver for other graphics hardware. The last update we talked about with the KMS/DRM Glit driver was in June where the code was beginning to function but kernel memory management support had to be added. In Matt's personal Git repository is where this KMS driver continues to live and was last worked on in mid-August. Only a handful of commits were made since June when pushing out some initial work on the CRTC support, VGA connector, DAC encoder, and video memory initialization. A very basic TTM memory manager was added along with frame-buffer support to the Glint driver. There, however, appears to be no recent activity on this KMS driver or in producing the KMS driver documentation (we haven't found any yet) nor does the DRM Glint driver appear ready for any upstream integration in the Linux kernel.

Like in past years, the X.Org Foundation should eventually issue a report on whether the Google Summer of Code involvement was once again successful. At future X.Org Developer Summits there will also hopefully be greater involvement by these student developers. As part of my XDS Chicago proposal, I suggested getting the GSoC developers actually involved with XDS. "On a separate but related matter, another suggestion I would like to make – that others have expressed would be a good idea as well – is better inviting active X.Org Google Summer of Code developers to participate in future events. As far as I know, it's currently not part of the standard procedure to pursue these Google Summer of Code developers to attend the X.Org event to talk about their progress or work completed. The X.Org Foundation has expressed there are funds available for sponsoring a greater number of developers to attend these events and inviting these active Google Summer of Code developers to attend could result in a more vibrant selection of talks during such events with the Google Summer of Code projects often focusing upon experimental areas and other topics not generally covered by normal discussions. While these student developers already have a vested interest in successfully completing their work due to the financial incentive from Google, if active Google Summer of Code developers were at these events they may be further motivated to work on their projects and could benefit from the knowledge learned via in-person discussions. It could potentially lead to greater motivation by these student developers to participate further in X.Org upon their formal completion with Google Summer of Code thereby expanding the X.Org development community." Perhaps then we can possibly see more student developers interested in continuing to contribute and finish their work past August.
Update: There's now more information in our forums.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux News
  1. NVIDIA's Proprietary Driver Is Moving Closer With Kernel Mode-Setting
  2. The Latest Linux Kernel Git Code Fixes The EXT4 RAID0 Corruption Problem
  3. Features Added To Mesa 10.6 For Open-Source GPU Drivers
  4. Ubuntu's LXD vs. KVM For The Linux Cloud
  5. Fedora Server 22 Benchmarks With XFS & The Linux 4.0 Kernel
  6. GCC 6 Gets Support For The IBM z13 Mainframe Server
  7. Fedora 22 Is Being Released Next Tuesday
  8. OpenWRT 15.05 Preparing Improved Security & Better Networking
  9. Using The New LLVM/Clang OpenMP Support
  10. Zapcc Claims To Be A "Much Faster C++ Compiler"
Latest Articles & Reviews
  1. Btrfs RAID 0/1 Benchmarks On The Linux 4.1 Kernel
  2. The State Of Various Firefox Features
  3. Intel Iris Graphics Performance With Mesa 10.6
  4. Fedora Workstation 22 Is Looking Great, Running Fantastic
Most Viewed News This Week
  1. The Linux 4.0 Kernel Currently Has An EXT4 Corruption Issue
  2. The Linux 4.0 EXT4 RAID Corruption Bug Has Been Uncovered
  3. AMDGPU Open-Source Driver Code Continues Maturing
  4. Microsoft Open-Sources The Windows Communication Foundation
  5. Another HTTPS Vulnerability Rattles The Internet
  6. LibreOffice 5.0 Open-Source Office Suite Has Been Branched
  7. Systemd 220 Has Finally Been Released
  8. Will Ubuntu Linux Hit 200 Million Users This Year?