Mesa Could Fork Older "Classic" Display Drivers Out To A Separate "Mesa Classic-LTS" Branch
Dylan Baker, release-manager for the Mesa graphics stack used by all the GNU/Linux distributions, is proposing to rid the Mesa of older "classic" display drivers by moving them to a separate "classic-lts" branch. Users of integrated Intel graphics provided by chips prior to Broadwell would have to switch to the new "classic-lts" graphics library to keep their computers working if Mesa goes forward with Bakers proposal.
The modern OpenGL graphics drives in the Mesa graphics stack all use the newer Gallium3D architecture beneath the hood. The Intel Iris, Nouveau and AMD RadeonSI OpenGL are all based on that architecture. Then there's the older drivers that don't. Those would be the i915 and i965 drivers for Intel and the r100 and r200 drivers for AMD, or, more accurately, ATI.
The r100-series hardware, marketed as Radeon 7000-7500, was launched in April 2000. The r200-series hardware, marketed as Radeon 8500-9100, was launched between 2001 and 2004. Notice that there is no "RX" or other letters in between "Radeon" and the model numbers. AMD had not yet bought ATI when the r100 and r200 hardware was launched (AMD acquired ATI in 2006). Moving support for chips from 2000-2004 out of the Mesa tree will probably not affect that many.
The story on the Intel side is a bit different. The modern Intel Iris graphics driver can only be used with Broadwell-series hardware or newer. The Intel Haswell was launched in 2013. The integrated graphics hardware on those chips can only be used with the "classic" i965 OpenGL driver. Many people still use Haswell, and even older chips, today. I have a family-member who uses one. That person does not use GNU/Linux, or free software in general, so that persons life would not be affected if Mesa removes support for Haswell-era hardware from the from the main branch. People who do use free software operating systems would have to either switch to the proposed new "classic-lts" Mesa branch or a proprietary operating system like Microsoft Windows.
Switching to a "classic-lts" Mesa branch may not be that difficult for those who would need to do so - depending on what GNU/Linux distributions decide to do. The "GL Vendor-Neutral Dispatch library" (
libglvnd) makes it possible to have several OpenGL libraries installed side-by-side. Distributions could simply ship both the modern Mesa branch and the classic-lts and none of the affected users would notice that their machine happens to be one using "classic-lts".
Moving the older "classic" drivers out of Mesa would make it easier to maintain the newer drivers without a real risk of unintentionally breaking the older drivers.
"From engineering standpoint, there is a decent reason to split out classic drivers.. in that it reduces the chance of them getting broken (especially for hardware that we don't have in CI).
We currently have a lot of older drivers in tree that are effected but not tested by changes in core mesa. That is not a great situation in terms of keeping things working for older hardware.
See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9220 as an example of classic drivers being broken for roughly three months with no one noticing. This is exactly the sort of problem that forking off an lts branch would solve
It would be nice to be able to refactor/optimize/etc without breaking things that we only find out about a long time later when users upgrade to newer version."
The code for the existing drivers will not disappear if the classic Mesa graphics drivers are moved into their own library.
"The whole point of forking drivers off is to keep the old drivers working.
The code isn't going anywhere. The kernel will continue supporting them."
The drivers in the proposed "classic-lts" branch would only receive "build and critical bug fixes", they would not be actively developed. That is not as bad as it sounds, there is a limit to how much development you need to do on a mature driver for 8+ years old hardware. Ensuring that it builds with newer versions of commonly used compilers may be enough.
There is a slightly disgusting part of the behind-the-scenes discussion around a possible removal of "classic" drivers from Mesa that I feel compelled to mention: a wealthy well-off Western-based developer working for the chipzilla in the US is oddly insistent that everyone not using brand new modern hardware is doing so "voluntarily". A mother who forgoes dinner so she can let her children eat does not do so voluntarily, and she is not going to run out and buy expensive new computer hardware if the hardware she has works.
"At some point, if you refuse to buy new HW, you're going to have to stop upgrading your SW."
"then you harm people not having the money"
"$5 in the US is very little. some people spend that on coffee. in other places, it might be a week's earnings."
"Not all live in fancy homes in the US having shit tons of money"
"I still don't buy the $$ argument. It's all well and good in theory, but I don't see the evidence."
The chipzilla developers "It is your fault that you are poor, if you refuse to be rich enough to buy new hardware then that's your problem" attitude is a somewhat disturbing. Most people are not paid Software Engineer salaries, and they do not live in an oil-rich state in the US. It is quite likely that this chipzilla employee would be able to see the class struggle from his fancy penthouse on a clear day - if he could only be bothered to take a look down at the common people through his three-glass windows.
The "classic" Mesa drivers would be removed from git master once Mesa 21.1 is released if the other Mesa developers give Dylan Bakers proposal the go-ahead. It is not a given that this will happen, it is so far only a proposal on the mesa-dev mailing list.