If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

The Challenge In Delivering Open-Source GPU Drivers

Phoronix: The Challenge In Delivering Open-Source GPU Drivers

As illustrated today by the release of Intel's "Sandy Bridge" CPUs there is a new desire by Linux users: open-source drivers "out of the box" at launch. Over the years the expectations of Linux users have gone from simply wanting Linux drivers for their hardware to wanting open-source Linux drivers (read: no binary blobs) to now wanting open-source drivers in the distribution of their choice at the time the hardware first ships. This is a great problem to now be experiencing, as since starting Phoronix seven years ago, the Linux hardware experience has improved a great deal where it's no longer a question if there will be Linux support but when. Some hardware vendors, such as Intel, are now working towards this goal of same-day open-source Linux support -- and in some cases achieving it -- but for open-source Linux drivers for graphics it's a particularly tall hurdle to jump...

Just managing to get a usable 2D experience working with sandybridge out of the box on 10.10 before the package freezes was a pain in the butt, try out other distro livecd's if you want even more fun. 3D support won't be in natty for another 2-3 weeks or so when mesa 7.10 is pulled in. You can use xorg-edgers but compiz still doesn't work on sandybridge with git mesa here as of last week.

If the Linux desktop is to ever go truly mainstream, there will need to be "out of the box" support in modern Linux distributions or at least a sane way to update the driver stack without the risk of hosing your entire Linux installation or forcing the distribution vendors to make choices that could have negative consequences on other users.

Out of the box support is highly unlikely. You have to lead the release of the hardware by an absolute minimum of 6 months. More likely closer to a year. And that's of course ignoring the LTS distros that don't update their kernels or drivers for years at a time.

A stable API would be much more useful. A stable ABI isn't so necessary, at least for FOSS drivers. Something like DKMS is more than sufficient; recompile the driver is the kernel is updated. Not super ideal, but it works. If installation CDs have a compiler on them and the system has enough temporary memory, it means you can even get a driver installed via USB stick or somesuch when your SCSI/RAID/SATA controller is missing the driver it needs to install. A stable API is sufficient to ensure that the user can grab a driver and install it on recent Linux distributions.

A stable ABI would be most user-friendly, but is literally never ever going to happen. The Linux developers actively despise making users' life easy because it requires them to spend more than 2 seconds thinking about their kernel interfaces.

I don't think anyone would complain if a basic driver was available to them through their distribution. A plain driver which at least has 2D support and preferably supports an enhanced 3D desktop environment (compiz). Most users (especially MS Windows converts) believes that 'true' graphics performance is gained by installing an additional package (blob).

Anyway, without OpenGL 3+ support, no open source driver will be able to meet the demand for a fully featured driver no matter when or how they are distributed.

I think a good compromise would be if intel provided some backports for the most used distros -- using a tool like the openSUSE build service, that despite the name you can build for ubuntu, fedora, etc.