Big Game Hunt: Can 3D Graphics Give Linux An Edge On The Desktop?
Developers say support for the latest 3D graphics cards -- and for the games that use them -- could give desktop Linux a much-needed boost. Are graphics hardware vendors ready to step up and make it happen?
Developers are more upbeat about NVIDIA's contributions to the Linux developer community. Besides the company's regular Linux driver development efforts, it has initiated several other noteworthy open-souce graphics projects.
-- An open-source Linux installer, designed to take the guesswork out of building the correct drivers to support its graphics chipsets. During installation, it checks for the latest drivers, based on the kernel version that is to be installed.
-- A Linux version of its NVIDIA Scene Graph (NVSG) SDK, an object-oriented library for creating scene graph-based applications. Developers can combine and extend the classes provided with the NVSG SDK to create Linux graphics applications.
-- Its own version of the Cg Toolkit , which allows developers to create applications using Cg, a high-level graphics programming language.
Developers with both NVIDIA and ATI say writing Linux drivers is not difficult, in terms of technical challenges. The real problem, they say, is keeping up with the rapid pace of Linux development; kernel changes, for example, happen more frequently for Linux than for most other operating systems.
"Additionally, issues with backwards compatibility of the kernel can occasionally present a challenge," Tippett said. "Some compatibility issues are simple to resolve, while others take more time, which can impact our ability to respond as quickly as we'd like."
In The Driver's Seat
Keeping up with the pace of Linux development is not a challenge just for companies that make 3D graphics hardware; the programmers creating 3D graphics applications face the same issue.
"Linux is much more problematic than Windows for the equivalent number of users, simply because of the sheer number of variations. You often have to get people to check a lot of disparate library versions and settings to resolve issues, much more so than you do on Windows," Streeting said.
To remedy this, NVIDIA devised the Unified Driver Architecture. The UDA defines a framework for creating cross-platform, universally compatible code that simplifies the process of creating drivers for a particular platform. Thanks to UDA, for example, NVIDIA was able to release the Linux and Windows drivers for its GeForce 7800 GTX graphics card on the same day.
"UDA has become integral to our software advantage, and it continues to make our supporting Linux easier," says Andrew Fear, software product manager for NVIDIA.
Although the UDA clearly has worked well for NVIDIA, Fear also offered a suggestion for the Linux kernel development process, which he said would help NVIDIA improve its Linux support even more.
"I think figuring out how to standardize the kernel release process, and let [hardware vendors] get code in place to support new features in future kernels, is something, as an industry, we need to get better at," Fear stated. "Having time to develop features and get code ready will make deployment of new kernels even better when end users upgrade their software."
Tippet said ATI would also like to have more advance notice of kernel changes that might create compatibility problems. "An extension of the new 'deprecated' advisements would allow us to better plan resources and capacity to address these changes," he stated.
Speaking from a developer's point of view, Streeting said he would like both NVIDIA and ATI to coordinate their driver releases across platforms, so that the same bug fixes and issues appear at once. "Generally, keeping up with the GL EXT and ARB extensions is good, too," he suggested. "Finally, make drivers easy to install. Too many manual steps mean complications when people get them wrong."
Streeting concurs: "It's still far more work to get a Linux gaming machine up and running. There are more caveats in terms of hardware support and drivers than there are on Windows."
Remember, when it comes to 3D graphics cards, the main draw for buying and using them still lies with the games: "Games are an important area, and for most games, 3D cards are essential," says Tyberghein.
About the Author
You May Also Like