
Originally Posted by
bridgman
I think we already have this covered in principle; the installer package includes open source scripts, different for each distro, maintained by people from the individual distros. During installation, the kernel dependent portions of the driver are compiled using the kernel header files on the user's system.
There are a number of distros which don't use standard kernel versions, and it's not unusual for a distro to ship kernel code which won't be upstream for another 3-6 months. Fedora is going through a phase like that right now.
I agree completely that increased standardization between distros would help in a number of areas, but I don't think the lack of standardization today is due to a lack of suitable standards. The developers and distros *want* change and *want* the ability to be different since that lets them deliver what they feel is the best experience for their specific user base. The kernel API changes frequently, not because the kernel devs don't know how to manage a stable API but because they made a deliberate decision to choose faster evolution over API stability. I believe there is agreement that application-level API stability is important but I don't think the same holds for driver-level stability.
In cases where a stable API is required there are enterprise/LTS distros available which *do* keep a standard kernel and xorg version for several years, backporting changes as needed to support their customers. These enterprise distros are the primary ones used in the professional workstation market, and that's where we have historically focused fglrx support as well.
There are some architectural changes in the works which will help the situation for Linux and open source drivers, specifically the movement of modesetting and memory management out of xorg and into the kernel driver (drm). This will allow the core graphics functions to evolve in lockstep with the kernel, which is good for bleeding edge distros but introduces new challenges for enterprise/LTS distros. This will also pose a challenge for other OSes which use X but do not use the Linux kernel, such as *BSD and Solaris.