Earlier this month we started once again our annual Linux Graphics Survey in which we poll our readers about their choices and opinions concerning graphics cards, display drivers, and other graphics / X.Org related features of the Linux desktop. While this survey is still going on through the end of September -- so you still have time to participate -- here are the results from the first 6,300 people to submit their responses. We are publishing the results so far since there is the X Developers' Summit this week in Toulouse and some of these findings may prove to be useful during those discussions.
When finding out what technologies the users are most interested in between KMS, Gallium3D, 3D performance, video acceleration, 2D performance, and power management, the most populous response was the same as last year: video acceleration. Though with nearly as much interest as video acceleration is improved 3D performance for the Linux drivers. These top two choices are not a surprise at all considering the overall Linux video acceleration state could benefit from lots of love and attention and in terms of 3D performance the open-source driver performance with Mesa/Gallium3D is in shambles compared to the proprietary drivers from AMD/NVIDIA.
In terms of video acceleration on Linux, if you are using a recent NVIDIA Quadro/GeForce graphics card with their proprietary driver you are all set with VDPAU as it's a great API, implemented very well within their driver for using the PureVideo HD engine, and can even allow HD video playback with very cheap hardware. VDPAU is supported by nearly all Linux multi-media applications and for those applications that do not yet implement the Video Decode & Presentation API for Unix, there is a VA-API front-end to handle the rest. NVIDIA's video acceleration for Linux is great with their proprietary driver, but for anything else, there's a lot left to be desired. Even with AMD and their Radeon graphics cards with the Unified Video Decoder 2, it is limited on the software side as AMD only exposes this UVD2 engine via their proprietary XvBA API. X-Video Bitstream Acceleration is not publicly documented and only exposed via a VA-API front-end, but there are bugs within the Catalyst Linux driver that often bar it from working right.
However, at least AMD's proprietary driver attempts to offer some level of video acceleration. With open-source graphics drivers there really is not much besides Intel recently adding H.264 VA-API support to their driver when used with a new Arrandale / Clarkdale CPU. This should work fine for open-source Intel users assuming you have the very latest code, but if you have any slightly older Intel IGPs there is no video acceleration besides X-Video (Xv) and X-Video Motion Compensation (XvMC) that are both of limited benefit to the needs of today. Within the open-source Nouveau driver for NVIDIA hardware there have been attempts to do generic GPU video decoding in Gallium3D using shaders, but that has not gained much attraction or materialized much since its work in the summer of 2008. On the open-source ATI side right now, there is just the usual X-Video, but nothing yet viable for accelerating VDPAU or VA-API.
While the proprietary AMD/NVIDIA drivers are rather fast today and run at the same speed or better than Windows and much faster than Mac OS X, the Mesa drivers are still slow and even Gallium3D is not yet at a performance parity to the proprietary ATI driver. Even with the Intel Linux 3D driver that is the total focus of Intel's open-source Linux team, the performance is horrific compared to the Intel Windows driver. Though do not expect the performance to improve by a lot in the near-term as the Mesa developers are still battling to even support OpenGL 3.0 and other core features that are likely to come before any optimization work.
The third most interested technology for the Linux video drivers is power management, which also is not much of a surprise considering the number of mobile Linux users today. Fortunately, not only are the proprietary drivers good with GPU power management today, but the open-source drivers are becoming increasingly power efficient too. The latest ATI/AMD and Intel kernel mode-setting code has a variety of power savings options, but the only driver not receiving much power management love yet is Nouveau.